今天,生活在 14 进制世界的小 Q 学习了一种判断给定的大数是否是 9 的倍数的方法。我们以
- 从低位往高位,将每个连续的
位划分为一段。例子中, 被划分为 三段。 - 从低位往高位从
开始给每一段编号。例子中,第 段为 ,第 段为 ,第 段为 。 - 对于第
段计算出值 :设第 段在 进制下的值为 ,如果 为奇数则 为满足 的最小非负整数 ,如果 为偶数则 为满足 的最小非负整数 。例子中有 。 - 将
按照下标大的在低位,下标小的在高位的顺序顺次拼接,形成一个 进制数并输出。例子中输出结果为 。容易验证 和 都是 的倍数。
可以证明上述方法输入和输出的数要么同时是
小 Q 深深地被这个算法吸引了,所以他想给出一个
注意
输入格式
从标准输入读入数据。
测试点有多组测试数据,保证同一测试点下的
接下来
输入中的所有数字按照十进制给出。
输出格式
输出到标准输出。
对于每组数据输出一行,若不存在合法的 -1
,否则输出最小的满足条件的正整数
样例
input
2 9 14 16
output
2 -1
数据范围与提示
对于所有数据,保证
子任务编号 | 分值 | ||
---|---|---|---|
为了选手们的身心健康,下发文件中的 down.cpp
中实现了大整数取模乘法函数 mul(A, B, P)
,你需要保证
时间限制:2s
空间限制: