红包
题号:NC233103
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

过年了,智乃家给小孩子包了N个红包,红包的金额在之间。智乃偷偷作弊偷看了每个红包里的内容,但是她看的比较急,没有看清楚每个红包的金额。
智乃将她看到红包的面值按照从1~n的顺序写出,对于她没看清的部分,用'X'代替。

举个例子,比如智乃看了3个红包,她看到的内容是52,X6,1X3
因为智乃没看清'X'到底是数字几,所以实际上这个数字应该是0~9中任意一个数字。

贪心的智乃想要拿到面值的最大可能,最大的红包,她应该选哪个红包呢,请给出红包的编号,如果有多个红包都有可能成为面值最大的红包,则输出编号最小的。

输入描述:

第一行输入一个正整数,表示红包的个数。
接下来N行,每行输入一个整数val_i,整数的范围在之间,并且由于智乃没看清,该整数的某些数位上的数字用'X'代替,并且当'X'位于数字的首位时,'X'一定不为0。
保证输入的正整数不含有前导0。

输出描述:

请给出面值的最大可能,最大的红包的编号,如果有多个红包都满足条件,则输出编号最小的。
示例1

输入

复制
4
1X5
125
X
20

输出

复制
1

说明

1号红包的面值最大值为195它是面值的最大可能最大的红包。
示例2

输入

复制
4
125
1X5
X
20

输出

复制
2

说明

2号红包的面值最大值为195它是面值的最大可能最大的红包。