Wine from Kalbodia - Episode 2
Statement
Goal
«Story Background»The sequel to: https://www.codingame.com/training/medium/wine-from-kalbodia---episode-1
Several years after Episode 1 of Wine from Kalbodia, the Kalbodiwine Company realized that it was unfair for Kordak to have to deal with multiple unknown languages from both wine buyers and wine producers. After reworking the system, producers now ship their crates to a common packaging station first, and buyers have to get their requests translated to a common language as well... but these two halves still use different languages. At least there's only two unknown languages to deal with now. Unfortunately, as the packaging station has to unbox the wine bottles, apply the new labels, and then put them back into the boxes, it is not guaranteed that the wine will be in the same order as they are expected to be. Kordak's job remains the same: figure out which crate of wine matches to which request.
«Prompt»
As in Episode 1, Kordak receives N requests of wine and N crates of wine, formatted as single strings containing the letters
Both wine requests and crates are indexed from
Input
Line 1: An integer N representing the number of requests / crates
Next N lines: A string representing the i-th wine request
Next N lines: A string representing what is inside the j-th crate
Next N lines: A string representing the i-th wine request
Next N lines: A string representing what is inside the j-th crate
Output
N lines of integers in the same order as the wine requests given
Constraints
2 ≤ N ≤ 30
1 ≤ types of wine per request/crate ≤ 26
1 ≤ bottles of wine in an request/crate ≤ 500
There is one unique answer
1 ≤ types of wine per request/crate ≤ 26
1 ≤ bottles of wine in an request/crate ≤ 500
There is one unique answer
Example
Input
6 X YYYYYYY GG HHHHHMM FFFFFFFFCCCCCCC BBBBBBBBBBBBBBBBBB mmmmmmmmmmmmmmmmmm xxxxxyy ccccccccfffffff ggggggg b hh
Output
5 4 6 2 3 1
Tags
Parsing, Lists, Logic
Difficulty
Hard
Test cases
Ep 1 - Bulk Orders Test
Input
6
X
YYYYYYY
GG
HHHHHMM
FFFFFFFFCCCCCCC
BBBBBBBBBBBBBBBBBB
mmmmmmmmmmmmmmmmmm
xxxxxyy
ccccccccfffffff
ggggggg
b
hh
Output
5
4
6
2
3
1
Validator - Bulk Validator
Input
6
AAAAAAAAAA
BBCCCDDDDD
YYYYYYYYYYYYYYYYYYY
X
ZZZZZFFFFFFFFFFF
PPPPPP
xxxxxx
ayapyapppp
ffffffffff
bbbbbbbbbbbbbbbbbbb
z
cccdddddddddddcc
Output
3
2
4
5
6
1
Ep 1 - Small Alphabets Test
Input
12
AAAAAABABCCBBAAB
ABBAAACBAB
AAAABBBBBBBBBCCCCB
BBCAABBBBBCCBBBBBBBAA
BCABBACBABBCABBACC
BAACCBBAAAAABBBBBBBBBBCCAA
BBAACCCCCCBBBBBBACCCCCC
CCCBBBCCCCCBBCCCBBC
BABBCBBCCBBAAC
CBBBBBBBBBBBBAACCA
BBBBCCAAACCCCCCCCCCBAABCAA
CCBBBBBBCC
ccccccccbcbbbaaaac
cbcaccbabbaccaccab
cbbaabbccaaaaaacccccccccca
aaaaaaacaacbbccc
ccccccbaaccccbbccccaa
bbbaaabbbcbbbcbbcccbaacbaa
caccabbbbbcabbbbbbccccb
aabccacaac
bbbbbbccbbbbccbcbcc
cacccbccbaabbc
cbbcccccbb
bccabccccccabcccca
Output
4
8
1
5
2
3
7
9
10
12
6
11
Validator - Small Validator
Input
12
JILKJIJKJKLJIJK
JILJLJLKKKLKJIJ
KJLJLJLLLLJLJLJJJLJJJLJJJLJLLLJLJLJLJJJLJJLJL
JKJIJJIIILIILLKKJI
LKJKKKLLLLIIJILLIL
KJKJKLLJJJJIJIJIJJJJJJJJKKKJKJI
LLLLLLLJJJJJKKLLLLL
JKLJLLLLLLLLLJJKKKKKKKKKKKKKIIK
LKJILKLKJIIIIILLL
LLLLLLLJJKKKKKKIIIII
KKLKLKLILLILKKKKKKKKLLLIILLKLLLLLLLLLLIILKKKKLKLK
JKLKJJJJJJJK
kiiikjkkilkkkjjljk
liljlljkikklkii
ikiiiiijkikiiikiiiikkkjjkkkkkkikikikjkkjkkkkkjiki
ililikklllljljljlllllllliiililj
llllilllliik
kkllkkkkkkllliikkkk
liiijjikkkkkiklkkkiiiiiklliiiii
ljlilikljjkliil
iiiikkkkklljjjjjkkii
kkkljkikilkijjjjj
illlklkkkkklklklllklkklklklllklkklkllllkllklk
iiljlliljkkljjjkjj
Output
8
2
11
12
1
4
6
7
10
9
3
5
Ep 1 - One in a Billion Test
Input
14
KWXLXRXMNWVDTMS
ZBUJBBHYF
IWWYRIQNXTBJEOBVOKHGB
KKVPOHUYJELTCXEODTTNZOFTNKRSVEICWR
VIIMOFJXXHXXGW
PKPAVCNLBHOQDWTMHFKKSHMYUYOLXWBIVDWYPDZR
BNZJOXFQBFYJESRSOCXNWWXDXWFUPDBZPYEABAV
VYBU
RNNDHSVRXUNASCKXO
YJUEPNXBGCLRTPQGQEFYWAVACSDUVNVG
FWQMBINRYCYHUBBG
RGVOBWCQAYYKAJQZVH
DOQLFYMEVTAUOKWRELPWSWXBEGIAK
ECBFXHOSPXNJEBZHVJMADXPNHIKUY
kwxlxrxmnwvdtms
zbujbbhyf
iwwyriqnxtbjeobvokhgb
kkvpohuyjeltcxeodttnzoftnkrsveicwr
viimofjxxhxxgw
pkpavcnlbhoqdwtmhfkkshmyuyolxwbivdwypdzr
bnzjoxfqbfyjesrsocxnwwxdxwfupdbzpyeabav
vybu
rnndhsvrxunasckxo
yjuepnxbgclrtpqgqefywavacsduvnvg
fwqmbinrycyhubbg
rgvobwcqayykajqzvh
doqlfymevtauokwrelpwswxbegiak
ecbfxhospxnjebzhvjmadxpnhikuy
Output
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Validator - Billion Validator
Input
14
PLWXWAYIFNAZLASLGZDKSUSEAHNGZGMEWB
VZGFVDZZEYTAXAFSAUZVCZFTEOGFPHSKURFUQ
NLCESXMNWXIVXXTUYXZNZW
OJGJSDQXZSOVKZIRYHTJFMGBZRU
TWJOPQENTRGCVJPHZYLW
JJTXLRPJQONBPFTTR
BXCSHBCOOJ
OYFQSFNJTGNNZJWDBAPAOPDAMQTKZBITG
TAWVLRMZDABHYDDJWGK
QKGKRBDWFGMMUCZYJA
SRMJURNVNETTNOVYKNMNDENGTRCEXBCQ
LCZTAELEYCJVJUWFEMBJTFCLQUOJQCNE
EYLDIYUMGLCFNICCFTTHS
RCLLMRZNRRBRPWOMINTBRTRRZLMJMW
plwxwayifnazlaslgzdksuseahngzgmewb
vzgfvdzzeytaxafsauzvczfteogfphskurfuq
nlcesxmnwxivxxtuyxznzw
ojgjsdqxzsovkziryhtjfmgbzru
twjopqentrgcvjphzylw
jjtxlrpjqonbpfttr
bxcshbcooj
oyfqsfnjtgnnzjwdbapaopdamqtkzbitg
tawvlrmzdabhyddjwgk
qkgkrbdwfgmmuczyja
srmjurnvnettnovyknmndengtrcexbcq
lcztaeleycjvjuwfembjtfclquojqcne
eyldiyumglcfniccftths
rcllmrznrrbrpwomintbrtrrzlmjmw
Output
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Ep 2 - Logic Test
Input
6
AAADDAADDD
PAAPPPAPAA
PPNPPN
FFMFMF
PFFFPP
ZZZZCC
qqqqww
aaaaoo
kkkkkqqqqq
qcccqq
ccscsc
kkkrrkkrrr
Output
6
3
1
5
4
2
Validator - Logic Validator
Input
6
RRWWWWWWWWWW
VVVGVVVGGGGG
CDDCCD
VWWWVWWWWWWW
RRWWRRRRWWWW
VCVVCC
mllmml
ioooooiooooo
lljjlj
iioooooiiiio
mmmmkkkkmmkk
mmoooooooooo
Output
2
5
3
6
4
1
Ep 2 - Fuzzy Identification Test
Input
5
ABC
AACC
AABBCC
AAAAA
BBCC
iiiii
api
papa
aiai
ipiaap
Output
2
4
5
1
3
Validator - Fuzzy Validator
Input
5
FGHD
GGGGGG
HHHGGG
GHGHFF
HHHFFF
ciqa
iiiiii
qqqiii
iqiqcc
qqqccc
Output
1
2
3
4
5
Ep 2 - Blocks of Text Test
Input
20
VBBBBBBBEXXXMMMMMMMM
NNNNNNNNNIIIIQQQQQ
UUUUUUUUUAAAAAAIIIIIIII
JYYYYYYYNHHHRRRRRRRR
QQQQQQQQQFFFFCCCCC
UUUUUUUUUPPPPPPTTTTTTTT
CBBBBBBBSHHHYYYYYYYY
AOOOOOOOLJJJEEEEEEEE
IXXXXXXXQMMMVVVVVVVV
OBBBBBBBWZZZKKKKKKKK
XXXXXXXXXQQQQQQRRRRRRRR
DDDDDDDDDFFFFFFIIIIIIII
XXXXXXXXXSSSSSSOOOOOOOO
NNNNNNNNNQQQQMMMMM
CCCCCCCCCPPPPMMMMM
HHHHHHHHHOOOOEEEEE
VQQQQQQQORRRKKKKKKKK
EFFFFFFFVXXXRRRRRRRR
GGGGGGGGGTTTTTTDDDDDDDD
HHHHHHHHHVVVVVVTTTTTTTT
cccccccccwwwwwwzzzzzzzz
sssssssssbbbbbbrrrrrrrr
sssssssssiiiiiivvvvvvvv
ooooooooobbbbaaaaa
yqqqqqqqicccjjjjjjjj
bbbbbbbbbllllyyyyy
pjjjjjjjocccrrrrrrrr
cccccccccvvvveeeee
xxxxxxxxxddddddnnnnnnnn
elllllllwsssrrrrrrrr
wbbbbbbbvrrrffffffff
gggggggggzzzzzzkkkkkkkk
nsssssssbaaawwwwwwww
kkkkkkkkkllllllnnnnnnnn
yyyyyyyyyuuuuaaaaa
xxxxxxxxxuuuuuuzzzzzzzz
ooooooooonnnnbbbbb
vqqqqqqqtmmmffffffff
dvvvvvvvhpppeeeeeeee
wqqqqqqqesssaaaaaaaa
Output
20
17
9
7
6
16
5
19
13
18
2
14
3
4
15
8
11
10
12
1
Validator - Blocks Validator
Input
20
VVVVVVVVUUUUUUSSSSSSSSWWWWW
FFFFFXXXIIIIIIIAAAAA
XXXYYYYYYYYYZZZZZZZZOOOOOOOOOO
WWWWWWWW
XXXLLLLLLLLLCCCCCCCCMMMMMMMMMM
UUUUUNNNOOOOOOOWWWWW
RRRRRRRRIIIIIISSSSSSSSXXXXX
SSSSSOOOQQQQQQQEEEEE
PPPPPPPP
DDDUUUUUUUUUOOOOOOOOXXXXXXXXXX
YYYYYYYYPPPPPPNNNNNNNNQQQQQ
VVVVVVVVYYYYYYAAAAAAAAKKKKK
IIIIIIII
NNNFFFFFFFFFQQQQQQQQPPPPPPPPPP
DDDDDDDDVVVVVVIIIIIIIIFFFFF
YYYTTTTTTTTTPPPPPPPPRRRRRRRRRR
FFFFFFFF
MMMMMMMM
HHHSSSSSSSSSIIIIIIIIJJJJJJJJJJ
PPPPPPPPIIIIIIKKKKKKKKJJJJJ
ooooodddmmmmmmmvvvvv
uuuuuaaannnnnnnyyyyy
jjjooooooooommmmmmmmaaaaaaaaaa
nnnnnnnn
ffffffffooooooxxxxxxxxvvvvv
lllzzzzzzzzzwwwwwwwwpppppppppp
jjjjjjjjffffffnnnnnnnnuuuuu
ffffffffllllllyyyyyyyyeeeee
bbbbbbbb
ddduuuuuuuuuccccccccwwwwwwwwww
ppppppppnnnnnnxxxxxxxxaaaaa
aaalllllllllssssssssmmmmmmmmmm
llllllllwwwwwwddddddddccccc
xxxxxmmmcccccccggggg
kkkxxxxxxxxxnnnnnnnnqqqqqqqqqq
vvvvvvvv
uuuuuuuu
wwwwwwww
aaahhhhhhhhhttttttttbbbbbbbbbb
wwwwwwwwnnnnnneeeeeeeeqqqqq
Output
5
2
12
16
19
1
11
14
18
3
13
8
4
10
7
6
17
9
15
20
Ep 2 - Repeating Elements Test
Input
29
ABCDEFGZYXWVLKABCDEFGZYXWVLKABCDEFGZYXWVLKQQQQPPPPQP
ABCDEFGABCDEFGABCDEFGABCDEFGPPPPPP
ABCDEFGZYXWVABCDEFGZYXWVABCDEFGZYXWVIIIPPPPPPPPPPNNN
ABCDEFGZYXWVABCDEFGZYXWVABCDEFGZYXWVLLLLKKKK
ABCDEFGABCDEFGABCDEFGOOPNNH
ABCDEFGABCDEFG
ABCDEFGZYXWVLKABCDEFGZYXWVLKQQQQQQ
ABCDEFGABCDEFGABCDEFGCMMQPN
ABCDEFGZYXWVABCDEFGZYXWVQQPPQI
ABCDEFGABCDEFGABCDEFGABCDEFGIIIPPP
ABCDEFGABCDEFGHHMMNN
ABCDEFGZYXWVABCDEFGZYXWVABCDEFGZYXWV
ABCDEFGZYXWVLKABCDEFGZYXWVLKABCDEFGZYXWVLKQQQQQ
ABCDEFGZYXWVABCDEFGZYXWVABCDEFGZYXWVLLLLLLKKKKK
ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG
ABCDEFGZYXWVABCDEFGZYXWVQQQQQQQQ
ABCDEFGABCDEFGABCDEFGABCDEFGQQQQQQ
ABCDEFGABCDEFGABCDEFGABCDEFGPPPQQQ
ABCDEFGZYXWVQQQQQQQQ
ABCDEFGZYXWVABCDEFGZYXWV
ABCDEFGABCDEFGOOPPQQ
ABCDEFGZYXWVLKABCDEFGZYXWVLKHHHHNNNNN
ABCDEFGABCDEFGABCDEFG
ABCDEFGABCDEFGABCDEFGH
ABCDEFGZYXWVLKABCDEFGZYXWVLKHHNNNNNNN
ABCDEFGABCDEFGABCDEFGMMNNOO
ABCDEFGZYXWVABCDEFGZYXWVPPPPPPPP
ABCDEFGZYXWVLKABCDEFGZYXWVLKNNHHHHHHH
ABCDEFGABCDEFGABCDEFGABCDEFG
abcdefgabcdefgabcdefgmmnnoo
abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefg
abcdefgzyxwvqqqqqqqq
abcdefgabcdefgabcdefgoopnnh
abcdefgabcdefg
abcdefgzyxwvlkabcdefgzyxwvlkabcdefgzyxwvlkqqqqq
abcdefgzyxwvabcdefgzyxwvabcdefgzyxwvllllllkkkkk
abcdefgzyxwvlkabcdefgzyxwvlkabcdefgzyxwvlkqqqqppppqp
abcdefgabcdefghhmmnn
abcdefgzyxwvlkabcdefgzyxwvlkhhhhnnnnn
abcdefgzyxwvlkabcdefgzyxwvlkqqqqqq
abcdefgzyxwvlkabcdefgzyxwvlknnhhhhhhh
abcdefgabcdefgooppqq
abcdefgzyxwvabcdefgzyxwv
abcdefgzyxwvabcdefgzyxwvpppppppp
abcdefgabcdefgabcdefg
abcdefgabcdefgabcdefgabcdefgpppppp
abcdefgzyxwvabcdefgzyxwvabcdefgzyxwviiippppppppppnnn
abcdefgabcdefgabcdefgabcdefgiiippp
abcdefgzyxwvabcdefgzyxwvabcdefgzyxwvllllkkkk
abcdefgabcdefgabcdefgcmmqpn
abcdefgabcdefgabcdefgabcdefgpppqqq
abcdefgabcdefgabcdefgabcdefgqqqqqq
abcdefgabcdefgabcdefgabcdefg
abcdefgzyxwvabcdefgzyxwvabcdefgzyxwv
abcdefgabcdefgabcdefgh
abcdefgzyxwvabcdefgzyxwvqqppqi
abcdefgzyxwvabcdefgzyxwvqqqqqqqq
abcdefgzyxwvlkabcdefgzyxwvlkhhnnnnnnn
Output
8
17
18
20
4
5
11
21
27
19
9
25
6
7
2
28
23
22
3
14
13
10
16
26
29
1
15
12
24
Validator - Repeating Validator
Input
29
LMNOPLMNOPLMNOPQRSTQRSTUVWXYZUVWXYZUVWXYZ
AAAAAAAAAAAJJKKBBBBBBBBBBBBBBBJJJQRSTJJJJAA
UVWXYZUVWXYZLMNOPAAAAAAAAAAAAAAAAAACCCCCCCCCQRSTQRST
QRSTKKJJJJJJJJGGGGHGHGJJ
LMNOPJUVWXYZJJJJJGGGGGGGKJGJJJGGGGGGGGGGJKKGJ
BAAAAAAAACCCCCBJJJJJJJGJGGLMNOPQRSTQRST
BBBBLMNOPBBJAJAAAAAAAAAAAAAAAAA
QRSTAAAAAAAAAAAAACCCCCCCCCCCCCCCCCBBBBBBBBBBBBBBAAAAA
LMNOPKKKKKKKKKKJJJJJJJJJJJKKKKKKJJJKJQRSTQRSTKJKJKKKKKKKK
ABBAAALMNOPAAAAAACCCDDDDDDUVWXYZDDDDDAABB
KKKKKKKKKQRSTKKKKKCCCCCCCCCCCCCC
QRSTQRSTQRSTQRSTQRST
ACBBBBBBBQRSTBLMNOPCBBBBBCBBBBBCJQRSTJBBBBBBBBBBCJKLMNOPJKAAUVWXYZAAAAAA
BJAAAAAAAQRSTAJAAAAAJAAAAAJBBAAAAQRSTAAAAAAJAKAKAAAAAAAA
UVWXYZUVWXYZ
BUVWXYZUVWXYZUVWXYZBBBBBBBBBCCCCCCAAAADDDD
QRSTGGGGGGGGJLMNOPJJJJJJJJJJJGGGGGGGGQRSTQRSTGJJJUVWXYZ
AAAAAAAAAABBLMNOPBBBBCCCCJJJJ
UVWXYZ
GJJKBBBBBBLMNOPBBKKBJJLMNOPGGGGGGQRSTGGGGCCCCCCCC
LMNOPBBBBBBBBBBBCAAACCCCCCCCBBBBBBBBCQRSTQRSTAAJJ
ABBCCCDDDAALMNOPUVWXYZUVWXYZUVWXYZ
CCCCCCCCCQRSTCLMNOPCCCCCCCCCCCJBJQRSTBJJ
UVWXYZUVWXYZUVWXYZ
QUVWXYZRSTGGGGGJKJGHHJGJJLMNOPJJJJJJJJJJJJJJJJJJJJJKKK
KKKKKKKKKKJJJJUVWXYZUVWXYZJJCCCCBBBB
LMNOPHJGGGGGGGKHHHHHHHHHHHHHHHHHHHHHUVWXYZUVWXYZHHHHHHHHHHHH
LMNOPBBBBQRSTBLMNOPBBBBBBBBBJJJJJJJJJJJJJJ
QRSTGBBBBBBBBBGGGGGGGGGCCCCCCCCCCGGGG
lmnopbbbbqrstblmnopbbbbbbbbbjjjjjjjjjjjjjj
abbaaalmnopaaaaaacccdddddduvwxyzdddddaabb
uvwxyzuvwxyzuvwxyz
bjaaaaaaaqrstajaaaaajaaaaajbbaaaaqrstaaaaaajakakaaaaaaaa
qrstgbbbbbbbbbgggggggggccccccccccgggg
cccccccccqrstclmnopcccccccccccjbjqrstbjj
aaaaaaaaaaajjkkbbbbbbbbbbbbbbbjjjqrstjjjjaa
lmnoplmnoplmnopqrstqrstuvwxyzuvwxyzuvwxyz
gjjkbbbbbblmnopbbkkbjjlmnopggggggqrstggggcccccccc
qrstkkjjjjjjjjgggghghgjj
qrstqrstqrstqrstqrst
uvwxyz
lmnophjgggggggkhhhhhhhhhhhhhhhhhhhhhuvwxyzuvwxyzhhhhhhhhhhhh
bbbblmnopbbjajaaaaaaaaaaaaaaaaa
buvwxyzuvwxyzuvwxyzbbbbbbbbbccccccaaaadddd
abbcccdddaalmnopuvwxyzuvwxyzuvwxyz
kkkkkkkkkqrstkkkkkcccccccccccccc
quvwxyzrstgggggjkjghhjgjjlmnopjjjjjjjjjjjjjjjjjjjjjkkk
uvwxyzuvwxyzlmnopaaaaaaaaaaaaaaaaaacccccccccqrstqrst
acbbbbbbbqrstblmnopcbbbbbcbbbbbcjqrstjbbbbbbbbbbcjklmnopjkaauvwxyzaaaaaa
lmnopbbbbbbbbbbbcaaaccccccccbbbbbbbbcqrstqrstaajj
uvwxyzuvwxyz
lmnopkkkkkkkkkkjjjjjjjjjjjkkkkkkjjjkjqrstqrstkjkjkkkkkkkk
baaaaaaaacccccbjjjjjjjgjgglmnopqrstqrst
qrstaaaaaaaaaaaaacccccccccccccccccbbbbbbbbbbbbbbaaaaa
kkkkkkkkkkjjjjuvwxyzuvwxyzjjccccbbbb
qrstggggggggjlmnopjjjjjjjjjjjggggggggqrstqrstgjjjuvwxyz
aaaaaaaaaabblmnopbbbbccccjjjj
lmnopjuvwxyzjjjjjgggggggkjgjjjggggggggggjkkgj
Output
8
7
19
10
29
24
14
25
23
2
17
11
20
4
22
15
27
28
12
9
21
16
6
3
18
26
13
1
5
Ep 2 - Pushing Limits Test
Input
30
UUKKKKKUKUKKUKUUKKKUUUUUKKUUUKKKKKUKKKKKUKUKKUUKUUKUUUUKUUUKUUUKUUKKUKKUUUUUUUUUKKKUKKKKUKUUUKKUKU
AOOAAAAOAAAOAAOAAAOOOOOOOOOOAOAOOOAOAOOOOOOOOOOOOOOAAOOAOOOOAAAOOOAOOOOOAAAOOOOOOOOAOOAAOAAOAOOAOAOOAOOO
TTTTWTWTTTTWTTWTWWWTWTWTTWWTTWTWWTTWWTWWWTWWTWTWWWWWWTWWTTWWTWTTTTTWTWTWTTTTWWTTWWTWTTWWTWTWWWWWWW
QQQGQGGGQGQQGGGGQQQGQGQQGQQGQGQQQGGQQGQGGQGQGGGGGGQGQGQGQQGQQQGQGGGGQQGQQQQGQGGQGGGGQGGGQGGQGQQGGQ
AAAAAAAAAXXAXAXXAXXAXAAXAAAXAAXAXAXXAXAXXAAAAXAXAXXXAXXAAXAAAXAXAXAXXXAAXXXAAXXXXAAXAXXAAAXXAXAXAAAAAAAXAXAAAX
AHAAAAHHAHHHHHAHHAAAHHHHAAHHHAHHHAHHHHHHAHHHHAHHAAAAHAHAHHHHHAHAAHAAHAHAAAAAAAHHAAAAHAAAAHHAAHHHAA
PAPAPAPPAPPAAPPPPPPAPAPPAPAPPPAPPPAPPPPPAAPAPPPPPPAPAPAPPPPPAPPAPAAPPPPAPAPAAPAPAPPPPAPPAPPAAPAAAPPPPAPP
DEDEEDDDEDEDEEDEEDEEEDDEDEEEDEEDDEEDEEEDDEDDEEEEEEDEEEDDDDEEEDDDDEEDEDDDDEEDEEDDDEEDEEEDDEDDDEEDDD
HTTHHTTTTTTTTHHTTTTHHHHHTHTTHTTHHTTTHTHTTHTTTHTHHHTTTTTTTTTTTTTTHHTHTTTTHTTTTTTTHTHHTHHTTTTTTHTHTTHHTHTH
HHFHFFHHHHFFFFHFFFHHFHHHFFFFFHHFFFHFFHHFHHHHFFHHHHFFFHFFHFFFHFHFHHFFFHFHFFFHHFHFHFHHFHHFHHFFFHFFHH
MZMMZMZMZMMMMMZZZMZMMMMMZMMZMZZMMMMMMMZZMMZMZMZMMZMMMZMZMMMZMZZZMZMMMZZZZZMMZZMZZZZZZZZZMMMZMMMMMZMZMMZMZMZMZM
VVZZVZZZZVVVVZZZVZZVVVZZZVZZVZZVZZZVZVVVVVVZZVVVZVVZVZVVZVZZVZVZZZVVVVZZVVVVVVZVVZZZZVVVZZVVZZZVVZ
NVNVVNVVNNNVNVNNVNVNNNVNVVNVVVVVVVVNNNVVNNNVVVVVNVNVVVNVVVVNNNVVNNVVNVVVVNVVNNNVVVVNNVNNVNNNNNNNNN
JJJTTJTJJTTJTTJJJTJJJTJTTJJTTTJTJTJTTJTTJTTJTTTTTJJTJJTJTJTJTJTTTJJJJTTTJJTTTJTJJJJJJJTTTJTJJJJJTJ
UURRRRRUUURURRURRRRRRRRUURRRRURRRURUURURRRRRURURURRRURURRRRRRURURURRURRUURRUURUURUURUURURRRUURRRRRRRRRRR
HHLHHLHLLLLLLLLHHLHLLLLLLLLLHLHLLLLHLLHHLHLHHLLLLHLLLLHHLLHLLHLHLLLHLLHLLLHHLLLHLLLHLLHLLLHHHLLHLHLLHLLH
QMQQMQQMQQMQMQMMQQQMMMMQQQQMQMQQQQQQQQQQQMQMMQQMMQQQQMMQQMMQQQQQQMQQQMQQMQQMQMMMMMQQQQQQQQMQQQQMQQQMMQQM
SSDSSDSSSSDDSSSSSDSSDSSDDSSDSSSSDSSDDSSSDDSSSSSSDDSDSSDDDDSDSDSSSSSDSDDDSDSSSSSDSSSSDDSDSDSSDSDSSSSSDSSS
EBBBEBBBBBEBBBBEBBEBEBEBEBBEEEBBEBBBBBEEEEEEEBBBBEBBEBBBBBBEBBEBBBBBBBEBBBBBEEEEBEBEEBEBBEBEEBEBBBBBBBBB
AAAAIAIAAIIAIIIIIIIIAAIAIAAIAAAAIIIAAAIAIAIIAAIIAIAAAIIAIAAIIIAIIAIIIAIAIIAIIAAAAAAAAAIIIAIAAIAAAI
MSMSMMMMMMSSSMSSMMSMSMMMMMSMSMMMMSMSMMSMMMSMMSSMMSSSMMMSMMMMMMMSMMMMSSSSMMMMSMSMMSMMSMMSSMMMMSMSMMSMMMMS
CJJCJJJJJJJJJCJJJJCCJJJCCJCJCJCCCCJCCJJCCJCCCJCJJJCCCJJJJCJJJCCJCCJCJJJCCCCCCCCJCCJJCCCJCCCCCJCCCJ
OGGGGGGOOGOGOOOGGGOOGGGGGGGGGOOGGGGGOGOGGGGGOGOGGGGGOGGGOGOOGOGGOGGGGGOGGOGGGOOOOGGOGGOGGGOOOOOOGGGGGOGG
NNQNQQNNNNQQNQNNQNNQNQQNNNQQNNQQNQNNNNNQNNQQNQQNQNQNNNQNNNQNNQNQNQNQNQQNNQQQNQNNQQQQNNNQQQQQQQQQNN
RUURRUUURRRUUUURRUUUURUURRUURURRURUUURUURRRRRRUUURUUURUUURURRRUURRRRURRURRURRRURRUURURRUUURURUURUU
AHHHAAHHHHHHHHAAHAAHAHHHAAHAAAAHAAAAAAAAAHAAAHHHAAAAAHHHAAHAHHAAAAHAAAHHHHHAHHHAHHAAAHHAHHAHHAAHAH
KKKSKKSSKSSSSSKSSKKKSSKSKSKSKKSKKKKSSSSKSSKSSKSKKSKSSSKSKSSKKKSKKSSSSSSKKSSKSSSSSKSKKKSSSKSSSKSSSKKKSKSSKKSKSS
YYYYWWWYWWYWYYWWYYYYYYYWYYWWYWYYWWYYYWWYWWWYYWWYYWWYYYWWWYYYWWWYYWYYYWYWYWWYYWWYWWWWYYYYWYWYWYWYWYYWYYYYWYYYYW
VVBVBBVBVVVBVVBVVBBBVBVBVVBVVVBVBBBVVVVBVBBVBBVBVVBVVBVBBBBBVBVBBVBBVBVVBVVBBBVVBBVBBBBBBVVBBBBVVV
ZSZZSSSSSSSSZZSSSSZSSSSSSZZSSSSZSZSSZSSZZSSZSSZZZZZSZSSZSSZZSSSZSZSZSZSZSSSSSSSSZSSZSSSSSSSSZZSSSZZSSSZZ
oooohhhoohhoohohoohohohhhhooohhohhoohhoooohhhoooooohoohhhhooooohooohhoooohooooooooohooooohooohhooooooooh
ddllddlldlllldddldldddldlldllddlddldllddddllldddddldldlldllllllddlllddlldlddlldldllddllldlldldlldd
uuuuiiuiiiuuuiuuiuiuiiuuuiuiiiiuuiiiiiiiiiiiuiuiuiiuiiuuiiiiuiiiiiiiuuiiiuiiiiiiiiuuiuiuuuiiiiiiiuuiiiii
vvvvwwwvwwvvvvwvvwvvvvvwvvwwwvvvvwwvwwvwwwwwvvvwvwvwvvwwvvwwwwwwvvwwvvwwwwvwwwwvwwwwvvvwwwvvvwwwvv
uuhhuhuhuhhuuuuhuhuuuhuhhhuhuuhuhhuhuuuhhuuhuhuuuhhhuuhuhhhhuhuuuhhuhuuhhhuhhuuuhhhuhuuhhhhuhhhhhu
qcqcqqcccqcccqccqcqcqqccqqcqqqccqccqcccqcqqcqqcqqcccqcccqcqccqqccqqcqcccqqqqccqqcqcqccqqqqqccccqcq
ssyysyyyysssyssysyysyssssysssyysyyyysyysssysyyyyyyyysssyysyyssssyyyyyssyyssysyssyyssyyyysysssssyys
owoooowowwwooowwowwwwowowwoowowwowowooowooowooowowowwwwooooooowoowoowowoowowowwwowwowwoowoowwwowww
zzzizziiizziziizzzzzzzzzizizizziizzzzzzizizziziiizzzizzzziizzzzzziziziiziizzzziizzziiiizizzzzzzizzzzzzzi
ffffflflflflllflfllfflffffllffffffflffflflllllllfflfllfflfffflfflllflffffflffflfllllffflfffffflllllffflflfllll
qddqdqqqqqqqqqddqqdqddddddqqqqdddqqqqdqqqqqdddqdqdqqqdddqdqqdqddqdqqddqddddddqdqddqddqdqqqqqqqdddd
seseeesssesesseeeseesseseseeseeessseseesssssssseeeesessssessseeeeeeeeesseessseseseessseeseeeseesee
eereereeeerrrrreererrerrerrreerererrrrrrerrerrrrereereeerreeeeerreeeerrereerrrerreeeeeeeerrereeeer
jjvjvjjvvvjvjjjjjjjjvvvvjjjvjjjjvvjjvvjjjjvjjvjjvvvjvvvjvjjvjvvvvjvjjvvvvvvjjjvjvvvvjjjvvvvvvjvvvv
xxixiixiiiiiixxiiixixiiiiiixiixxiixxiiixiiiiixxiixiiiiixiiiiiiiixiixiiiiixxxxxiiixixiiixiiixiixxixxixxxi
npnnnpnpnnnnppnpnnpnnnpppnpnnnnpnnnnnnpnnnnpnpnnnpnnnnpnppnpnnnnppnnpppppnnnnnppnpnpnnppnnnnnnnnnnnpppnn
xxwxwxwxwxxxwwwwxxxwwwxxwwxwxxwxwxwwxwxxxwxxwxwwxwwwwwwwxwwxxxwxwwwxwwwxwwxwwxxxwxwwwxxwxxwxxxxwwx
sskskkkkkskkkksskkkskkkskkkssskkkkkkskkkskkkkkkkksssskkkksskkksskkkksskkkkskkskkkskkkkksskkkksssskksskss
nnjnjjnjnjjjjjjjjjnjjnjnnnnjjnnnnjnjjnjjnjjjjnnnnnjjnnjjnnjjnnjjnnnnnnnnjnnjnnjnjjjnnnnjjnnnnjjjjn
ammmmaamaaaaammaamammaaammamammmamaammaammamamaammaammammammmmaaamammmmmmammammmaaaaaaamaamaamammm
sddsdsdddddsssddssssdsddddsdddddsdddsdsdsddssdddddssddddddddsdssdddddssdsddddddsdsdddsssssdddddsddsddsdd
epeppppepeepppepepeeepeppepeppppepppppeepepppeeppeepppeepppeppeppppppeppppepeppppppeppepepepepppepeppepp
eeesessseeeeessseseeeeseeseeesssseesssesseeesssssssesseseeseseeeessesessesssesseessseeeseeseesssss
jjzjjzjjzjjjjjzjzjjzzjjjjjjjjjzzjzzjzjjjzzzzjjzjjjjzjjjjzjjjjjjzjzjjjjjjjzzjzjjzzzjjjjjzzjjjjzzjjjzzzzzj
ggmmmmgmmgmgggmggmgggggggmggmmggmmggggmgmgmgmggmmgmgmgmgmggmggmggggggmgggggggmggmgmgmggggmgmggggggmmggmg
gmgmmgmmgmgmgggggmmgmmgggmmgggmmgmgmmgmgggggmgmmmmmmmgmmgmggmggmmmmgmmgggmgmmmgmgmmmgmmmgggggmgmmg
eteeeetteeeeeteeeeteetetteetttetetteeteeeeeeteeeeetettetteeetttteeteteeteetettetetttteeeettttettteeeteeeettett
iiiiaiiiaiiaaaiaaiaiiaiaiaiaaaiiaiaiiiaiaiiaaaaiaaiiaiiiaiaaaiiiiaaiiaiiiaiaaaaiaaaiiiiiiiiiiiiiaaaiiiaaaiaiai
zxzxzxxzxzzxzxzzzxzzxzxzzzzzzzzxzxzzzzzxzzxzzzzzxzzzzxxzxxzxxxxxzxxxxxzzzxxxxxzzzzxxzzxzxxzzzzxxxzxzzzxxxxzzzx
ebeeebebebebbbbbeebbbbbebbebbebebeebbbebbebbebbbbebbbbbbeebbebbbbbbbbbeebebebebeeeebbbbebbbbbeebebbbebbb
Output
20
22
2
19
27
23
30
5
21
7
29
17
4
11
25
18
24
3
1
13
9
6
16
14
26
12
28
10
8
15
Validator - Limits Validator
Input
30
EEEEVEVEVVMMEMVMEVVVEMEEEVEMMVEEMEVEEEEMVEEMEEEMEMMVEEMEEMEMMMVEMVMEMMEEVMMEVVVVVMMVMEEEVVEEMEEMEEMMVMEEVEVVEEMMEEVVEME
BBBBVVVVBBBBVVBVVVBVVBBVBBBVVVBVBVBVVBBVVVVVBVVBBVVVVVVVVVVBBVBVBVVVVBBVVBBVBVVVVBBBVVVBBVBVVVBBBBVBBVBVVBBBVBVBBV
HIHHIHHIHIIHIHIHIIIHHHHHHIHHHIIHHHHHHHHIHIIHIHHHIHIHHHIHHIHIIIIIHIHIIHIHIHHHHIIIIHHHIHHHIHIHHHHHHIIIIHIIIHHHIIIIII
VVVVGGVGGGGVGVVVVGGGGGGVVGGVGVGGGGVGGGVGVGGVGGGGGGVVVVVGGGGVGGGVGGVVVGVGVGGGVVVVVGVVVVVGGVGGVVGGVGVVGVVVGGVGGGVGGG
QQZZQZQQFFZQQQFQFQZQQZZFFQFQQQQZQQQQFFFQZZQFFZQZFQQQQFQZFQFZFQFQZFQFQQQFFFZZZFZQZFZQZFZFQFQFQQFQFQQZZZQFZQFZFQQFQZZQQQQ
FNFNINFFFNIFINNFFFFIINFFFNIFNFIIIFFINNNNIIFFIIIFFFNFFFFNIIFFFIFFINNFINNIFINIFNIIFFNFIINFFIFFINFNNFIIFFIFFFNIFFFFINFNFIN
QKKKKQKKKKKQKQQQKQKQKQQQQKQQKKQKKQKKKKQKKKQQQKQKQKQQQQKQQQKQKKQQQQQKQKKKKQKKKKQQKKKKKQQQQQQQQKQQQQQQKQQQQKQQQQKQQK
WWENWENNNNNEENWEWWEWEEEWWEWWENWEWNWEWWWNWWNWWENEWNEWWWWNEWENWWWEWEWWWWWWWEWWENNNNNEWNNNWWNNEWWWWWNWEWWEENWENNNNNEWNNWEN
YHYHYHYYHYHHYHHHYHYHHHYYHYYHHYYYYHYHYHYYHHHHHHHHYYHHYHHYHYYHHHHHHHHYHHHYYHYHHYHYYHHHHYYHYHYYYYYHYYYHYYHYHHYHHYHHYH
NNNNAPAAPNPNNNAANPAPANANNPPNNNAPAANNNNNNNPNNNAANPPNAANNAPPAAAANNNAPAANAPNPANNNNPNAPAPNPANNNNAPNNANNPNNPPPAPPNPNNAAPAPNA
KTTTTKKKTKTKTKTTTTTTKKKKKTKTTTKKTKTKTKTKKTKTTTTTKTTTKTKKTTTKTTTKKTKTTTKTTKKTTKTKTKKKTKKTKTTTKKTTTTKTTKKKTKTTKKKTTK
TWTTTTWTTTWTWTTWTWWTTWWWTWWTTWTTWWWTWWWWTWWTTWTTWWWWTWWTTTWTTWWWWWWTWWTWTTWTTWWTWTWWWTWWTWWTTWTTWTWTWWWTWWTWWWTWWT
NRNRRNNNNRRNNNRNRRRNNNNRRNRRRNRRRNNNNRNNNNRNRRRNNNNRNNRNNRRNNNNNNRNNRNNNRRRRNRRNNRRRNNNNRRRNNRNRRRNRNNRNNRRNRRRNNN
HEEEEEHEHEHHEHEHHEEHHHEHHEEEHEHHHEEEHHHEHHHHEHHEEEEHEHHHHHEEHHHHHHHEHHHEEEHHHHHHHEEHEEEHEHEHEEEEEHHHHEEHHEEHEHEHEH
MMFMLMLMMMLLLMLFFMLMLFLFMMMMFFLMFMMLMMMMMLLMMMMFMLLFFMLMFFLLMMMFMFMFMLMMFLFMFLMFFMFFMFFMMMLFFFLFMLFMMLMLMMMMLLLFFFMMLFF
BBOTTTOOOOOOBBOTTOBOBTBOOOOTTTBOOTOOTBOOBBOOOBOOOOTBTBTTBBTOOOBOBBTBOTTOTBTBOTOOBBOOTTOOTTTTOOOBBOOTBBOTTBOOOTOOTOOBTOT
OMMMTTMMTTOOMOTTOTOMMOMOMOOMMOMOOOTTMOMMOTOTMMOOMTMOMTTMMTTMMMMOMOMTMMOMTOOOOTTMTOOMMMMOMMTTTTMMOTMTTMOMTMMMTMMMOMOMMOM
GHHHHLGGGGHHHHGGLHLHLGGGHLLGLGLHGHLGGLHGHGGGLLGGGLGHGLGHLHGGGGHGGGGLHHHGLLLLLLGGLHHLGHHLHLGLGGGGLGGLLLLGHLGHGHLGGLGGGGG
SSSWSSWSWSWWWSWWWSSSWWSSWSSSSSSSWSWWWSSSWWWSSWSWWWWWWWWSWWWSWWWSWSSWSSSWWWSWSWWWSWSSSWSWSWWSWWWWWWWWWSWWSSSWWWSSWS
JWJDDDDJJDWDDWJWJJJJDDDJDDWDDJDDDDWJWWJDDWWDJWWDWJWJDWDJJWJJJJWDDDWWWDJDDJDWDDDWJDDDWDWDDDJDDJDWWDDWWDDDDWWJDWWJWWDDWJD
KJJKJJJKJJKBJBJJJBKKJBJBBJKKBBKJJBJJBJJKJBBKBBJJKJJJJKJJBBJJBKKBJBKJJJJJBJJJKBBKJJKJBBBJKKKJJJJBKBBJKBBKKBKBKBKJBJJJBJK
LALLALAARRLRRRLLALLRARLALLALLLALLRAARLALLLRRRRALAAALRLARLAALALAARLLLLLRLLARRALALLARLRRRRLLLLLLLAARARRALLARLLALALRRALALL
WWMWMEMEEEMEMEEMEEMMWEEMWEWEEWEWMWEWEMMEMMMEEEEMMMWEEMMMEEMEEEMEMEEMEWWWEEMWEEWEWEWWMEEWMMMEMEWEEWEEMWMEWEEEMWWMEWWEWWE
GGGHHGHHGHHSGGHGGHSSGGHGGGHHHGGGGSGSSHHGGGGHGGSGSGHGGGSSHHHGGGSHSGSHGGSSGGSHHGHHHGGHGSGHHGGSSGHSSSSSSSSSGGHHGGGSSHHGGHG
JJJWJJJWJWJWJWJWWWWWWJJJJWWWWJJWJJJWJJJJWWWJJWJJJWWJJJJWJJJJJWWJWWJJWJJWJWJWJJJWWJWWWJWWWJWJJJJJWWWWJJWWWWJJJWJWJJ
KRRRKKRKRRKKRKRRRKKKKKKKRRRRKKKRRRRRKRRKRKKRKRKKRKRKKKRKKKRKKKKKRKKKKKRRKKRRRRKRKKKRRKKRKKKKRKRRRRRKRRKKRRRKKRKKKK
GGPGGPPLGLGGGPGGGGLLPGLPGGPGGPGLLPGGLPGLGGPLGLPGLLPLPLGGPLGGLLLPGPLGPGGLLGPLLLPPGGLGGPLLGGPGLPGPGLPGGGGGPLLLPLLPGPGGGGG
YYVYVVVVVYVYYVVVYYVYYYYVVYYVVYVYVYVYYYVYVYVVYVVVYVYVVVVVYVVVVYVYVYVVVYVVYYYYYYYVVYYYVVVYVVYVVVYYYVYYVYYVVVVYVVVVYV
HHYHHHHHWWYHWWHHWYHHHHYHYYHYHWHYHWYYYHYHHHYWHYYHHWHHWWWHWHHWHYHHHWHYHWWWWWHYYHWWHWHWYWHYWWWYYHYYYHWHWHHWYHYHHHWHHHYYWWW
MMMCCPMMMCMCMMCPMCPMCMCMMPMPMMPPPMPMPMPCCPCMCCMMMPPMMCPMCMMCCPMCPMMMPMCMMMMPMCCPMMMCMPPCMPCCPPMPPPMMCMPMMMPPCPMMMCPCPCP
dkdkddkkkdnddkdnknknddndndkdndkknddndndndnnndknddnkdndkdnkdnnndnddnnkdnddknknddddkndnkkdnddnddnnddnndkddkdddkkkddkkkddk
xspppxxpxpsxpxxxspxpspsppxsxxxxpxxxsssxpxsxxpsspxppxxxsxpssxxsxsxssxxxxxssxxpxssssxpppxssspspxxsxxpppxxssxxpxssxpxxspxx
ffggfffggfffffgggggffgffggffffffggfggfgfgfgggfgfgfffgffffggffggffgffggggggffggfgfggffgfgffgfgfffgffffgfgfgffgfffgg
ggggmgmmgmggggmmggmgmmgggmgmgggmmmmgmmmgggmgggmmggmgmmgggggmgggggmggmmmmggggmggmgmgmmgmmmgggmmgmmmmggmmmmgggmggmgm
acccaaccaacccacccacaaaacaaacccacacacacaacaaaaccaaaacacccaaaaacacaccccacacaacaaaaaaaccacccccaaaaacaaaaaacccaacacacc
fdddfdffffdfdfdddfdfdfddfddfdffdfffdddffddffddfdddfdddfffdffddfffdfffdfdddfdfddfdddffdddfddddddfdffddddfffdffddfdd
fwhhfwhfwfhfffhfwhfwfwwwwwwwffwwwhhwfhwwwwhwhwhffwwhffwwhfhfhwhhhhhfhhfffwwfwwhfwfhwfwhwfwwhwwwfwwffwfwfhhwfwwfwwwwwhww
qtdqqdqtqdqqqtqtqqtqqddddqdtqqqdqtqqqqqqdqdqttqtqtqtqtdqqtqdqtqtdddqdtqtqqqqtdtdqdqqddtdtdddtdddqttdqddtqqttqddqtqqqdqt
nynbnnyynnynynbnbynbnynbbnynnnyynnybybnnnnnynnnnbnnyynnybyynbbyynbbybyynbbbnbnbnnynbnnnbyybynnbbnynynyybbnynynynnynbnbb
vvavavaoovoavvoovaoavaovaaavovoaoaavvaavaaavaooavvaoavaaaaoaavoaaaavoovaaaaaoaaaoaaaoaooaaoavoaovvovoaoaavvooooavooaoav
xgxggxgxgxxxggggxxxxgggggxxxxggxxxggggxxgxxggxxxggxxxgxxggxxggxxxgggxgxxxxxgxxxgxgxxgxxgxggggxgxxxgxxgxxgxgxgxxggx
iffiiiiwfwiiwfffwifiiifwiiiiiiwwwwwfififwififfifiwfwiiiiiwwiiifiwfwwwiiiwiiwwwwwiwiwffifiifwwiwwifwifwifwiiiifffiiiwfif
ggtgtgghghttgttththtgthghtthhthttggggtggghtthhthhthtgghtthttthghhtthhttthhthtthtthtgtgthghgttttgtttthhthhttghtgtggtgght
kckkkikiiikkkikkkkiiikiiicckciikcckcckkicccikcckiiciickkckkccckciicikkkkkicikickkkcckcikiikkckikkkiickkkkkkkkiikiikcckk
oooroooooorrrrooorroooroorrorrororoorororooorrororrroorroororrroroooorrrrorooooooroooorrorooroorrorororrooroororrr
jmyjyjymjyjmmjjjjmjmjjyyjmyjjmmjymjmjmmyyjmmymmyjjyjjjmjjmjyjymmjmjjmjyjjjmymyjyymjyjjmymjyjyyjjyjyyyjmjjjjyjjyjjyjyyym
babbjjaajjjabaajabaajbbaajjaaajjbajjaabbbjajbjjajbajajbaajbajabaajbbjbbjaabjaaaaajaaabbaaabbajabajjaaaaaaajaabjjbajbbja
hhhhchhccccchhccchhchhhhchcchcchhchchchhchcchcccccchchhcccchcccchchcchhchcchcccccchcchhhcchhchchhhhchhchcchcccchhc
kkkikkkkikikkkkiikkidkkiikddkdkdkikkdkkiiikikdidkiikkdkkddiikdkikididkkiikkkidkkikddkdikdiidddddkkiidkkkdkiikidkdkdidik
oaooajajaojjojaajjjojaaaaajooaajojoojaoaaaaoajaoaaoaaaaaaajoaaoaajojjjajajaajoaaoaajajaaoajajojoojojojaaaojjoaaaajjoaoj
dvdvvvvddddvvvvvdvvdddddvdvvdvvddvddvdddvddvvvvvvddvvvddddvddvvdvdvvvvvddvddddvvvdddddddddvvvddddvdvddddvvdddddvdv
eeoeeooeoooeooooeoeooeeeeooooeoeoeeoeoeeeooooeooeoeooeeeeoeeooeooooooeeeoeooooeoooeeeeooeeooooeoeeeoeoeoooooeoeeoe
nnnnmnnmmnmmnnmmmnnnmmnnnmnmnnnmnnnmmmnnnmnnmmnnnnnnmmnnmnmmmnmnmnmmnnnmnmmmnnnmnnmnnnmnnmnmmmnnnmnmmnmmmmnnmnmmmn
nnssssnenneenssnsnssesnesssnsesessessnsnsesssennnesnssseeenssssnsnnsseessseeeesseeenennenseeesseessnnnesseensssssessenn
rrdoroodrrdooooordroodordddoooodrodoododrooordoddddordodoroodddorodororrodrooododrdrrdoorroorodorddororodooooddroooodrr
rrrcrrccrcrrcccccccrrrccrrcrrcccccrrcrrrcrccrcccrcrrcrccrcccrcccrrrcrcccrccrcrrrccrcccrrrcccrrrccrrrcrrcccccccrcrc
okkkkoookkkokkkokookokokkookokkokkokkookokkooookooookkookkokoooooookookooookkkoookokoookoooookkkkookkkokkoookokoko
iiijsisssisjisisiisiisiisisiijsiiijjsjisiissisijjisijijsissiisjisjiisisijijsjiiiiisisjjjsjjssiijiiijsijjsijsjjsjiiiijji
dddtdtttdttddddtddtddtttttttdttddddddtddtttdttdttdtdddtttddtttdtttdtdttdttdddttdtdtdtdtdtttdtddddtttdttttdttdtttdt
blblbbbbiilbiilliibblilililibiiibiblbiillbblbiiiblbliibliiiiiblllibiililiiiibiiibiibibiiliiiibbblbillbibilbbiiibllibill
Output
14
18
22
5
2
24
11
1
15
9
3
6
23
27
28
7
12
20
21
8
13
16
19
10
29
4
17
26
25
30
Solution language
Solution
Stub generator input