#include <bits/stdc++.h>
using namespace std;
const int maxn = 3e5 + 5;
int a[maxn];
int n;
int vis[maxn];
vector<int> ans;
int main() {
  memset(vis, 0, sizeof(vis));
  ans.clear();
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
  }
  int cnt = 0;
  int ma = 0;
  for (int i = 1; i <= n; i++) {
    int l, r;
    for (l = i - 1; l >= 1; l--) {
      if (a[l] % a[i] != 0) break;
    }
    for (r = i + 1; r <= n; r++) {
      if (a[r] % a[i] != 0) break;
    }
    l++, r--;
    if (r - l == ma)
      ans.push_back(l);
    else if (r - l > ma) {
      ans.clear();
      ma = r - l;
      ans.push_back(l);
    }
    i = r;
  }
  sort(ans.begin(), ans.end());
  cout << ans.size() << " " << ma << endl;
  for (int i = 0; i < ans.size(); i++) {
    cout << ans[i];
    if (i != ans.size() - 1) cout << " ";
  }
  cout << "\n";
}
