丁丁最近沉迷于一个数字游戏之中。这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。
游戏是这样的,在你面前有一圈整数(一共 n 个),你要按顺序将其分为 m 个部分,各部分内的数字相加,相加所得的 m 个结果对 10 取模后再相乘,最终得到一个数 k 。游戏的要求是使你所得的 k 最大或者最小。
例如,对于下面这圈数字( n=4 , m=2 ):
要求最小值时, ((2-1)\bmod10)\times ((4+3)\bmod10)=1\times 7=7 ,要求最大值时,为 ((2+4+3)\bmod10)\times (-1\bmod10)=9\times 9=81 。
特别值得注意的是,无论是负数还是正数,对 10 取模的结果均为非负值。
丁丁请你编写程序帮他赢得这个游戏。
输入文件第一行有两个整数, n ( 1\le n\le 50 ) 和 m ( 1\le m\le 9 )。
以下 n 行每行有个整数,其绝对值 \le10^4 ,按顺序给出圈中的数字,首尾相接。
输出文件有 2 行,各包含 1 个非负整数。第 1 行是你程序得到的最小值,第 2 行是最大值。
4 2 4 3 -1 2
7 81
40%数据:1<=n<=10
100%数据:1<=n<=50,1<=m<=9
特殊性质:
(1)m==1,测试点2和7
(2)m==n,测试点1
题目来源:NOIP2003普及T2