#abc198d. [abc198_d]Send More Money

[abc198_d]Send More Money

题目描述

给定由小写英文字母组成的字符串 S1,S2,S3S_1,S_2,S_3,求解字母算术表达式 S1+S2=S3S_1+S_2=S_3

准确地说,确定是否存在一组正整数 N1,N2,N3N_1, N_2, N_3 满足以下三个条件,并找到一个满足条件的三元组。
这里,N1,N2,N3N'_1, N'_2, N'_3 是表示 N1,N2,N3N_1, N_2, N_3 的字符串(不包含前导零)在十进制下的表示。

  • NiN'_iSiS_i 有相同数量的字符。
  • N1+N2=N3N_1+N_2=N_3
  • 当且仅当 NiN'_i 的第 xx 个字符和 NjN'_j 的第 yy 个字符相同时,SiS_i 的第 xx 个字符和 SjS_j 的第 yy 个字符也相同。

约束条件

  • S1S_1S2S_2S3S_3 中的每一个都是长度在 111010(含)之间的小写英文字母组成的字符串。

输入

输入以以下格式从标准输入中给出:

S1S_1 S2S_2 S3S_3

输出

如果存在满足条件的正整数三元组 N1,N2,N3N_1, N_2, N_3,则打印出一个这样的三元组,使用换行符作为分隔符。否则,打印 UNSOLVABLE


示例输入 1

a
b
c

示例输出 1

1
2
3

例如 (N1,N2,N3)=(4,5,9)(N_1, N_2, N_3) = (4,5,9) 也是可以接受的,但是 (1,1,2)(1,1,2) 不可以,因为它违反了第三个条件(ab 都对应 1)。


示例输入 2

x
x
y

示例输出 2

1
1
2

例如 (N1,N2,N3)=(3,3,6)(N_1, N_2, N_3) = (3,3,6) 也是可以接受的,但是 (1,2,3)(1,2,3) 不可以,因为它违反了第三个条件(1122 都对应 x)。


示例输入 3

p
q
p

示例输出 3

UNSOLVABLE

示例输入 4

abcd
efgh
ijkl

示例输出 4

UNSOLVABLE

示例输入 5

send
more
money

示例输出 5

9567
1085
10652