비트 연산
시간 제한2초메모리 제한1024 MB
0과 1로 이루어진 배열에서 인접한 두 원소를 AND 또는 OR로 N-1번 합쳐 최종 값이 1이 되는 경우의 수를 998244353으로 나눈 나머지로 구합니다.
문제
길이가 인 정수 배열 가 주어진다. 배열의 원소는 또는 이다. 처음에 는 배열 와 같다. 다음 연산을 번 수행한다.
- 현재 의 길이를 이라 하자. 정수 ()를 고르고, 의 번째 원소와 번째 원소를 삭제한다. 삭제한 두 원소를 각각 , 라 하자. 삭제한 위치에 또는 중 하나를 삽입한다. 여기서 는 비트 AND, 는 비트 OR이다.
연산을 수행하는 방법은 가지이다. 최종적으로 값이 인 원소 하나만 남는 방법의 수를 세어라. 답은 으로 나눈 나머지를 구한다.
입력
첫째 줄에 정수 ()이 주어진다.
둘째 줄에 정수 ()이 주어진다.
출력
답을 출력한다.