#include <bits/stdc++.h>
#define ll long long
#define db long double
#define vi vector<int>
#define vl vector<ll>
#define vvi vector<vector<int>>
#define vpi vector<pair<int,int>>
#define pb push_back
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define sz(v) (int)v.size()
#define fix(n, num) fixed<<setprecision(num)<<n
using namespace std;
int dx[] = {0, 0, 1, -1, 1, 1, -1, -1};
int dy[] = {-1, 1, 0, 0, 1, -1, 1, -1};
const ll N = 5000 + 5, mod = 1e9 + 7, inf = 1e18;
struct node{
int ch[2]={};
int idx=1e7;
int &operator[](int x){
return ch[x];
}
};
int k;
struct Trie{
vector<node>trie;
void clear(){
trie.clear();
trie.emplace_back();
}
Trie() {clear();}
int newNode(){
trie.emplace_back();
return sz(trie)-1;
}
void insert(int x,int idx){
int u=0;
for(int i=30;i>=0;--i){
int b=x>>i&1;
if(trie[u][b]==0)
trie[u][b]=newNode();
u=trie[u][b];
trie[u].idx=min(trie[u].idx,idx);
}
}
int calc(int x){
int u=0;
int ret=1e7;
for(int i=30;i>=0;--i){
int bx=x>>i&1,bk=k>>i&1;
if(bx+bk==1){
if(bx) ret=min(ret,trie[trie[u][0]].idx);
u=trie[u][1];
}
else{
if(!bk) ret=min(ret,trie[trie[u][1]].idx);
u=trie[u][0];
}
if(!u) break;
}
return min(ret,trie[u].idx);
}
};
void TC() {
int n,p=0;
cin>>n>>k;
int ct=0,idx=-1;
Trie t;
t.insert(0,0);
for (int i = 1; i <=n ; ++i) {
int x;
cin>>x;
p^=x;
int j=t.calc(p);
if(i-j>ct){
ct=i-j;
idx=j;
}
t.insert(p,i);
}
cout<<idx+1<<' '<<ct;
}
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
int t = 1;
// cin >> t;
for (int i = 1; i <= t; ++i) {
TC();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGRiIGxvbmcgZG91YmxlCiNkZWZpbmUgdmkgdmVjdG9yPGludD4KI2RlZmluZSB2bCB2ZWN0b3I8bGw+CiNkZWZpbmUgdnZpIHZlY3Rvcjx2ZWN0b3I8aW50Pj4KI2RlZmluZSB2cGkgdmVjdG9yPHBhaXI8aW50LGludD4+CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgYWxsKHYpIHYuYmVnaW4oKSx2LmVuZCgpCiNkZWZpbmUgcmFsbCh2KSB2LnJiZWdpbigpLHYucmVuZCgpCiNkZWZpbmUgc3oodikgKGludCl2LnNpemUoKQojZGVmaW5lIGZpeChuLCBudW0pIGZpeGVkPDxzZXRwcmVjaXNpb24obnVtKTw8bgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgZHhbXSA9IHswLCAwLCAxLCAtMSwgMSwgMSwgLTEsIC0xfTsKaW50IGR5W10gPSB7LTEsIDEsIDAsIDAsIDEsIC0xLCAxLCAtMX07CmNvbnN0IGxsIE4gPSA1MDAwICsgNSwgbW9kID0gMWU5ICsgNywgaW5mID0gMWUxODsKCnN0cnVjdCBub2RlewogICAgaW50IGNoWzJdPXt9OwogICAgaW50IGlkeD0xZTc7CgogICAgaW50ICZvcGVyYXRvcltdKGludCB4KXsKICAgICAgICByZXR1cm4gY2hbeF07CiAgICB9Cgp9OwoKaW50IGs7CnN0cnVjdCBUcmllewogICAgdmVjdG9yPG5vZGU+dHJpZTsKCiAgICB2b2lkIGNsZWFyKCl7CiAgICAgICAgdHJpZS5jbGVhcigpOwogICAgICAgIHRyaWUuZW1wbGFjZV9iYWNrKCk7CiAgICB9CiAgICBUcmllKCkge2NsZWFyKCk7fQogICAgaW50IG5ld05vZGUoKXsKICAgICAgICB0cmllLmVtcGxhY2VfYmFjaygpOwogICAgICAgIHJldHVybiBzeih0cmllKS0xOwogICAgfQoKICAgIHZvaWQgaW5zZXJ0KGludCB4LGludCBpZHgpewogICAgICAgIGludCB1PTA7CiAgICAgICAgZm9yKGludCBpPTMwO2k+PTA7LS1pKXsKICAgICAgICAgICAgaW50IGI9eD4+aSYxOwogICAgICAgICAgICBpZih0cmllW3VdW2JdPT0wKQogICAgICAgICAgICAgICAgdHJpZVt1XVtiXT1uZXdOb2RlKCk7CiAgICAgICAgICAgIHU9dHJpZVt1XVtiXTsKICAgICAgICAgICAgdHJpZVt1XS5pZHg9bWluKHRyaWVbdV0uaWR4LGlkeCk7CiAgICAgICAgfQogICAgfQoKICAgIGludCBjYWxjKGludCB4KXsKICAgICAgICBpbnQgdT0wOwogICAgICAgIGludCByZXQ9MWU3OwogICAgICAgIGZvcihpbnQgaT0zMDtpPj0wOy0taSl7CiAgICAgICAgICAgIGludCBieD14Pj5pJjEsYms9az4+aSYxOwogICAgICAgICAgICBpZihieCtiaz09MSl7CiAgICAgICAgICAgICAgICBpZihieCkgcmV0PW1pbihyZXQsdHJpZVt0cmllW3VdWzBdXS5pZHgpOwogICAgICAgICAgICAgICAgdT10cmllW3VdWzFdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICBpZighYmspIHJldD1taW4ocmV0LHRyaWVbdHJpZVt1XVsxXV0uaWR4KTsKICAgICAgICAgICAgICAgIHU9dHJpZVt1XVswXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZighdSkgYnJlYWs7CiAgICAgICAgfQogICAgICAgIHJldHVybiBtaW4ocmV0LHRyaWVbdV0uaWR4KTsKICAgIH0KCn07Cgp2b2lkIFRDKCkgewogICAgaW50IG4scD0wOwogICAgY2luPj5uPj5rOwogICAgaW50IGN0PTAsaWR4PS0xOwoKICAgIFRyaWUgdDsKICAgIHQuaW5zZXJ0KDAsMCk7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PW4gOyArK2kpIHsKICAgICAgICBpbnQgeDsKICAgICAgICBjaW4+Png7CiAgICAgICAgcF49eDsKICAgICAgICBpbnQgaj10LmNhbGMocCk7CiAgICAgICAgaWYoaS1qPmN0KXsKICAgICAgICAgICAgY3Q9aS1qOwogICAgICAgICAgICBpZHg9ajsKICAgICAgICB9CiAgICAgICAgdC5pbnNlcnQocCxpKTsKICAgIH0KCiAgICBjb3V0PDxpZHgrMTw8JyAnPDxjdDsKCgp9CgppbnQzMl90IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoMCksIGNvdXQudGllKDApOwoKICAgIGludCB0ID0gMTsKICAgLy8gY2luID4+IHQ7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSB0OyArK2kpIHsKICAgICAgICBUQygpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==