Problem H: EAN13

Problem H: EAN13

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 301  Solved: 169
[Submit] [Status] [Web Board] [Creator:]

Description

EAN码是国际物品编码协会制定的一种商品用条码,通用于全世界。EAN码符号有标准版(EAN-13)和缩短版(EAN-8)两种。标准版表示13位数字,又称为EAN13码,缩短版表示8位数字,又称EAN8。两种条码的最后一位为校验位,由前面的12位或7位数字计算得出。EAN13码包括13位数字2位分隔符,其规定格式如“x-xxxxxx-xxxxxx”,其中符号“-”就是分隔符(键盘上的减号)。

校验码的计算方法如下:

1)从代码位置序号2开始,所有偶数位的数字代码求和。 

2)将步骤1的和乘以3。

3)从代码位置序号3开始,所有奇数位的数字代码求和。 

4)将步骤2与步骤3的结果相加。 

5)用大于或等于步骤4所得结果且为10最小整数倍的数减去步骤4所得结果,其差即为所求校验码的值。

例如:6-939334-351042的校验码X的计算如下: 

自右向左顺序编号,如下表所示。

 

位置序号

13

12

11

10

9

8

7

6

5

4

3

2

1

代码

6

9

3

9

3

3

4

3

5

1

0

4

X

偶数位

9

9

3

3

1

4

奇数位

6

3

3

4

5

0

 

步骤1:9+9+3+3+1+4=29

步骤2:29*3=87

步骤3:6+3+3+4+5+0=21

步骤4:87+21=108

步骤5:110-108=2 
最终求得校验码X=2 
你的任务是编写程序判断输入的EAN13码中校验码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的EAN13码。 


Input

输入只有一行,是一个字符序列,表示EAN13码(保证输入符合EAN13码的格式要求)。

Output

输出共一行,假如输入的EAN13码的校验码正确,那么输出“Right”,否则,按照规定的格式,输出正确的EAN13码(包括分隔符“-”)

Sample Input Copy

【样例1】
2-342356-546521
【样例2】
9-787302-356288

Sample Output Copy

【样例1】
2-342356-546527
【样例2】
Right