← Home
#include<bits/stdc++.h>
using namespace std;
const int N = (1 << 20) + 5;
const int M = (1 << 20) - 1;
int f(int n, int m) {
	if (m <= 0) return n == 0;
	if (n < m) return 0;
	return ((n - 1) & (m - 1)) == (m - 1);
}
int n, k, a[N], ans[N], p = M;
int main() {
  scanf("%d%d", &n, &k);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
	for (int i = 1; i <= n; i++) {
		for (int j = i, s = 0; j <= n; s += a[++j]) {
			if (s >= 20 || (M >> s) < a[i]) break;
			int t = (i > 1) + (j < n);
			ans[a[i] << s] ^= f(n - 1 - (j - i) - t, k - t);
		}
	}
	while (p && !ans[p]) --p;
	while (~p) printf("%d", ans[p--]);
	return 0;
}