#include <iostream>
#include <vector>
int main(int argc, const char *argv[])
{
typedef bool element;
std::vector<element> data(40<<20);
volatile element cumul = data[0];
for (int j=0; j<1<<9; j++)
{
#pragma omp parallel for reduction (^: cumul)
for (int i=0; i<data.size(); i++)
cumul ^= data[i];
}
std::cout << cumul << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkKewogICAgdHlwZWRlZiBib29sIGVsZW1lbnQ7CiAgICBzdGQ6OnZlY3RvcjxlbGVtZW50PiBkYXRhKDQwPDwyMCk7CgogICAgdm9sYXRpbGUgZWxlbWVudCBjdW11bCA9IGRhdGFbMF07CgogICAgZm9yIChpbnQgaj0wOyBqPDE8PDk7IGorKykKICAgIHsKI3ByYWdtYSBvbXAgcGFyYWxsZWwgZm9yIHJlZHVjdGlvbiAoXjogY3VtdWwpCiAgICAgICAgZm9yIChpbnQgaT0wOyBpPGRhdGEuc2l6ZSgpOyBpKyspCiAgICAgICAgICAgIGN1bXVsIF49IGRhdGFbaV07CiAgICB9CgogICAgc3RkOjpjb3V0IDw8IGN1bXVsIDw8IHN0ZDo6ZW5kbDsKCiAgICByZXR1cm4gMDsKfQo=