2^L개의 비트마스크마다 독성 값이 주어질 때, 일부 비트만 고정하고 나머지는 자유로운 질의 Q개에 대해 조건에 맞는 마스크들의 독성 합을 구한다.
보통7비트 연산누적 합동적 계획법수학아직 제출이 없습니다시간 제한2초메모리 제한64 MBJOI 연구소에는 독사가 2L마리 있다. 독사에는 0,1,…,2L−1의 번호가 붙어 있다. 각 독사는 머리부터 꼬리까지 L개의 부분으로 나뉘고, 각 부분의 색은 파란색 아니면 빨간색이다. 독사 i의 번호를 이진법으로 i=∑k=1Lck2L−k (0≤ck≤1)라고 쓰면,
각 독사에는 독성이라고 부르는 0 이상 9 이하의 정수가 하나씩 정해져 있다. 숫자 0부터 9까지로 이루어진 길이 2L의 문자열 S가 주어진다. S의 i번째 문자(1≤i≤2L)는 독사 i−1의 독성이다.
독사는 재빨라서 JOI 연구소를 자주 탈출한다. 연구소 근처에 사는 사람들은 탈출하는 독사를 목격하면 연구소에 민원을 넣는다.
Q일 동안 들어온 민원 목록이 주어진다. d번째 날(1≤d≤Q)의 민원은 문자 0, 1, ?로 이루어진 길이 L의 문자열 Td다.
모든 민원은 정확하다. 탈출한 독사는 모두 같은 날 연구소 직원이 붙잡았다. 같은 독사가 다른 날 다시 탈출할 수도 있다.
JOI 연구소의 소장인 K 교수는 독사 탈출의 위험도를 추정하려고, 날마다 탈출했을 가능성이 있는 독사의 독성 합을 알고 싶어 한다. 즉 d번째 날에는 Td의 조건과 모순되지 않는 모든 독사의 독성을 더한 값을 구해야 한다.
독사의 독성을 나타내는 문자열 S와 Q일 동안의 민원 목록이 주어질 때, 날마다 탈출했을 가능성이 있는 독사의 독성 합을 계산하는 프로그램을 작성하시오.
이 문제는 메모리 제한이 작다는 점에 주의하라.
표준 입력으로 다음 데이터를 읽는다.
표준 출력에 Q개의 줄을 출력한다. d번째 줄에는 d번째 날에 탈출했을 가능성이 있는 독사의 독성 합을 정수로 출력한다.