#include #include int main() { const int inf = -INT_MAX; int n; int arr[5010] = {}; int f[100000] = {}; scanf("%d", &n); int i, j; for (i = 0; i < n; i++) { scanf("%d", &arr[i]); } for (i = 0; i < 100000; i++) { f[i] = inf; } f[0] = 0; for (i = 0; i < n; i++) { int tmp[100000] = {}; for (j = 0; j < 100000; j++) { if (f[j] >= 0) tmp[j^arr[i]] = 10; } for (j = 0; j < 100000; j++) { if (tmp[j] > 0) f[j] = 1; } } int result = 0; for (i = 0; i < 100000; i++) { if (f[i] >= 0) result++; } printf("%d", result); getchar(); getchar(); return 0; }