Q333: Recognizing Good ISBNs

現在大部分的書都有一個唯一辨識的號碼,我們稱為國際標準書碼:ISBN(International Standard Book Number )。ISBN是由10個數字組合而成的,但在某些情況下X也可能出現在第10個數字。"-"這個符號也常出現在ISBN中,但只是為了容易讀的理由,沒有其他特別的意義。在sample output中你可以看到某些合法及不合法的ISBN。

事實上,ISBN只有用前9個數字被用來指出一本書,第10個字元被當作是檢查碼(跟身份證號碼最後一個數字一樣),用來檢查前9個數字是否正確。這個檢查碼是由下面要提到的演算法計算出來的值去除以11所得到的餘數。因為除以11可能會得到10這個餘數,所以X就是被用來扮演這個角色。

要檢查一個ISBN的演算法相當簡單,我們用2個總和,s1和s2來計算ISBN的數字,其中s1是各數字的部分和,s2是s1的部分和(請參考以下的例子)。如果最後s2可以整除11,那這個ISBN就是合法的。

例子:某本書的ISBN(正確的): 0-13-162959-X,首先我們看s1的計算:

       -----------------------------------------------------------------
       digits in the ISBN    0   1   3   1   6   2   9   5   9   10(X)
       partial sums          0   1   4   5  11  13  22  27  36   46
       -----------------------------------------------------------------

s2的計算是以s1的部分和而來:

       -----------------------------------------------------------------
       s2 (running totals)   0   1   5  10  21  34  56  83  119  165
       -----------------------------------------------------------------

s2最後為165,可以被11整除,所以這是一個正確的ISBN。

Input

輸入包含好幾組測試資料,每組資料有1列。可能在前後或中間有空白字元存在,但總長度不會超過80個字元。一個合法的ISBN中"-"可以出現在任何位置。

Output

輸出應包含輸入的資料,然後說明該資料是否為正確。請參考sample output。

Sample input

0-89237-010-6
   0892370106
089237 0106
0-8306-3637-4      
  0-06-017758-6
    This_is_garbage
1-56884-030-6
    0-8230-2571-3
    0-345-31386-0
    0-671-88858-7
    0-8104-5687-7
    0-671-74119-5
    0-812-52030-0
    0-345-24865-1-150
0-452-26740-4
    0-13-139072-4
    0-1315-2447-X

Sample Output

0-89237-010-6 is correct.
0892370106 is correct.
089237 0106 is incorrect.
0-8306-3637-4 is correct.
0-06-017758-6 is correct.
This_is_garbage is incorrect.
1-56884-030-6 is correct.
0-8230-2571-3 is correct.
0-345-31386-0 is correct.
0-671-88858-7 is correct.
0-8104-5687-7 is correct.
0-671-74119-5 is correct.
0-812-52030-0 is correct.
0-345-24865-1-150 is incorrect.
0-452-26740-4 is correct.
0-13-139072-4 is correct.
0-1315-2447-X is correct.