小阿加莎在生日时收到了一套积木。这些积木都是大小相同的立方体。每块积木上都刻有一个正整数。由于她非常喜欢这些积木,她立即用所有的积木搭起了一座高塔。
妈妈告诉阿加莎,这个游戏的目标是搭出一座塔,使得尽可能多的积木处于正确的位置。如果一块刻有数字 $i$ 的积木位于塔的第 $i$ 层(最底层的积木位于第 1 层,其上的积木位于第 2 层,以此类推),那么这块积木就处于正确的位置。
阿加莎决定小心地(为了不让塔倒塌)移除一些积木,使得处于正确位置的积木数量尽可能多。请建议阿加莎应该移除哪些积木。
任务
编写一个程序,完成以下工作: 从标准输入读取阿加莎最初搭建的塔的描述; 确定需要移除哪些积木; * 将结果写入标准输出。
输入格式
标准输入的第一行包含一个整数 $n$ ($1 \le n \le 100\,000$),表示塔的初始高度。第二行包含 $n$ 个正整数:$a_1, a_2, \dots, a_n$ ($1 \le a_i \le 1\,000\,000$),由空格分隔,表示刻在积木上的数字。数字按从最底层到最顶层的顺序给出。
输出格式
在标准输出的第一行,你的程序应输出需要移除的积木数量,以使处于正确位置的积木数量最大化。第二行应包含需要移除的积木编号(由空格分隔)。积木从 1 到 $n$ 编号,从初始塔的最底层到最顶层计数。如果存在多种解决方案,你的程序只需输出其中任意一种。
样例
输入 1
5 1 1 2 5 4
输出 1
1 1