비트셋
시간 제한3초메모리 제한2048 MB
행 s_l부터 s_r까지 각 열의 비트가 모두 같은 열의 수를 구합니다. 각 질의의 l과 r은 이전 답으로 정해집니다.
문제
크기가 인 비트셋에 대해 다음 연산을 정의합니다.
- : 와 가 모두 1이면 이고, 그렇지 않으면 입니다.
- : 와 중 하나라도 1이면 이고, 그렇지 않으면 입니다.
- : 와 중 정확히 하나만 1이면 이고, 그렇지 않으면 입니다.
- : 가 0이면 이고, 그렇지 않으면 입니다.
비트셋 배열 이 주어집니다. 다음 형태의 질의 개에 답하는 프로그램을 작성하세요.
- 정수 과 을 입력받습니다.
- 다음 식으로 비트셋 를 구합니다.
- 에서 1의 개수를 셉니다. 이 값이 질의의 답입니다.
입력
첫 줄에 정수 과 이 주어집니다 (; ). 다음 개의 줄은 각각 개의 문자 0과 1로 이루어진 비트셋을 나타냅니다.
다음 줄에는 질의 수 ()가 주어집니다. 그다음 줄에는 정수 , , ()가 주어집니다.
질의는 , , 와 이전 질의의 답 을 이용해 생성됩니다. 수열 와 는 다음과 같습니다.
- 입니다.
- 입니다.
- 일 때, 입니다.
- 일 때, 입니다.
번째 질의에서 , 입니다.
출력
모든 질의 답의 합을 정수 하나로 출력합니다.
힌트
질의 목록은 다음과 같습니다.