use std::collections::HashMap; use proconio::input; fn main() { input! { n:usize, a:[usize;n], } let mut cnts0 = HashMap::new(); let mut cnts1 = HashMap::new(); let mut cnt0 = 0; let mut cnt1 = 0; cnts0.insert(a[0], 1); for i in 1..n { let cnt = cnts1.entry(a[i]).or_insert(0); if *cnt == 1 { cnt1 += 1; } *cnt += 1; } let mut ans = vec![]; if cnt0 == 0 && cnt1 == 0 { ans.push(1); } for i in 1..n - 1 { let Some(cnt)=cnts1.get_mut(&a[i])else{ return; }; if *cnt == 2 { cnt1 -= 1; } *cnt += 1; let cnt = cnts0.entry(a[i]).or_insert(0); if *cnt == 1 { cnt0 += 1; } *cnt += 1; if cnt0 == 0 && cnt1 == 0 { ans.push(i + 1); } } println!("{}", ans.len()); for i in ans { print!("{} ", i); } println!() }