#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> table;
int myXOR(int a, int b)
{
return ((a|b)&(~a|~b));
}
void subset(vector<int>num, int i, int n)
{
if(i==n)
table.push_back(num);
for(int k=i;k<num.size();k++)
{
subset(num,i+1,n);
num.erase(num.begin()+i);
subset(num,i,n-1);
}
}
int main() {
// your code goes here
vector<int> num={3,4,5,6,7,8,11,2,3,4,6};
subset(num, 0,num.size());
//table.sort(table.begin(),table.end());
int sum=0;
for(int i=0,j;i<table.size()-1;i++)
{
if(table[i].size()==0)
continue;
if(table[i].size()==1)
{
sum+=table[i][0];
continue;
}
for(j=1;j<table[i].size();j++)
{
table[i][j]=myXOR(table[i][j],table[i][j-1]);
}
sum+=table[i][j-1];
}
cout<<sum;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2ZWN0b3I8dmVjdG9yPGludD4+IHRhYmxlOwogICAgIGludCBteVhPUihpbnQgYSwgaW50IGIpCiAgICB7CiAgICAgICAgCiAgICAgICAgcmV0dXJuICgoYXxiKSYofmF8fmIpKTsKICAgIH0Kdm9pZCBzdWJzZXQodmVjdG9yPGludD5udW0sIGludCBpLCBpbnQgbikKewoJaWYoaT09bikKCQl0YWJsZS5wdXNoX2JhY2sobnVtKTsKCQoJZm9yKGludCBrPWk7azxudW0uc2l6ZSgpO2srKykKCXsKCQlzdWJzZXQobnVtLGkrMSxuKTsKCQludW0uZXJhc2UobnVtLmJlZ2luKCkraSk7CgkJc3Vic2V0KG51bSxpLG4tMSk7CgkJCgl9Cn0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJdmVjdG9yPGludD4gbnVtPXszLDQsNSw2LDcsOCwxMSwyLDMsNCw2fTsKCQoJc3Vic2V0KG51bSwgMCxudW0uc2l6ZSgpKTsKCS8vdGFibGUuc29ydCh0YWJsZS5iZWdpbigpLHRhYmxlLmVuZCgpKTsKCWludCBzdW09MDsKCWZvcihpbnQgaT0wLGo7aTx0YWJsZS5zaXplKCktMTtpKyspCiAgICAgICAgewogICAgICAgICAgICBpZih0YWJsZVtpXS5zaXplKCk9PTApCiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgaWYodGFibGVbaV0uc2l6ZSgpPT0xKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdW0rPXRhYmxlW2ldWzBdOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yKGo9MTtqPHRhYmxlW2ldLnNpemUoKTtqKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRhYmxlW2ldW2pdPW15WE9SKHRhYmxlW2ldW2pdLHRhYmxlW2ldW2otMV0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHN1bSs9dGFibGVbaV1bai0xXTsKICAgICAgICB9CiAgICAgICAgY291dDw8c3VtOwogICAgICAgIAoJcmV0dXJuIDA7Cn0=