时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
            空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
             64bit IO Format: %lld
        
     
    题目描述
        
        
    
            
              牛牛最近在玩一种叫做跳跳棋的游戏,棋盘可以看成是一个一维的线性数组,编号从1到n+1。 
      一开始牛牛的棋子位于第1个格子,游戏的最终目的是将棋子移动到第n+1个格子。  
     棋盘1~n的每个格子都有一个“弹力系数”的权值

。 
    当棋子位于第i个格子时,它的下一步可以移动到

范围内的任意一个格子。 
    举例来说,假设第3个格子的弹力系数为2,那么牛牛下一步可以移动到第1,2,3,4,5格中的任意一格。 
   现在给定1~n每格的弹力系数

。 
    
 
   牛牛发现,好像有时由于棋盘的

设置不合理,导致游戏无法通关。 
    所以牛牛准备施展他神奇的魔法,他每次施展魔法都可以使得一个格子的弹力系数

+1,他可以施展若干次魔法操作不同的格子,但是要求他不能够重复对一个格子施展魔法。 
    牛牛想要知道,为了使跳跳棋通关,他最少施展多少次魔法,并且他应该操作哪些格子。 
   请输出牛牛的最小操作次数,以及施展魔法的操作序列,操作序列的第i个数表示该次施展魔法的格子编号,由于答案不唯一,所以请你输出一个最小字典序的答案。 
   
 
   最小字典序指:在保证第1个数字尽可能小的前提下,保证第2个数字尽可能的小,然后在此前提下保证第3个数字尽可能的小....以此类推。 
 
                            输入描述:
                                                    第一行输入一个正整数n表示跳跳棋的格子数目。
接下来输入一行n个非负整数

表示跳跳棋前n个格子的弹力系数。
                                                                            输出描述:
                                                    首先输出一个非负整数ans,表示少施展魔法的次数。
如果ans不为0,则再输出一行ans个整数表示需要施展魔法的格子编号,请给出一个最小字典序的答案。
                                                                            
                        
                            示例1
                        
                        
                            
                                输入
                                复制
                                
                                
                                    12
5 4 3 3 2 1 0 0 0 1 0 0
                                 
                             
                            
                                                            
                                    说明
                                    
                                        除了"4 8 9 10 12"这个操作的答案序列以外,"5 8 9 10 12","6 8 9 10 12"也同样是最小操作数下的答案。
但是"4 8 9 10 12"这个答案是字典序最小的,故输出"4 8 9 10 12"。
                                     
                                 
                                                     
                     
                                    
                                    
                        
                            示例3
                        
                        
                            
                            
                                                            
                                    说明
                                    
                                        本样例可以说明,不存在无解的情况,因为你至少可以令所有
全都+1。
                                     
                                 
                                                     
                     
                                    
                                                        备注:
                对于
的测试数据,保证
对于
的测试数据,保证
对于
的测试数据,保证