#include <bits/stdc++.h>
using namespace std;
const long long int cons = 100005;
const long long int MOD = 1000000007;
const long long int N = 1000001;
const long long int const_INT_MAX = 100000000000000000;
const long long int const_INT_MIN = -1 * 100000000000000000;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int n;
  cin >> n;
  long long int a[n];
  for (long long int i = 0; i < n; i++) {
    cin >> a[i];
  }
  long long int end = 0;
  long long int maxi = const_INT_MIN;
  map<long long int, long long int> dp;
  for (long long int i = 0; i < n; i++) {
    dp[a[i]] = dp[a[i] - 1] + 1;
    if (dp[a[i]] > maxi) {
      maxi = dp[a[i]];
      end = a[i];
    }
  }
  cout << maxi << "\n";
  vector<long long int> v1;
  for (long long int i = n - 1; i >= 0; i--) {
    if (a[i] == end) {
      v1.push_back(i);
      end--;
    } else {
      continue;
    }
  }
  for (long long int i = 0; i < v1.size(); i++) {
    v1[i]++;
  }
  for (long long int i = v1.size() - 1; i >= 0; i--) {
    cout << v1[i] << " ";
  }
  cout << "\n";
  cerr << "\nTime elapsed: " << 1000 * clock() / CLOCKS_PER_SEC << "ms\n";
}
