#P1001. ISBN

ISBN

説明

各正式に出版された図書にはISBNISBN番号が対応しており、ISBNISBNコードには99桁の数字、11桁の識別コード、および33桁の区切り記号が含まれており、その指定フォーマットはxxxxxxxxx-xxx-xxx-xであり、記号-は区切り記号(キーボード上のマイナス記号)であり、最後の桁は識別コードであり、例えば06708216240-670-82162-4は標準的なISBNISBNコードである。ISBNISBNコードの最初の数字は書籍の出版言語を表し、例えば00は英語を表し、最初の区切り記号-に続く3桁の数字は出版社を表し、例えば670670はヴァイキング出版社を表し、2番目の区切り記号の後の5桁の数字は、その出版社における本の番号を表します。最後のビットは識別コードです。

識別コードの計算方法は以下の通りである:

最初の数字に11と前回の桁の数字に2を乗算する2を乗算する……はこのようにして、得られた結果mod11mod 11を用いて、得られた剰余は識別コードであり、剰余が1010であれば、識別コードは大文字XXである。例えば、ISBNISBN番号06708216240-670-82162-4の識別コード44は、067082162067082162という99の数字に対して、左から右へ、それぞれ1291、2、…、9を乗算して再加算する、すなわち0×1+6×2++2×9=1580×1+6×2+…+2×9=158、次に158mod11158 mod 11の結果44を識別コードとして取ります。

あなたのタスクは、入力されたISBNISBN番号の識別コードが正しいかどうかを判断するプログラムを作成し、正しい場合はRightRightのみを出力します。エラーの場合は、正しいと思われるISBNISBN番号を出力します。

入力説明

本のISBNISBN番号(入力がISBNISBN番号のフォーマット要件を満たすことを保証する)を表す文字列。

出力の説明

a 入力されたISBNISBN番号の識別コードが正しい場合は、RightRightを出力し、そうでない場合は、指定されたフォーマットに従って、正しいISBNISBN番号(区切り記号-を含む)を出力します。