전구 게임
시간 제한1초메모리 제한128 MB
n개의 스위치 조합 중 서로 다른 m개를 골라 XOR 합이 정확히 앞의 v개 전구만 켜지게 하는 경우의 수를 10567201로 나눈 나머지로 구합니다.
문제
상근이는 전구 개와 스위치 개를 가지고 있다. 각 전구는 켜져 있거나 꺼져 있으며, 각 스위치는 하나의 전구에 연결되어 있다. 스위치를 누르면 그 전구의 상태가 반대로 바뀐다. 즉, 켜져 있는 전구의 스위치를 누르면 전구가 꺼지고, 꺼져 있으면 켜진다. 처음에는 모든 전구가 꺼져 있다. 상근이는 이 전구들로 하는 게임을 하나 만들었다.
한 턴은 스위치의 조합을 하나 고른 뒤 그 스위치들을 누르는 것이다. 스위치를 하나도 고르지 않는 경우도 가능한 조합이다. 번의 턴이 지난 뒤에는 처음 개의 전구가 켜져 있고 나머지는 모두 꺼져 있어야 한다. 이 게임에는 제약이 하나 있는데, 같은 조합을 두 번 이상 사용할 수 없다.
이 게임은 매우 쉬워서 이기는 방법이 아주 많다. 상근이는 이기는 방법을 모두 찾으려 한다. 이기는 방법이 모두 몇 가지인지 구하는 프로그램을 작성하시오.
이기는 두 방법 와 에 대해, 의 턴 순서를 적절히 바꾸어 를 만들 수 있다면 두 방법은 같은 방법이다.
예를 들어 , , 인 경우, 첫 턴에 1, 2, 4를, 둘째 턴에 1, 3을, 셋째 턴에 1, 3, 4를 누르면 게임을 이길 수 있다. 이 방법은 첫 턴에 1, 3을, 둘째 턴에 1, 2, 4를, 셋째 턴에 1, 3, 4를 누르는 방법과 같은 방법이다.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있으며, 그 수는 500개를 넘지 않는다. 각 테스트 케이스는 한 줄로 이루어지고, (), (), ()이 주어진다. 마지막 줄에는 0 0 0이 주어진다.
출력
각 테스트 케이스에 대해, 게임을 이기는 방법의 수를 로 나눈 나머지를 출력한다.