#include #include #include using namespace std; using ll = long long; constexpr int iINF = 1'000'000'000; constexpr ll llINF = 1'000'000'000'000'000'000; int main () { int N; cin >> N; vector A(N); for (int i = 0; i < N; i++) cin >> A[i]; // 前と後ろから見ます。 map mp; vector front(N, true); vector back(N, true); { mp.clear(); for (int i = 0; i < N; i++) { if (0 < i) front[i] = front[i - 1]; if (0 < mp[A[i]]) front[i] = false; mp[A[i]]++; } } { mp.clear(); for (int i = N - 1; 0 <= i; i--) { if (i < N - 1) back[i] = back[i + 1]; if (0 < mp[A[i]]) back[i] = false; mp[A[i]]++; } } vector ans; for (int i = 0; i < N - 1; i++) { if (front[i] && back[i + 1]) ans.push_back(i + 1); } cout << ans.size() << "\n"; for (int i = 0; i < ans.size(); i++) { cout << ans[i] << (i == ans.size() - 1 ? "" : " "); } cout << "\n"; }