#include #include #define MAX (1LL<<13) // must be a power of 2 long long x[MAX]; // a(1) XOR ... XOR a(n) #define VMAX (MAX<<4) // must be a power of 2 // so that if x, y < VMAX then x XOR y < VMAX bool seen[VMAX]; long long unseen = 1; int main() { memset(x, 0, sizeof(x)); memset(seen, 0, sizeof(seen)); for (long long n=1; n