There are multiple test cases in the input file.
Each test case starts with two integers, N and M ( 1 ≤ N ≤ 20), representing the number of bits and the number of functioning switches, respectively. Two integers, S and T ( 0 ≤ S,T < 2N), come in the next line, followed by another M lines, the ith one describing the value Vi associated to the ith switch ( 0 ≤ Vi < 2N).
Two successive test cases are separated by a blank line. A case with N = 0 and M = 0 indicates the end of the input file, and should not be processed by your program.