#include <bits/stdc++.h>
using namespace std;
#define FastIO ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define ll long long
#define ull unsigned long long
#define ld long double
#define pb push_back
#define eb emplace_back
#define mp make_pair
#define fi first
#define se second
#define sz(v) ((int)(v).size())
#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()
#define clr(v, d) memset(v, d, sizeof(v))
#define forn(i, e) for (int i = 0; i < e; i++)
#define fors(i, s, e) for (int i = s; i < e; i++)
#define rforn(i, s) for (int i = s; i >= 0; i--)
#define rfors(i, s, e) for (int i = s; i >= e; i--)
#define msb(x) (63 - __builtin_clzll((long long)(x)))
#define lsb(x) (__builtin_ctzll((unsigned long long)(x)))
#define bit_count(x) (__builtin_popcountll((unsigned long long)(x)))
#ifndef ONLINE_JUDGE
#define debug(x) cerr << #x << " = " << (x) << '\n';
#else
#define debug(x)
#endif
typedef vector<int> vi;
typedef vector<double> vd;
typedef vector< vi > vvi;
typedef vector< vd > vvd;
typedef vector<string> vs;
const int INF = 1e9 + 7;
const ll LINF = 1e18 + 7;
const double EPS = 1e-9;
const int MAXN = 1e6 + 5;
const int LOG = 20;
// #define int ll
const int dx[] = {-1, 1, 0, 0, -1, -1, 1, 1};
const int dy[] = {0, 0, -1, 1, -1, 1, -1, 1};
struct BinaryTrie {
struct Node {
int ch[2] {-1,-1};
int mn = INT_MAX;
};
vector<Node> trie;
BinaryTrie() {trie.emplace_back();}
void insert(int val,int i) {
int u = 0;
trie[u].mn = min(trie[u].mn, i);
for (int b = 29;b >= 0; b--) {
int bit = (val >> b) & 1;
if (trie[u].ch[bit] == -1) {
trie[u].ch[bit] = sz(trie);
trie.emplace_back();
}
u = trie[u].ch[bit];
trie[u].mn = min(trie[u].mn, i);
}
}
int earliestAtLeast(int val,int x) {
int u = 0,ans = INT_MAX;
for (int b = 29;b >= 0 && u != -1; b--) {
int bv = (val >> b) & 1;
int bx = (x >> b) & 1;
if (bx == 1) {
u = trie[u].ch[bv ^ 1];
}else {
int greater = trie[u].ch[bv ^ 1];
if (greater != -1) {
ans = min(ans,trie[greater].mn);
}
u = trie[u].ch[bv];
}
}
if (u != -1) {
ans = min(ans,trie[u].mn);
}
return ans;
}
};
void solve() {
int n,x; cin >> n >> x;
BinaryTrie tr;
tr.insert(0,0);
int pref = 0,best_len = 0,best_start = 1;
for (int r = 1;r <= n;r++) {
int a;
cin >> a;
pref ^= a;
int j = tr.earliestAtLeast(pref,x);
if (j != INT_MAX) {
int s = j + 1;
int len = r - j;
if (len > best_len || (len == best_len && s < best_start)) {
best_len = len;
best_start = s;
}
tr.insert(pref,r);
}
}
cout << best_start << " " << best_len << endl;
}
signed main() {
#ifndef ONLINE_JUDGE
freopen("c.in", "r", stdin);
freopen("c.out", "w", stdout);
#endif
FastIO
int tc = 1;
// cin >> tc;
while (tc--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIEZhc3RJTyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShOVUxMKTsgY291dC50aWUoTlVMTCk7CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHVsbCB1bnNpZ25lZCBsb25nIGxvbmcKI2RlZmluZSBsZCBsb25nIGRvdWJsZQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGViIGVtcGxhY2VfYmFjawojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCgojZGVmaW5lIHN6KHYpICgoaW50KSh2KS5zaXplKCkpCiNkZWZpbmUgYWxsKHYpICh2KS5iZWdpbigpLCAodikuZW5kKCkKI2RlZmluZSByYWxsKHYpICh2KS5yYmVnaW4oKSwgKHYpLnJlbmQoKQojZGVmaW5lIGNscih2LCBkKSBtZW1zZXQodiwgZCwgc2l6ZW9mKHYpKQoKI2RlZmluZSBmb3JuKGksIGUpIGZvciAoaW50IGkgPSAwOyBpIDwgZTsgaSsrKQojZGVmaW5lIGZvcnMoaSwgcywgZSkgZm9yIChpbnQgaSA9IHM7IGkgPCBlOyBpKyspCiNkZWZpbmUgcmZvcm4oaSwgcykgZm9yIChpbnQgaSA9IHM7IGkgPj0gMDsgaS0tKQojZGVmaW5lIHJmb3JzKGksIHMsIGUpIGZvciAoaW50IGkgPSBzOyBpID49IGU7IGktLSkKCiNkZWZpbmUgbXNiKHgpICg2MyAtIF9fYnVpbHRpbl9jbHpsbCgobG9uZyBsb25nKSh4KSkpCiNkZWZpbmUgbHNiKHgpIChfX2J1aWx0aW5fY3R6bGwoKHVuc2lnbmVkIGxvbmcgbG9uZykoeCkpKQojZGVmaW5lIGJpdF9jb3VudCh4KSAoX19idWlsdGluX3BvcGNvdW50bGwoKHVuc2lnbmVkIGxvbmcgbG9uZykoeCkpKQoKI2lmbmRlZiBPTkxJTkVfSlVER0UKI2RlZmluZSBkZWJ1Zyh4KSBjZXJyIDw8ICN4IDw8ICIgPSAiIDw8ICh4KSA8PCAnXG4nOwojZWxzZQojZGVmaW5lIGRlYnVnKHgpCiNlbmRpZgoKdHlwZWRlZiB2ZWN0b3I8aW50PiAgICAgICB2aTsKdHlwZWRlZiB2ZWN0b3I8ZG91YmxlPiAgICB2ZDsKdHlwZWRlZiB2ZWN0b3I8IHZpID4gICAgICB2dmk7CnR5cGVkZWYgdmVjdG9yPCB2ZCA+ICAgICAgdnZkOwp0eXBlZGVmIHZlY3RvcjxzdHJpbmc+ICAgIHZzOwoKY29uc3QgaW50IElORiA9IDFlOSArIDc7CmNvbnN0IGxsIExJTkYgPSAxZTE4ICsgNzsKY29uc3QgZG91YmxlIEVQUyA9IDFlLTk7CmNvbnN0IGludCBNQVhOID0gMWU2ICsgNTsKY29uc3QgaW50IExPRyA9IDIwOwovLyAjZGVmaW5lIGludCBsbAoKY29uc3QgaW50IGR4W10gPSB7LTEsIDEsIDAsIDAsIC0xLCAtMSwgMSwgMX07CmNvbnN0IGludCBkeVtdID0gezAsIDAsIC0xLCAxLCAtMSwgMSwgLTEsIDF9OwoKc3RydWN0IEJpbmFyeVRyaWUgewogICAgc3RydWN0IE5vZGUgewogICAgICAgIGludCBjaFsyXSB7LTEsLTF9OwogICAgICAgIGludCBtbiA9IElOVF9NQVg7CiAgICB9OwoKICAgIHZlY3RvcjxOb2RlPiB0cmllOwoKICAgIEJpbmFyeVRyaWUoKSB7dHJpZS5lbXBsYWNlX2JhY2soKTt9CgogICAgdm9pZCBpbnNlcnQoaW50IHZhbCxpbnQgaSkgewogICAgICAgIGludCB1ID0gMDsKICAgICAgICB0cmllW3VdLm1uID0gbWluKHRyaWVbdV0ubW4sIGkpOwogICAgICAgIGZvciAoaW50IGIgPSAyOTtiID49IDA7IGItLSkgewogICAgICAgICAgICBpbnQgYml0ID0gKHZhbCA+PiBiKSAmIDE7CiAgICAgICAgICAgIGlmICh0cmllW3VdLmNoW2JpdF0gPT0gLTEpIHsKICAgICAgICAgICAgICAgIHRyaWVbdV0uY2hbYml0XSA9IHN6KHRyaWUpOwogICAgICAgICAgICAgICAgdHJpZS5lbXBsYWNlX2JhY2soKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB1ID0gdHJpZVt1XS5jaFtiaXRdOwogICAgICAgICAgICB0cmllW3VdLm1uID0gbWluKHRyaWVbdV0ubW4sIGkpOwogICAgICAgIH0KICAgIH0KCiAgICBpbnQgZWFybGllc3RBdExlYXN0KGludCB2YWwsaW50IHgpIHsKICAgICAgICBpbnQgdSA9IDAsYW5zID0gSU5UX01BWDsKICAgICAgICBmb3IgKGludCBiID0gMjk7YiA+PSAwICYmIHUgIT0gLTE7IGItLSkgewogICAgICAgICAgICBpbnQgYnYgPSAodmFsID4+IGIpICYgMTsKICAgICAgICAgICAgaW50IGJ4ID0gKHggPj4gYikgJiAxOwoKICAgICAgICAgICAgaWYgKGJ4ID09IDEpIHsKICAgICAgICAgICAgICAgIHUgPSB0cmllW3VdLmNoW2J2IF4gMV07CiAgICAgICAgICAgIH1lbHNlIHsKICAgICAgICAgICAgICAgIGludCBncmVhdGVyID0gdHJpZVt1XS5jaFtidiBeIDFdOwogICAgICAgICAgICAgICAgaWYgKGdyZWF0ZXIgIT0gLTEpIHsKICAgICAgICAgICAgICAgICAgICBhbnMgPSBtaW4oYW5zLHRyaWVbZ3JlYXRlcl0ubW4pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdSA9IHRyaWVbdV0uY2hbYnZdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICh1ICE9IC0xKSB7CiAgICAgICAgICAgIGFucyA9IG1pbihhbnMsdHJpZVt1XS5tbik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBhbnM7CiAgICB9Cn07Cgp2b2lkIHNvbHZlKCkgewogICAgaW50IG4seDsgY2luID4+IG4gPj4geDsKCiAgICBCaW5hcnlUcmllIHRyOwogICAgdHIuaW5zZXJ0KDAsMCk7CgogICAgaW50IHByZWYgPSAwLGJlc3RfbGVuID0gMCxiZXN0X3N0YXJ0ID0gMTsKICAgIGZvciAoaW50IHIgPSAxO3IgPD0gbjtyKyspIHsKICAgICAgICBpbnQgYTsKICAgICAgICBjaW4gPj4gYTsKICAgICAgICBwcmVmIF49IGE7CgogICAgICAgIGludCBqID0gdHIuZWFybGllc3RBdExlYXN0KHByZWYseCk7CiAgICAgICAgaWYgKGogIT0gSU5UX01BWCkgewogICAgICAgICAgICBpbnQgcyA9IGogKyAxOwogICAgICAgICAgICBpbnQgbGVuID0gciAtIGo7CgogICAgICAgICAgICBpZiAobGVuID4gYmVzdF9sZW4gfHwgKGxlbiA9PSBiZXN0X2xlbiAmJiBzIDwgYmVzdF9zdGFydCkpIHsKICAgICAgICAgICAgICAgIGJlc3RfbGVuID0gbGVuOwogICAgICAgICAgICAgICAgYmVzdF9zdGFydCA9IHM7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdHIuaW5zZXJ0KHByZWYscik7CiAgICAgICAgfQogICAgfQoKICAgIGNvdXQgPDwgYmVzdF9zdGFydCA8PCAiICIgPDwgYmVzdF9sZW4gPDwgZW5kbDsKfQoKCgoKCgpzaWduZWQgbWFpbigpIHsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGZyZW9wZW4oImMuaW4iLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oImMub3V0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKCiAgICBGYXN0SU8KICAgIGludCB0YyA9IDE7CiAgICAvLyBjaW4gPj4gdGM7CgoKICAgIHdoaWxlICh0Yy0tKSB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KCgogICAgcmV0dXJuIDA7Cn0=