题目描述
薯条哥有一个长度为m的正整数序列,下表从1开始。
对于这个序列,薯条哥需要统计整个序列的数字种类数,记种类数为m,之后对于每一种数字x,记其出现次数为Cx,
设函数f(x)表示在序列中从左到右第⌈Cx/2⌉个数字x对应的下标,其中⌈y⌉表示对y向上取整,
例如⌈0.5⌉=1,⌈2⌉=2。最后你需要将所有f(x)按从小到大的顺序输出出来。
输入描述
第一行输入一个正整数n(1≤n≤105) ,表示序列长度
第二行输入n个由空格隔开的正整数a1,a2,.....an(1≤ai≤104),表示该序列
输出描述
第一行输出一个正整数m,表示序列中的数字种类数
第二行输出m个由空格隔开的正整数,分别表示从小到大的顺序排序之后的函数值,末尾不要输出多余空格。
样例
输入1
9
3 4 5 5 3 4 4 5 3
输出1
3
4 5 6
样例解释
一共有3,4,5三种数字,其中f(3)=5,f(4)=6,f(5)=4 ,排序后就是4,5,6