#include <bits/stdc++.h>
#define pii pair<int, int>
#define f first
#define s second
#define ll long long
#define oo 2000000000
#define piii pair<pii, int>
#define pb push_back
#define mp make_pair


using namespace std;

const int up = 1e6 + 30;
int n, k, a[up];
ll pw[25];

pii work(int d) {
    unordered_map<ll, int>cnt;
    ll val = 0;
    for(int i = 0; i < d; ++i) {
        val = val * k + a[i];
    }
    cnt[val]++;
    for(int i = d; i < n; ++i) {
        val = val - pw[d - 1] * a[i - d];
        val = val * k + a[i];
        cnt[val]++;
    }
    if(cnt[val] == 1) return mp(d, 0);
    else {
        for(int s = 1; s <= d; ++s) {
            val -= pw[d - s] * a[n - d + s - 1];
            for(ll i = 0; i < pw[s]; ++i) {
                if(!cnt.count(val * pw[s] + i)) {
                    return mp(d, s);
                }
            }
        }
        return mp(0, 0);
    }
}
void solve() {
    cin >> n >> k;
    for(int i = 0; i < n; ++i) {
        cin >> a[i];
        --a[i];
    }
    if(k == 1) {
        cout << n << " 0\n";
    }else { /// in base k
        pw[0] = 1;
        for(int i = 1; pw[i - 1] < n; ++i) {
            pw[i] = pw[i - 1] * k;
        }
        for(int i = 1; i <= 20; ++i) {
            pii cur = work(i);
            if(cur.f != 0) {
                cout << cur.f << ' ' << cur.s << '\n';
                break;
            }
        }
    }
}
int main()
{
    ios_base::sync_with_stdio(false);
    int t = 1;
    //cin >> t;
    while(t--) {
        solve();
    }
    return 0;
}

/*

10 2
1 2 1 1 2 2 1 2 1 1

*/
