#include using namespace std; int main() { int n; int x; cin >> n >> x; int a[100005],ans[100005]; memset(ans,-1,sizeof(ans)); int an,o,maxi,mini; for (int i=1;i<=n;i++) cin >> a[i]; for (int i=1;i<=n;i++) { for (int j=i;j<=n;j++) { an=a[i],o=a[i],maxi=a[i],mini=a[i]; for (int k=i;k<=j;k++) { if (k==i) continue; an&=a[k]; o|=a[k]; maxi=max(maxi,a[k]); mini=min(mini,a[k]); } int cost=(o-an)-(maxi-mini); if (cost>=x) { for (int k=i;k<=j;k++) { ans[k]=max(ans[k],j-i+1); } } } } for (int i=1;i<=n;i++) cout << ans[i] << endl; return 0; }