回文(palindrome)是指一个单词、数字、短语或其他字符序列,从后往前读和从前往后读是一样的,例如 madam、racecar 或 1881。短语回文忽略大小写、标点符号和单词边界。例如:
Madam I'm Adam.
摩尔斯电码(Morse code)是一种电信中使用的编码方法,将文本字符编码为两种不同持续时间的信号序列,称为点(dots)和划(dashes),或称 dits 和 dahs。摩尔斯电码以电报发明者之一塞缪尔·摩尔斯(Samuel Morse)的名字命名。国际摩尔斯电码的字母和数字编码(该编码不区分大小写)如下:
如果一个单词、数字或短语中所有字母和数字对应的摩尔斯电码序列(忽略字符编码之间的空格)从后往前读和从前往后读是一样的,则称其为摩尔斯电码回文(Morse Code Palindrome)。
例如:
159
·---- ····· ----·
Footstool
··-- --- --- - --- ·-·· --- --- ·-··
编写一个程序,输入一个字符串,确定为了使其成为摩尔斯电码回文,需要在单词末尾添加的最少字符数。
输入格式
输入包含一行,为一个长度不超过 30 的字符串,由大写字母和/或数字组成,可能包含空格和标点符号。
输出格式
输出包含一行。
如果输入字符串已经是摩尔斯电码回文,输出数字 0。否则,输出需要添加的字符数,后跟一个空格,再跟一个由大写字母和/或数字组成的字符串,将其添加到原字符串末尾后使其成为摩尔斯电码回文。
由于可能存在多个有效答案(见下文样例 2 和 3),如果添加的字符数小于或等于裁判给出的答案,且输入字符串加上你输出的字符串后构成摩尔斯电码回文,则结果将被判定为正确。
样例
样例输入 1
FOOT
样例输出 1
1 L
样例输入 2
FOOTS
样例输出 2
3 0QI
样例输入 3
FOOTS
样例输出 3
3 0GD
样例输入 4
FOOTSTOOL
样例输出 4
0