DISCO presents ディスカバリーチャンネル コードコンテスト2019 予選

D - チップ・ストーリー ~黄金編~


Time limit時間制限 : 2sec / Memory limitメモリ制限 : 1024MB

配点: 700

問題文

高橋君の飼い犬の BISCO は, ディスコ株式会社に 29 年務め, ついに退職の時を迎えた. 彼は会社に大きく貢献したため, 社長の WISCO から「黄金の正方形チップ」をプレゼントされた.

このチップには, 秘密の整数 N がデータとして入っており, BISCO は N1 以上 10^{12} 以下の整数であることを知っている.
しかし, この整数 N の実際の値は社長しか閲覧することができない.

それでも BISCO が秘密の整数を知りたがったので, 社長の WISCO は, 以下の値をヒントとして与えた.

  • a_2, a_3, a_4, ..., a_{30}29 個の値.
  • ただし, a_i は「整数 Ni 進数で表したときの各位の桁の和」である.

例えば, N = 1123 のとき, N4 進数で表すと 101203 となるため, a_4 = 1 + 0 + 1 + 2 + 0 + 3 = 7 となる.

BISCO のために, ヒントをもとにして秘密の整数 N を当てなさい.
ただし, 秘密の整数としてあり得る数が複数存在する場合はそのうちのどれを出力してもよく, そのような数が存在しない場合は invalid と出力しなさい.

制約

  • a_2, a_3, a_4, ..., a_{30} はすべて 1 以上 500 以下の整数

入力

入力は, 以下の形式で標準入力から与えられる.

a_2
a_3
a_4
:
a_{30}

出力

秘密の整数 N (\leq 10^{12}) としてあり得る数を 1 つ出力せよ. ただし, そのような数が存在しない場合は invalid と出力せよ.


入力例 1

3
5
4
1
5
7
4
9
7
5
3
13
12
11
10
9
8
7
6
5
4
3
2
1
25
25
25
25
25

出力例 1

25

N = 25 は, 秘密の整数としてあり得る数である.

  • 252 進数で表すと 11001 となり, 各位の桁の和は 3 で, これは a_2 に等しい.
  • 253 進数で表すと 221 となり, 各位の桁の和は 5 で, これは a_3 に等しい.

この性質は, a_4 から a_{30} までについても同じように満たされる.


入力例 2

500
30
33
36
39
42
45
48
51
54
57
69
63
66
69
72
75
78
81
84
87
90
93
96
99
102
105
108
111

出力例 2

invalid

a_2 = 500 に注目する.
2 進数で表したときに各位の桁の和が 500 となるような最小の正の整数は 2^{500} - 1 で, これは秘密の整数 N の値の上限である 10^{12} を大きく超える.
したがって, 秘密の整数としてありうる数は存在しない.


入力例 3

23
27
35
31
36
29
55
63
23
61
49
47
86
69
86
111
63
113
63
71
104
93
95
95
111
125
167
111
111

出力例 3

201811232111

201811232111 は, 秘密の整数としてあり得る数である.


入力例 4

14
25
20
13
31
41
30
49
2
61
68
65
67
65
56
65
65
83
27
81
107
101
106
41
126
93
83
121
108

出力例 4

invalid

秘密の整数は 10^{12} 以下であることに注意せよ. (この条件を除けば, 1000000000001 が秘密の整数としてあり得る数となる.)


Submit提出する