#include <bits/stdc++.h>
using namespace std;
multiset<int> st;
vector<pair<int, int> > ans;
int a[100005];
int main() {
  ios_base::sync_with_stdio(0);
  int n, k;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  int j = 0, mx = -1e9 + 7;
  for (int i = 0; i < n; i++) {
    st.insert(a[i]);
    while ((*(--st.end())) - (*st.begin()) > k) {
      st.erase(st.find(a[j]));
      j++;
    }
    if (st.size() > 0) {
      if (i - j > mx) {
        mx = i - j;
        ans.clear();
      }
    }
    if (i - j == mx) {
      ans.push_back({j, i});
    }
  }
  cout << mx + 1 << " " << ans.size() << endl;
  for (int i = 0; i < ans.size(); i++) {
    cout << ans[i].first + 1 << " " << ans[i].second + 1 << endl;
  }
}
