111 KiB
+++ author = "Maik de Kruif" title = "To the moon" subtitle = "Beginners Quest 6 - Google CTF" date = 2021-09-28T11:25:00+01:00 description = "A writeup for challenge 6 of the beginners quests of the Google CTF." cover = "img/writeups/google-ctf/2021/beginners-quest/6/cover.png" tags = [ "Google CTF", "Beginners Quest", "ctf", "hacking", "writeup", "misc", ] categories = [ "ctf", "writeups", "hacking", "misc", ] +++
Story line
Shenzhen - Office
You’re exiting a crowded subway nearby the office that you are about to visit. You are showing the guards your ID and answering a couple of routine questions. They are not impressed, but the gate opens up and you can enter the area despite their doubt. You are not allowed to stroll freely on the company grounds, but are shown around by a woman that stares at you with a crooked smile. At last you're able to talk to the manager, a short man with a white robe and shades: "Greetings, AGENT, You must be thirsty after your long journey? No? You don’t mind if I’ll have something for myself, do you? Good! We have heard about the device that you possess, can I have a look at it. Hmm, it seems that it is encrypted. Help me break this quickly so that we can continue with the analysis."
Challenge: To the moon (misc)
This one is a doozie. We found this weird file on a memory stick with a post-it note on it. It looks like someone was working on a very obscure encryption system. Maybe we can decode it?
After solving
"Great job! Let’s look into the device itself then. Well, I can’t say that I recognise this piece of hardware-" Before the manager completes the sentence, you spot a reflection of a dagger in his shades. You turn around and see a mysterious assassin that is almost piercing you with the dagger, but you manage to move away at the last moment and disarm the assassin with one strike. The mysterious assassin takes off. Do you?
Run after ([8]({{< ref "8.md" >}}))
The manager shouts after you to come back, but you don’t listen. You are uncompromisingly determined to hunt down the assassin. The assassin turns over trash bins and chairs through the corridor, and you manage to dodge them. The assassin climbs up using a ladder, you follow. You come to a rooftop, and the assassin has nowhere to flee. You shout: "Reveal yourself, tell me who you’re working for, and I will do you no harm."The assassin comes out from behind a ventilation exhaust. They hand you a note with coordinates to a spot in the mediterranean. When you look again, the assassin is gone.
Climb out through the window, and try to ambush the assassin ([9]({{< ref "9.md" >}}))
After having climbed through the window, you wait for a while on the ground. The guards from earlier approach you, and tell you that the mysterious assassin disappeared in the other direction, you will never see the assassin again… The manager screams on you to come back, and says that he thinks that he can help you a bit. He tells you that he has managed to trace some components of the device to a specific shipment from South Africa. He tells you that there is a secret lair in Johannesburg that might help you to find out more information about the organisation that the assassin works for.
Attachment
{{< code language="txt" title="encodings" isCollapsed="true" >}}
I made a super secret encoder. I remember using:
- a weird base, much higher than base64
- a language named after a painter
- a language that is the opposite of good
- a language that looks like a rainbow cat
- a language that is too vulgar to write here
- a language that ended in 'ary' but I don't remember the full name
I also use gzip and zlib (to compress the stuff) and I like hiding things in files...
{{< /code >}}
{{< code language="txt" title="chall.txt" isCollapsed="true" >}}
File is too large to display here.
{{< /code >}}
Recon
The attachment contains two files: chall.txt
and encodings
.
When opening chall.txt
, we see a bunch of what looks like chinese characters.
The encodings
file contains some information about what encodings are used.
Solving
I found this challenge to be pretty darn difficult.
Extract image
I started by looking at chall.txt
and trying to make sense of the characters. I even tried translating them but didn't find anything.
Then I wrote a script to get some information about the character usage:
amount_of_chars = 0
chars = []
with open("chall.txt", "r") as file:
for line in file:
for char in line:
amount_of_chars += 1
if char not in chars:
chars.append(char)
print(chars)
chars = [ord(char) for char in chars]
print(sorted(chars))
print(len(chars))
print(amount_of_chars)
87282
['魦', '浤', '敥', '攰', '攱', '阴', '欴', '渴', '昰', '晥', '昸', '阶', '樴', '洷', '渶', '欶', '餴', '防', '洰', '樰', '阱', '霱', '朵', '洲', '栰', '霳', '朰', '阵', '栱', '阷', '昶', '樶', '樷', '氷', '靤', '栴', '欰', '氰', '渰', '阰', '頰', '椱', '餰', '霰', '渱', '朱', '鬰', '餱', '鬱', '騱', '頱', '攲', '椲', '騲', '氲', '朲', '頲', '栲', '氳', '渲', '攳', '昳', '椳', '渳', '餳', '洳', '朳', '頳', '栳', '洱', '昲', '散', '昱', '档', '椰', '霶', '楣', '橢', '餷', '昴', '昵', '昷', '昹', '晡', '朴', '晢', '晣', '樱', '晤', '敦', '朶', '朷', '朸', '欱', '氱', '樲', '欲', '樳', '欳', '阳', '椴', '水', '洴', '栵', '椵', '樵', '欵', '氵', '洵', '渵', '栶', '椶', '氶', '洶', '样', '椷', '欷', '渷', '核', '椸', '樸', '欸', '永', '洸', '游', '阸', '朹', '根', '椹', '樹', '欹', '氹', '洹', '渹', '阹', '条', '桡', '楡', '橡', '歡', '污', '浡', '湡', '陡', '杢', '桢', '楢', '止', '汢', '浢', '湢', '院', '杣', '橣', '正', '汣', '浣', '湣', '陣', '杤', '桤', '楤', '橤', '此', '汤', '湤', '除', '来', '桥', '楥', '橥', '步', '汥', '浥', '湥', '陥', '晦', '杦', '桦', '楦', '橦', '武', '汦', '浦', '湦', '陦', '鬳', '攸', '餶', '騸', '頴', '敡', '饣', '鬲', '攴', '靦', '魢', '魤', '靡', '鬷', '鬸', '饦', '驥', '魥', '靣', '饡', '面', '餲', '驦', '敤', '騳', '顦', '攵', '敢', '饢', '騹', '魡', '頵', '騷', '霵', '饤', '鬶', '露', '顥', '騵', '魣', '驢', '鬹', '霹', '鬴', '霷', '頷', '顤', '攷', '頸', '顣', '餹', '餵', '收', '驤', '頹', '鬵', '顢', '靥', '騰', '改', '頶', '餸', '霴', '騴', '饥', '驣', '霸', '顡', '驡', '騶']
[25904, 25905, 25906, 25907, 25908, 25909, 25910, 25911, 25912, 25913, 25953, 25954, 25955, 25956, 25957, 25958, 26160, 26161, 26162, 26163, 26164, 26165, 26166, 26167, 26168, 26169, 26209, 26210, 26211, 26212, 26213, 26214, 26416, 26417, 26418, 26419, 26420, 26421, 26422, 26423, 26424, 26425, 26465, 26466, 26467, 26468, 26469, 26470, 26672, 26673, 26674, 26675, 26676, 26677, 26678, 26679, 26680, 26681, 26721, 26722, 26723, 26724, 26725, 26726, 26928, 26929, 26930, 26931, 26932, 26933, 26934, 26935, 26936, 26937, 26977, 26978, 26979, 26980, 26981, 26982, 27184, 27185, 27186, 27187, 27188, 27189, 27190, 27191, 27192, 27193, 27233, 27234, 27235, 27236, 27237, 27238, 27440, 27441, 27442, 27443, 27444, 27445, 27446, 27447, 27448, 27449, 27489, 27490, 27491, 27492, 27493, 27494, 27696, 27697, 27698, 27699, 27700, 27701, 27702, 27703, 27704, 27705, 27745, 27746, 27747, 27748, 27749, 27750, 27952, 27953, 27954, 27955, 27956, 27957, 27958, 27959, 27960, 27961, 28001, 28002, 28003, 28004, 28005, 28006, 28208, 28209, 28210, 28211, 28212, 28213, 28214, 28215, 28216, 28217, 28257, 28258, 28259, 28260, 28261, 28262, 38448, 38449, 38450, 38451, 38452, 38453, 38454, 38455, 38456, 38457, 38497, 38498, 38499, 38500, 38501, 38502, 38704, 38705, 38706, 38707, 38708, 38709, 38710, 38711, 38712, 38713, 38753, 38754, 38755, 38756, 38757, 38758, 38960, 38961, 38962, 38963, 38964, 38965, 38966, 38967, 38968, 38969, 39009, 39010, 39011, 39012, 39013, 39014, 39216, 39217, 39218, 39219, 39220, 39221, 39222, 39223, 39224, 39225, 39265, 39266, 39267, 39268, 39269, 39270, 39472, 39473, 39474, 39475, 39476, 39477, 39478, 39479, 39480, 39481, 39521, 39522, 39523, 39524, 39525, 39526, 39728, 39729, 39730, 39731, 39732, 39733, 39734, 39735, 39736, 39737, 39777, 39778, 39779, 39780, 39781, 39782]
256
87282
Here we can see there are exactly 256 characters used, which I found peculiar. However, I didn't know what to do with this.
Eventually, after a lot of trial and error, I tried the following:
chars = []
with open("chall.txt", "r") as file:
for line in file:
for char in line:
chars.append(char)
sorted_set_chars = sorted(list(set(chars)))
indexes = [sorted_set_chars.index(c) for c in chars]
print(indexes[:20])
print([hex(n) for n in indexes[:20]])
[255, 141, 255, 14, 0, 1, 164, 100, 148, 100, 0, 16, 16, 0, 0, 16, 0, 16, 0, 0]
['0xff', '0x8d', '0xff', '0xe', '0x0', '0x1', '0xa4', '0x64', '0x94', '0x64', '0x0', '0x10', '0x10', '0x0', '0x0', '0x10', '0x0', '0x10', '0x0', '0x0']
This output looks like some kind of pattern, so I looked up a list of magic bytes (magic bytes are the first bytes of a file, they specify the file type).
In this list I found JPEG with FF D8 FF E0 00 10 4A 46 49 46 00 01
. This looks a lot like our output, but the hex is reversed.
Half a byte is called a nibble, so I looked up how to reverse the two nibbles in a byte, and wrote the output to a file:
image_data = bytes(((n & 0x0F) << 4 | (n & 0xF0) >> 4) for n in indexes)
with open("test.jpg", "wb") as file:
file.write(image_data)
{{< figure src="/img/writeups/google-ctf/2021/beginners-quest/6/painting.jpg" title="test.jpg" >}}
Yay! We got the first step.
Evil language
I started out by running strings on the image:
strings test.jpg
In the output, one line stood out because of it's length:
zaeeaeeuewawaweeeuuwaawuwueeuwaawuwaaawuuuuwuwuuuwaawaawaaaawueueeweeeweaeawuuwawaaaweeeuuweeuwawaaaeeeweeeeewueueewaaaawwuuuuwaaaaawuuuuuweeuewueueuuwaaaaawuuuuuwaaaaawuuuuwwwaaaawuuuuuwawwwawawuuuwaeeeweeuuwaawaawueaeeuwueeaaaweeueawaeeaaweeaewwaaawuwaaaaaawaeeewuueaewaaawaawuuuuwuwaawuuwawuuuuwaeeeweewaaaaaaweeaewaaaaawuuuuuweuueewwueeuwuuuuwaaaaaaaawuuuuuwaaaawuuwuuuuuwaaaaaaaweeaewaaaaaaaaweueewuweuueewuuuwweeuwaaaaaweeeeeeawuuwueewaaaaaawwuuuuwaaaaweueeawaweaeeuwueuewaaaaweeeeeewweueuwawaeaeewuueueuwaaawuuuweeeaawuwueeuwaaawuuuuwaeeeawueeuweeeweewueeeawueewaaaaaawuuuuwueaeeuwueeaaweaaeeweewueeeweeuuwaaaaaaweeeeeewuwueeuwaaawwuuwueeeweaeaaweaaeeweewueeeaaweuewueeuewueueuuwaaaaaaaawwwuuuuwuuuweeeweewuuwaaaawuuuuwaaaaaaaaweueeawuweeuewuuwaeeaaawuuuuuwueaeeawuuwueewaeaaaaawaeeaawaeeewawuuueeaawuuwuuuweueeaawaawuuwwaaawuuuweeaaawuwuuuuuwaaaaaawuwuwaaeeeaweueuwaaaaawaaaeeuuweeeawaawueeawuuuuweaeeuwawuueeawaawuuwuuwuueaeewawuuueeawaaeeeuwwaaweuewwaawaawwuuueeaweaaaaaawaawuuuwueeaweaeewuueaeawuuwaeaeeweeeeewweeueweaeawaawueueewaaawueueeweeuuwaeeaeawaaaeeuwueeuewwueueuuwaeeeawaaawwuwueueuuwaaaaaaaaawuuuuuuwaaaaaaweeueawwwaeeaaawuwawuuwuwaaaeeeaweueuwweaeuweaaaaaawuweaeawuuwaawaaeeeawuuuweuewuwaaaaaawuuwawwaeaaaaawueeaawuuwuweeewaaawaweeeeeweeeuwwuuwaeeawaaweeueawueeawaaawaeaaaawaaawueueuweeeawaawueueuweeaeaweuewaaawuueuewueeuewueueuuwaeeaeawueeeeewueeaewaaaaaaaawuuwuuwwuuuweeaewuueueuuwaaaaaaaaawuuuuuwueueeaaweeaaawuuuuwaawawuuuwaaaawuuuuwuueaeeuwuuuweeaawuuuuwaeeeaaweaeawaaawuuuwaawaaawueueewawwueeewaaaaaweueuweaeaaaweeewuueeuweaaaaaweaeaweaaaaawaeeuwuuuuuwaeeewweaeaaawuuuuwuuuuuwaeeaeawuuwwueewuwuuuwueeeweaeaawuuweeeeeeawuweuewuuwaaaaaaawwaaweeuewweaewaeaaaaweeaawueueewaaawueeaaaweeueweaeawaaeeeuwueeuweaaaaaawawuwueeuuwaeeaewuuuwawaaawuuueewuuwuuuuwaaaaawuueaeeuwueeuwawaaaweeueweaewwuwuwuuwueeewaaawwueuewaaaaaaawuuuuuuwaawuuuwawaaaaaawuuuuuuweaeeuwueeaaawueeaewaeeeweaeaaawwuuuuwawawaaweeuewaaaawuuuwueewaeaeewuueaeawueaeewaweuewaaawuwwueueuuwaaaaaaaaawuuuwawaaeeeawaaaeeuuweeeweeuwaaawueueeaaweuewaaawawaawaweeewuueeaaweaaeeawaaawuuuuweaeawawaeeeuuweeaawuuuuuweueeweeaweueeweeaawaawaeaaaaweaeaaaweeueweewaawuuuwaaawueueeawaeeuwuueaeeawuuueeuwaeeeeeeweeawuuuwueueeawaeeawaaeeewuueaeweueeawuweeaawuuuwaaaaaaaaweeeuuwaaawaaaeeawueueeaawaaawuuwueueuuwaaaaaaaaawuuweaaaaaawaaawaaaeeuuuweuueewueueuweeaewuuweeaaawuuuwuwuueaeeawaaaeeweueeaaweewuuwawawaaweeaeweuueewueaeweueeaaweeawaawuwuuuwuuuuweeaeawuuueeawuuwweaaaaaawueewueeuewuuwueeaweueewaaawueaewaaaaaaweeeuwaawaaaeewaaawawaawueueewaawaaaaaawueueeweeeawaweuewaaaaaaawuuuuwaaaaweeewuueeuwawaeaaaaawwueeawaaaweeeeeewweueuwawaaaaaaawueueeweeeweaeawuuuuwaaaaaawueueeweeeawuweaeaawaeeeawwuuuweeuwuuuwueeeaaweeuweaaaaaweaeuwawaaaeeewuueueuuwaeeewaaweeaaawuuuuwawaeaaaaawaeewawaaeeeawaaaeewaaaawaaeeeuwueaeawuuwaaaaaaawuwuuuuuwaaaaaaweeeuwueaeawaaaaawwuuwuwwaaaeeeawwuuueewaeaaaaweeaawueueeaaweeaaaweeueawaaaawuuuwawueaewuuuwaaaaaaawaaweeeawaaaeeuuwaaaaawuuuweueeawueeuuwaaaawueaeeawuuwueaeweaeeawuwuueeaaweaaeeawueeuuwaeeeaawaawwuuuwueeawaawuuweaeeawaaaeeuuuwaeeewaaaaawuuueewaaaeeewwuuweeuwuuwuuuwaeeeaawaaawwuuwueaeweueeweaeaaawweeueawawawuuuweeuuwaaaaaaaaweaaeeawaeeawuuuuuwaweaeewuueueuuwaaaaaaweeeeeeawuuwueeaawuuwueeeawueeaawaaaaaweeueawaaawuueeuwuuweueeweeuuwaaawaaaawawawuuuwaaweueewaaaaaawuwuuuuwaweaeewuueueuweeaeawwuuwueeuwaawuuuuwaaaaaawuweueeawaaawuueaeeawuuueeawaawuuuuuuwuuuwaeeeaawaaawweuewaeeweeeeeeawuwaaawwuwuueeaawuuuwuuuuuwaaaweaeeawaaaeeuuuwaweeeaaweewaaaweeewuueaeweaeeuwueeuwaaaawuuuuwuueaeeuwueueuuwaeeeawuwwaaaaaweuewaeeuwuuuwaaaweaaaaaawaawuuuweewueeeaawaawwwuueeuwaeeeeeewuuweewueeuewueewuuuuwaaaaaweaaaaawueewaaaawuwaawuuuuuwaaaaaaawuuuwaeaaaaawaaaaweuewueeaawueaeeawuuueeaawawuuuuwwuwuuuweeaewuuuwueeuweeuewawuuuuweaeawawuwwuwwuwaweeeeeeweaeawueueeweaeaawaeeeuuweaewaaaaaweueeawwueeeweeaweueeweaewaeaaaaawaeeaweaaaaawaeeaaawuuuuuwaawwaeaaaawaaawueaeawuuuweeaeaweueuweaeaawuuuuuweueeweaewuwuwaaaaaweeueweeaawwueueeawueeuwaaawueueeawueeuwaaaawuuuwaaaaawuuuuuwueeeweaeawuwaweaaaaawaeewaaawuuuwuuuuuuwaeeaeweeeeeweeeuwueeaaawueueeawuuwaaaaaaawaaeeeawuuueeuweaaaaaawaeeawuuuwueaeewuueeawaawueueeweeaeawaaaeeweueewaaaawweeeeewuuwaaeeeuwueaeawueueeawueewaawueaeewaweuewueewueeuewwaawuwuueeuwaeeeeeeweaeawaaaaweueewaaaaawaeaaaaawaawuuwaaaawaaaeeawueueeawaawueueuuwaaaawaawaaaeeeawuuuweeuwuwaawuuuuwuwaaaaaaaaweeewuuuwueeuuwaeeaewuueueuuwaeeeawaeeaawaeeeuuwuuweaeuwuueaeewwuueaeawuuwueeeawaawueeuwuuuuweeeawaeeaaawuuuweeeeeeawueewuuuuuwaaaawaaaaweeueawaeeaaaweeeawaaaeeawuuuuwaawaeaeewuuuwaaaawuuueewuuuwaawuwawuwaaaawuwuuuuuwaaaaaaaweeeuuwaaawuuueeaawawueeaewaeeeawuwaaaawwuuuuwaaawuuwueeawaaaaweaaaaawwaeeawuuuuuwwawaawaaawuuuwuuwuwueeeaaweeaaaweeueawaaaawaaaeeawuuuwwuwaaawaaawuuuweaeeuwueeuwaaaawuuuuwaaaawuuuuuwuuuuwawaaaaawuwuuuuweeeawueeaawwueaeeaweueuweaeaweaaaaawueeaweueeweewuuwaaaaaaawawuuuuuwuuuwaaawaaaaawaeeeuuweuewueeeaawuwwaeeaawaeeeweeeeeweeeuwueuewaawuwweueeawueewueeeaawaawuueeuwuueaeeuwuuwaeeaaweaaeeweeuwaaaawaaawaeeeawaaaeeuuuwaaaaaaaaaweeeuuwuwueeuwaaweaeeawuuueeaawwuuuuwwaaaaawuuuuwuuwaawawuuwueueeaaweeaawawuuwuwuuwueueeawaaaawuuueeawuweeeeeeawueuewueeeaawaawuueeaawuuuuwaaaawaeeeuwueeaaaweeueawueewaaaawuuuwuwaaawuueaeeuwueeuwuuuuuwaaaawaawaeaaaaawaeeuweaaaaaawaaaawuuueeuwuueaeeuwueewaaaeeeawaaaeeuuwawaaaaaawaeeeuwueueuwawwueeewwawaaawuueuewaeaeeawuuueeaawwaeeeuwuuuweaeaaawueeaewaeeeawaeeaaawuuuuuwueueewaaaawuueueuweeaewuuuuwaaawueeaawaeeeuwueaeawuwuuuwaeeeaaweewwuuuwaaaaaawueueeawaaaaaaweeaewaaaaaaaawuwaaweeeuuwaawuuuwaweewaeaaaaawaaawuueeweeeeeeawueewuuuweueeawaeeaaawueueeweeaewuuweeawaaeeeuwuuuweeaawaawaeaaaaweaeaweaaaawaaawaawuuueewaeaaaaawaeeuwuueaeewuueaewaawuuweaeeuwueaewuuweeaeaweueuweaeaaweueeawueeuewaawwuuueeaweaaaaaawwawueaeawuuuuwaaaaaaawaaweeueweaeaweaaaaaawaawuwaawuuueeaawweaaeewweaeaaweueeweeeweaeweeeeeeweeuwuuuuuwaaaaawuwawuueaeeuwueeaaaweeueawueeuweeeawueeuwwaaawaaawuuwaaaawuuuwuwaaawaeeeweeeeeweeeuwuuuweaeuwaeeeeeeweeaawaeeeuuweewaaaweeewuueuewaeaeeawaaaeeuwaeaeeawaaaeeuuwaaaaaaawuuuwaweeeeeeawuuuweeaawaaawuuuuweaeewuueuewaawwaaaaawuuuuuuwweueeaawweeawaaweeeuwueeuwuuuuwaaawueaeeuwueaeweaeeawuwuueeaawuuuuwaaaawuweaaaaaawaaawueeeeeweeeawuwuueewuuuuuuwaeeeawueewueeuewuuuwaaweeaaweueewaaawueueeaaweaeawuuuweeeawueeuweeeawueeawaawuuuwueeeweewuuwaaaaaaawaeueewweeeawueeaawueaeewuwueewawuuuuuwaeaeewuuwuwueeaawaweaaaaawwawuweaewawaaeeewuueaewawaawaeaaaaawaeewaaaeeeawuuueeuwuueaeeawaaaeewwaaaawuuweaaaaaawuwaaaaaweuewwaeeaaaweeeuwaawaaaeeawuwawuuuweeaewuueeawuuuuweaeeuwuuwueeuuwwwaeeeaaweeweeeeeeweeaawuwuuuuuwaaaawuuuuuuwaeeeawaeeaawuuwaaaeeewuueaeweaeewuueeaaweueeawaaaaaawaeeewuueaeweueeawaeewaeaaaaawueeawaaaaaweaaeeawaeeuwawuwaawuuuuwawueueeawueeuwweeeawawuuweeuuwawaaaaaaawaeeeawuuwueeuweaaaaaawueeaweaeeawaaaeeuuuwaaaaaaaaaweeeawuuueeaawuwaweaaeeawueeaawaaawaaeeewwawuuwaawaaaeeuuuwaeeewaaaawuuuwawuwaaaawaaaeeawaawaaaeeeawuuwuweaeawueueeaawawueueuuwaaaaaaweeeeeeweeaawuuuwaeeeeeeweeaweaaaaweaeaaawwuuwuuwaawuuuuuwaaaaawaaeeewuuweeuwaaaaweeewuueeaweaaaaawueeuuwaaaaaaawaaeeeaweueuweeawuwuwaaawwaaawaaeeeawaaaeeawueueeawaeeaawaeeeuwueeaawuuuuuwaaaaaweaaeeawaeeawuwwuuwaaawuwuuwueaeeuwueeaawuuuuwaawuuuuwuuwaaaawuuuuwaawaeaeeawaaaeeweaeewawuuueewaeaaaaawaeeuwuuweueeweeaweueeawaeeuwaawuuwuueaeeawuuueewaeaaaaweeuuwaeeeaaweaeweueeawaawueeuwuueaeeawaaaeeuuwaaweueewweeuuwaaaaaaaaweueewwaaaaawaeaaaawawaeeweeeeeeawawuueewuuuuuwaaaaaaweaaaaawaeeawuuuuuwaeaeewuueeuwwaaweaaaaawaeeuwuuuuuwaaawaaawaeaaaaawaeeawaeueewaaawueueeaaweeawaeueeweeaewuueaewaaaawawuuuwuwueueeawueewueeeweewaaaawuuwueaeeaweueuweeuuwaawueeeawaeeaawuuuwuueaeeuwwueeaaawuuuuuwaaaaawueeaewaaaaaaaaaweeewuuwuuweeuweeuewwueeawaweaaeewaawaawuueaewaaweaaaaaawueeaawueueeawaawueewuuwawuuuuuwaaaaaaaaaweeeawwuuueeuwuuuuwaaaaaaaaweeeuuweueuwaawaaaawuuwuuuwaawueueeawwwaaaaweuewaeewaeaaaaawueeaweaeeawaaaeeuuweeeawaawueueuuwaeeaewuueueuwaaaaawuuuuwueeeweaeaawaeeeuuwuuweaeaawuuuuwaaawaaeeeuwaawaaaeeweueeweewaawueueeaaweeaaawuuwawaeeeuwueueuuweuueewueeuwuuuuuwaawaeaeewwuueewawaeueewaawuuwawueeeaawuuwaaaawuueuewwaaaaawuuwuuuwueeeaaweeaawaeeeawuwuueueuuwaaaaaaaawaeeeuwueaewawwueaeewuuuuwawaeeuwaeeeeeeweaeawueaeeawuuueeuwuuuuuwaaaaaawuuuuwaaaaawaaeeeuwueeaawaeeeawuuuweewaeaaaaawueeuuwaeeeawueeuwaaawaaaweaaaaweeuweeuewueeuwaaaawueueeawaaawwuueaeewuueueuwaaaaaaaawuuuuuuweaeewuuuuwawaeeaaweeaewaeeeaaweeuwaeeeeeewaawuueaewwuuuwaweeeawaeeaaawuuuuuuwawuuuwaaaaaaawuuuuwaaaaawuuwaaeeeaweuewaaawuuuuweaeuwweaaaaaweaeaaaweeeuwwuuwueewaaaaawaawuuuuuuwaawawuuwueueeweeaawueaeeuwwawuuwweeaaawwuuuuwuuuwaaawuuuwaaaaaaawuuuuuuweaeeawuuueeaaweueeawaaaaweeeeeeawuuwuwaaawueewuuuuwaeaeeawaaaeeuwuuwaeeeaaweuewaaaaaaweueewaaaaweaaaaaawaeewuwuuuuuwaeeeawaeeaawuuwawaaeeeuwwueueuwweeeweaeaaweueewaaaawuueaeewawaaaeeuuwaaweueewaaweueuuwaaaaaaaawaeeewuueaeweueewaaaawuuuuweeuuwweuueewueueuwweeeaaweaeawwueueeaaweuewaeaeeawaaaeewaaawaeaaaaawaeeaaaweeeuwawuuuuweaeaawuwaawueueeawueeeawueeawweueeaaweueuweeeaaweueuuwwaeeewaaaawuwueuewueeeawaawueeaaweaaeewaaweaeawueaeeawaaaeeuuuwaweeeawaeeaaweaaeeweaewaaaeeewuuuwaaaaweuewueeawuuuwaaaaaaaawaeeeuuwawawawaaaeewaaweaaaaaweeawwuuuwaeeeaaweeaaawuuuuuuweueewawaaawwuueaewawawuuuwaawueaeewuuuuwweeuuwaeeaeawwaaaeeawaaaawuuuuwueueeawaaaawueeeeewueeaewaaaaaawuuuuwaeaeewuueueuuwaaaaaawaweaaaaweeawaaaweeeeeeawueeaawuwuuuuuwawuuuwaaaaaaaawuuuweaaaaawawuwwaawuuweaewaaaeeeawueeeeewuuwuuuuweaeeawuuwueuewaaaawaawuuuuwueaeeuwueeaaawuuuuuwaaaawaeeeuuwuwaeeaaaweeueweaeaaawuuuuuuweueeweeaawaaaawaeeeuwueaeawueueeweeawaaawuuwueaeeuwueeaaaweeueawaawuwweeawuuuuweueeweaeaaawuuuuwaaweaaaaaaweueuwawwwaaaawuuuwaaaaaawuuuuweaaaaaawaaawawuuueeuwaeeeeeeweewuuuuwueeeawuweeawuuwawueeeaaweewwwuuuuuwaaaawaawaaeeeuwueeawuuuuuwaaaweaaaaaweaeawawuuuuuwuuwaaaaaaaawuuuuwuuweueeawaawwueeuwaaaawwuuuwuuuuuuwaeeeaawaaawuuueeaawaeeeuuwawueeuwuwaaaaweeaewaeeaeawuuueeuwuuuuwaaaaaaaweueeawaawawaeeeeeeweeawuuuuuwaeaeewuueaeawawawawuuuuwuwuuwaawaaaaawuweeeeeeawueeaaweeaewwaeeeawaeeuwawuuuwaaaaaawueeaewaeeeawueeawaaawuuwueueeawueeuuwaaawuwueeeawuweaeaawuuuwaaaaweeuewaaaaawaaaeeuwuuwaaaweaeewuueeaaweaaeeawaaawuueeawuuwaaweaaaaweaeaaawuuuuwuuuuuwaweeuewuweaewaaaaaaweeeawweuewueeuuwaeeeawueewueeuewuweeaaawuuuwwaaaeeewuueueuuwaaaaaaaawaweeueawaeeaweaaaaaaweeaawaeeeweeeeewweeeuuweueuwaaawueaeewuuuuweaewaeaaaaawueeuuwaawwueeeawaeeawuuwwuwuuuuwaeeeweewaaaaaaawuuuwwaaaeeeweeeeewweeeuuweeaawwuuuuuweueewawaawuweeaawaeeeuwueewuuuuuuwaeeeweaeawaaeeewuueueuuwaaaaaaaawweeaewaaawweueeawaaawuueaeweueeweaeaawuuwaawaeeeuwueeaweaaaaaawaaawuwawaaaeewuwuuweuueewawuueueuwwawueeeaaweeawaeeaewaaaaaaaaawueeaewaaaweueeawaeeaaweueeweeeaaweuewwawawawuuuwawaawwuuwuuwuwaaaaaaaaaweeeawuuueeuwaaaawueueeweeewawuweeuwaaaaawaeaaaaawueeuuwaaaaaaawuwaweaaaaawaeewuuuuuweeeawaaaaweueuwawueewuweeuewueueuwaaaaaaaawueueeawaeaeeaweuewueeuuwaaaaaaaaweueewuwaaaaaaaawuuuuwuuwwwaaaaawuuuwawuuuuweeuewawuwuuwaeeuwuuuuwaaaawuuuwaeaeeawwaaaeeawaaaaaweeeuwueeuwaaweaaaaawwaeeuwuueaeeuwueeuwaaawuuuuuweueeaaweeweeeeeeweeaawuweaaaawawuwaaweueuuwaeeaeawaaaeeweueewaaaawwuueueuuwaaaaaaaawuuuuuwaaaaawuuuuwaaawuuuuweueeawuweeuuwaaawwaaawaaawuuuuuwwaawaeaaaaweaeaaawuuuuuwueaeeawuwuueuewueeuewueewuuuuwaaaaawawuuuwuwwueueeaaweeaawaeeeuwueaewaaaawaweueeawaaaaaawawweeeawuuueeawaaeeeuwawuueeawuuwaaaawueueeawaaaaawaeeaewwaaawwaaaawaweaaeeweeuuwaaaaaaaweaaaaweeaawaaaawaeeeawaaaeeuuuwaaaaaaawaaeeewuueaeweaeeuwwuuuweeawaawawaaaeeewuueaeawueaeeaweueuweeaawuuuuwaaaaaaweeeeeeawuwwuwueewueeeaaweeweeeeeewwawueeaaweueewuwaaaaaaaawawuuuuuwueueeaaweeaaweueewawueeuewueeaaawuuuuwaaawuuuwuuuuweeeawueewaaaawuuuuuweeaeawaaaeeawueueeaawuwuweeawaawaaweaaaaawaeeaaaweeeuwueeaawaweeueawaweeawuuuuuwaeaeewuueewwawaeeaewaeeeaaweeaaweeaewaaawaaaaweaaaaaawuuweaeuwuuuuwaaaaaawuuuwwueueeweaeaawuuuuwueueewawaaaawuuueeuwaaweaaaaaaweeweeeeeeweuewueeuewuuuweeuweeeawaeeaaawuuuuuuwaaawaeaaaaweeaawuuuuwaaaaaaaweaaaaawaeewuuuuuwuwaaaaaaaawwuwuuuuweueeweaeaaaweeuewaawaawuuweueuweeeaawaawwuueeaaweaaeeawueewwaeaeeawuuuwuwaeeuwuueaeeawuuueeawaaeeeweeeeewuuwuwuwaaaawueueewaaaaaaaawuuuuuuweaeeawuuwwuuwaawwueeaaawueeaewaeeaewuueueuuwaaaweaeeawuuueewuwaaaaweeuewaaweueuuwaaaaaaawaawwuuuuuuwuuuwaaaaaaawaawuuuweeeeeeweaewweaeeuwueeuwwuuuwaaaaaaaweeueawaaawuuweeaawuuuwuuuuuwaaaaaawuwuueaeeuwueeaaawuuuuuwaawuuwuuuuwaaaaaaaaawuuuwuuuuwaaaawaweaaaaawueeaawueueeawuweewaawaawuuuuwaaaweaaaaaawueeaawueueeawueewawuuuwaaaaaawuuuuwaaawaaaawuwuuuwuueaeeawuuueewwaaaweeueweeawawueueeawaaaawaaaeeuuweeeaaweeaawuuuuuwuuuwwaeeeawueeaawueueeawaaawuueueuuwaaaaaaaaweeaewaaaawawuueaeeawaaaeeawaaaaweueeawueeeaaweueuuwaeeaeawaaaeeawaawaeaaaaawaeeaaaweeewuwueueuwwuwaaaaaaawaaeeeawuuueeaaweaaeewwaaaawawuwuueueuuwaeeeaaweeawuuwaeeeeeewawuuwuweeuwawaaaawuuuuuuwwwaeeaewuueeawaaeeeuwueueuwaaaaaaawaeeeawaaaeeweaeeawuuueeweeeeeeawueeaaawuuwaeeaewaeeaeawaaaeeawuuuuwaaaaaaaawuuuuwaaaaawuuuuwaeeeeeewuuweeuwaaawuuwaeaeeawaaaeeuwaawaawaeaaaawweaeaawaeeeuwueeaaawueueeweeaeweeeeeweeeuwueeaaawueueeweeuewueueuuwwaeeaeawueeeeewueueeawaeaeewuueeawaaeeeawuuueeuwaaaawueueeawaaaaaaawueueewaaawuuuuwaaaaaaaaawuuuuwuuwaaaawaaeeewuueeuwuueaeeuwuwawueueuuwaaaaaaawaeeaewaeeeawueeawuuweeuewueaeawaaaaawuuuuuuwuwaaaaaaawuuuuwuueaeeawuuueeaweaaaaaaweuewuwuwaaaaawawuuuuwaaaaaawuuuwuueaeeuwuuuwaaawueueuuwawaawaaaaweaaaaaaweeawuuwuuuwaweueeweeuwaaaaaawaaeeewuuuwaeeaaaweeeawwueeeeewuuweaaaaawuwaaaawuwueewaaawuuuwaawuuuwuuweaeeuwueeuweaaaaaawaeeaaawuuuuwaeeeeeewwaaawuuuweueuuwawaaaaaweeeeeewuwueeawaaaaweaaaaaaweuewuuwaaawuwaaaaaaweueeawaweueeawaeeaaawuuwaaeeeuwueeuwaaawuuwaeaaaawaaawueewawuwuuuweaeeawaaaeeuuwawawaaaaaaweeeuuwaaawuuueeawawuuuuwueaeewuueaewaaaweeeeeewaawuuwwwweueuwwaaaaweaaaaaawuweeawaaaawwaaeeeuwueaewawueueeweaeawuuuuwaaaawaaeeewuuuwueeuwuwaawaaawuuuwaeaeewuueeaaweaaeeawueeuweeeaawawueeuwaaawuuuwuuweaeewwuueueuwaaaaaaawuwawuuuuuwuuwuwaaaaaawaaaeeeaweuewaeeaawaeeeawaaaeeuuuwwaeeeaaweeuwuuuuwaaaaaawuuuuuwaawawuuwaaaawaaeeeawuwuueeawaaeeewuueeuwuwuuuwuwaaaaawuuuwaaaaaaaweeuewaawaawuueewaeaaaaweaeaaweeaewaaaaaawaawaeeewuueaeawaweaaaaaawaeeaaawueueeawaaaaaaaweeeaweuewaeeawuuuuwaaaaaweueeawueeeaaweeaawuwaweaaeeawueewueeewaaaaawuuueeaawuuuuuwaaawuuwuuuuwaeeaeawueeeeeweeueawaeeaawaeeewuuweueuwwaaawwaaaaawueeaewaeeaewuueeuwuueaeeawaaaeeuuwaaawueueeaawaawuueueuuwaeeaeawuuwueeaaaweeueweeawaaaaawaeeeuwueeaweaaaaweaeuwuuuuwaawaaaaaaweeeawaaaeeawuwaaaaweaaaaaaweewaeaaaaawwueewwaaaaaaaweeueawueeawuuuwaaaaaaaawwaeeeuwueuewuuwaaaaawuuuuwaawaaweaaaaawaaawuuuwawaeewaaawuuuwaaweaaeeawaaaawwwwueeeeewuuuuuwwaaweeeeeeawuuuweeuwawuwaaweueeaawaaawaaaeeuwaeaeewuuuwueeuweeuewueueuweeeawueewuuwaaaawuuwueeeawaeeuwawaaaeeeawuuuweeawaaeeeaweuewuweewaaaaaawaeeeuuwuuwaaweeaaawuuuuuwueueeweaeuwuueaeeuwwueeuwuueaeeawuwuueaeweaeewuuuuwaaaawuueeuwuuuuuwawaaaaaawawuuuuuweaeeweeeeewuwaeeeuwueaeweaeewuuuwaawueueuwaaaaaaweaaaaaaweaeawuweaeeuwaaweueuweaeuwaaaaweeewuueeaawuuuuuwaaaawuuuwuuuwaaaaaawaaeeeuwueaeawuwaawuueaeeuwaawuuueeaawaeeewuueeaawaeeeuwueeaaweueeweeuewueuewueeuewaawueeeeeweeuewaaaaawaaaeewaaaaawuuuwuuuuuwaaaaaweaaaaaweeuuwaaaweaeeuwuuuweeaweaeewuueueuuwaeeeawaeeaaawuuuwaeaaaaawaeeuwuueaeeuwueaewaaaaaaweeeuwueeaaweaaeeawaeewaaweaaeeweaeaaawuuuuwaaaawuuwweaaaaawaeeaaweueeawaeaeeawaaaeeuuweeaewwuwuuwaeewuwuueaeewuwueeawaweaaeeawueeuweeaewuueaeawaaawaaeeeuwuuuweaeuwuuuuuwaaaaaaaaawuuuuuwawuueaeeawaaaeewuuwaaweaeeawuuueeawaeeaewaeeeawaeeawaeueewaaaaaaawuuuuwueaeewuueewuuuuwaaaaawaeeaewaaaaaaawwaeeaewaeeeawaeeuwuwueueeweeaawaaaaawuuuuuuwuuuwaeeeaaweaeawueueeawaaaaweueuweeaweaeewuuuuwawueeawuuuwaweeaewuuweueuweeeweeuuwaaaaaawaawaeeeuuweaeawaaaaaweeeuwueaeawueueeaaweeaaweaaeeawaaawuueeawuuuwaaawawaeeeuwueuewueeuewueeaaawueeaewaeeeaawaawwuueaeweueeaaweaeawawaawwaeeaewwaawaawuuuuweuueewueeaweaaaaawaeeaweaaaaaaweeaaawueeaewaeeeawueeaweueeaawawueaeawueaeeaweuewueeuuwaeeeaaweeaaawuuuuwaaweaaaaweewueeeweewaeaeeawaaaeeuuuwaeeeawawuwuweeaawueueeaawaaawuuuweeuwaaawuuwaaaeeeawuuwawuuweeaaawueeaewaaaawaaaawaeeeawuuwueueuweeaewuueueuuwaawaawuuuuwaeeaewuwueewuuuuuweeeaaweaeweaeeuwueeaawuuuuuwuwueeeawueeaawueaeewuueaewaaaaawuuwaeaaaaweeuuwaaaawueueeawaeeawaaeeeuwwaawuuuwaaaweuewueeuuwaeeeaawawueeuwawuuuuuwaaaaawaeaaaaawueeuuwaeeeweaeaawaeeeuwueaewaaaaaawuuuuuuwawueueeaaweeweeeeeeweueuwaawaaaaawwuuuwuueaeewuuweuewaeaeewuueeaaweueeawaawaaaaweueeawaaaaaaweaaeewawaeeaaaweeueawueeuweeaewuueaeweaeewuueaeawuweueeweeaawuuuuwaeeaewuueueuwaaaawuuuwaaawweaaaaawweeawaawuueaeeuwuuwaeeaaaweeeuuweaewuwwuwaawwaaaaawuuwawawuuuwaawaeeaeweuueewuuuwaaaaawaaaeeuuwaaaaaawwaeeaewaaaaaaawawaeeeawuuueewaawwweueeawaaaawuuuuuwwaaaaaawaweueeawuwaaaaawuuuwaaawaeaaaaweaeaawuwuuuwuuuwaawuuuwaaaaawuwueueeawueeaawuuuuwaaaaaaawaaeeeuwueueuweeeaaweaewaawuwueueewaaaaawaaaeeuuweeaeawueeeeeweeeuuweeawaaeeeawueeeeeweeeuwwueeaweaaaaawaeeaaaweeewuueuewaaaaaaawueueeawaawueueewaaaawuuuuwaaaaawuuueeuwuuuuuwaeeeaaweaeawaaaaweueeweeaeawuuuweewaaaeeeawuuueeawwaaeeeawuwuueaeawaawaeaaaaawaeeaaweaaeeawaeeweeeeeeawuuuweaewuuwwueaeewuuuuwaaaaawuwuuwawuwuwaaaawuuwuwweeuwuuuuuwaaaaaawuuuuuuwaeeaewuueeaweaaaaaaweaeweueewaaawueaeawuuuwuwaeeeweaeaaaweeeuuweeaawaeeeuwuuwueeuweeeweaewawaaeeewuueuewaeaeeawaaaeeuuwawaawawaaaaweeewuueeawuwuuuwuuwaaaaaaawuuuwawuuuuuwaawaaaaaawueueeawaweaeewuueeuwuuuuwaaaaaawweaaaaawueeaweaeeuwueeaaaweeeawuuueeaaweeaewaeeaewuueeuwaawaeeaewaaaaaaaawawuuuuuwueaeewuueeuwuuuuuwaaaaaaawwaawweeeawuuueeuwuueaeeawaaaeewweueeawaeeaaaweeueawueeuuwwaaaaaawawaaeeeawuuwwuuwaeeawuwuuuuuuwwaaaaaaawwaaeeewuueueuwaaaawuuuuuwwaaaaaaaawaeeeuwawuueueuwaaaaaweeeeeeweaeweueeaaweaeawueueeawaeeaawuuuuuwuwawaaaaaawuwaeeewuueueuweeaeawuuueeawuuwawuuuuuweeaewuuuuweewueeewawaeeaawuweaaaaweeaawaaaaawuuuwuuuuuwawueeuewueueuuwaaaaaaawuwaeaaaaawaweeawuuuwwuuwueeuewueeawaaweeeawuuueewuuuuwaaaaaawuuwuuuuuuwaaaaaaawuwuuwaaaaaweeeuuwawueeawaaeeeawaaaeeuuweeaeawuuueeaawuuuwuueaeeuwueewuwaeeeeeewaawuueeaweaaaaawaeeaaawuuuuwuuuuweeaewuuuwueeawaaaawaaeeewuwuwaawuueueuwaaaaaawaaeeeuwueeaawuuuuuwawueueeawwaeeawuuuwwueueeawueewuwaaaaaawaaeeeuwueaewwwaaaaawaeeeuuweeawuuuwawuuuuwwaaawuuwaaaaaaawueueeawaeaeewuuweewaaawuuuuuuweaeeawweueuwweaeaawuuuuuweueeaaweaeweueeaawawuuuwwaaaaweeeeeweeeuwueeawuuuuuwueeuewuuwueeuuwwaweeaewuueaeawaaaaawuuuuwuwaaaawaeeeuuweaeawuuuuwaeeaeawuuuweeaaaweeeuwueewweeeeeeweaeawuuuuwawaaaaaaaawuuuuuuwaaaawaeueewaaaawuuwuuwaaawaaaawwuwweaaaaaawuwueeuuwaeeeweewueeeawwaeeawuuuwaawuuuuuuwaweeaeawuuueeawaaeeewuuuwueeuweeuewueaeawaaaaaweeewawuuueeuweaaaaaweeaawuweueewawueeawaaaawaeeaewawaaweueeweaeuwawuuuwaaaawuuwuwueaeewuueeuwawuuuuuwawueeeaawaawuuweeawuuwwuueaeeuwueaeawaaaawuuuuuweaeewuueaeawwawuuuuuwaaaaaaaweaaaaawueeuweeeaawawwueeawuwuuuuwueeeawueeaawaaaaweaaeeawueeuwaawaaawuuuuuwaaawueaeewawaaaeeuuuwaaawweueeweeaweaeewawuuuweueuuweuueewueaeawaawaeaaaaawueeuuwaeeeaawweaewuwaawaaawaawueeaewwaaaaaaweeeeeeweuewaaaaaweaaaawaaaawuueueuwaaawuuuwweeeaawuuwaawawueeuweaaaaaawaeeaaawwueeaewaaaaaaaawuuuwuueaeeawueeeeewueueeawaaaaawuuuwueueeweeawaaaaaweaaeeawaeeuwaawuuuwuuuuwaeeaewawuuueewaawuuweeeeeeweueuwaawweueeawwaeeaaaweeueweeuuwaaaaaaweeeeeeawueueuwaaawueaeewuueeuwaeeeeeewaawuueeawaaeeewuueueuwaaaaaaaaweeeuwueaeawueueeaawweeawuwuwaeeeeeeweaewuwaaaaaaawueueeawwaaawweaaaaaweeuwaaaaweaaaaaweaeaaawwuuwuuuuweueeawaeeaaaweeeuwaawuwwwuueaeawuweueewweeuuwaaaaaaweeeeeewaawuuweeuwwuuuuuwaeeeaawweaeawuuuweeaeawaaaeeawueaeeawuwuueewweeeeeeawueueuuwweuueewuwuuweaeaawuuwaaawuuuwuuuuuuwaaaaaaaaaweeueawueeawuuuwaaaawaaaaawueueewaaaaaaaawueueewwweeaeawuuueeawwaawueueeawuweeuewueeaawuweaaaaawaeeawuuwwuueaeeuwueueuweeeawaeewuuuwaaaaaweueeweeaewuwueeaaawueueeweeewawaeeaaweaaeewaaawueeawaawuuwaweaaeeawuweaeawawuwuuuwuuuuwaaaaaaawawaeeeuwueaeawueueeawuweeaawueaeeuwawawaaaeeawueaeewuueueuwaawwuuuwaaaaawwuueaeeaweueuweaewwaawuweaaaaaawuuweaeuwaaawuuuuuwaawuuuuuwaeeaewuueueuweeaeawaaaeeweaeeawuuuweeuwaeeeeeeweaewweueeaaweewawuuuwueueeweaewuuuwuuwaaaaaaaaweeeuuweeuwaawuuuuweaeeuwueaeawueaeewwuueeaaweaaeeweaewwuuwaaaaaweeeawaaaeeuuuweuueewuuwueeaweaeeawuuuwuwaaawuueeuwuueaeewuuweeaawaeeeuuweuewueeeweaeaaawuuuwaaweueewaaaaweaaaaawaaawueuewueeuewueeaawaeeeuwuweeaaaweeewuueuewaawueaeeuwueeuwaeeeeeewaawuuwweuewaeaeeawaaaeeuuwaaawaaaweaaaaaaweuewueeeweaewaweaaaaaaweewuuuuuweeaewuueaeweaeewuueueuweeaeawuuueeaawaeeewuwueuewaaaawaeaaaaawaeeuwuwueaeewwuueeaawuuuuwueueewweewuweeuewawuuuuweaeaaweaaeeawueeuwaaaaaaawaeeeuuweueuwawaaaawaeaaaaweaeawwuwuuuuwaweueeweaeuwuuwaaawaaweaaeeawaaaawaaaeeuuweeuewuuuwaaweueuuwaeeaewuuuwaaawuuweeweeeeeewuwwueewaweaeeuwawuuuwueeawaaaaaweaaeeawaaawuueuewaeaeewuwueuewuwaaaaaaaweueeawueeuewueaewweueeawueewawaaaaaawuwuuuuwaaaaweaaeeawaawueuewueeeaaweaewweueeawwueeaweueeaawaaawuuueeaawaeeeuuweewuuuuuweeaewuuwaaaweueuwaaweueuuwaaaaawuuuuuwaaaaaaaaawwwuuwuuuuuwaeaeeawaaaeeawaawuuwuuuuwaaaaawuwuuwaeaeeawuuuweeaaaweeuewaaaawuwueeawawaeeeuuweaeawuweueeawwwaaaawuwuueaeawueueeweewwaaaaawuuwuueaeeuwwueaeawueaeeawueeeeeweeueawueewuweeaeawuwuueeuwuueaeeawuuueeawweaaaaawueeuweeeawueeuuwaaaaaaaawaweeueweaeaawuuuuuwaawuwuuuuweuueewueueuuwaaaaawuuuwuwaaweaeeuwuweeaaawuuuuwuueaeeawuuwueaeawaaweeeeeewuuwaaaaawaaaeeweaeewuueueuuwaeeaewuuuuweewwuuwaeeeweaeaawaeeewwawaaaeeweueeweeuuwaawuwuwaeeeweaeaaaweeewuueueuweeeawaaaawuuwuuwueeuuwwaaaaaaweeeeeewwweeawwaaeeeuwueeaawaeeeuwueueuweeeawaeeaweaaaaweaeuwuuwwaaawuuwuuuweeuewueeuwuuuuuwaeeaewuueueuuwaeeeaawaawuueueuuwaweeuewaawuuueeuwuuuwaaaaaaawuweeaewaaaaaawuuuwaaaaawuuuuuwaaaaawaeeewuwueueuwaaaaaaaweueeweeaewwuwwueueuuwaawaeaeewuueeaaweaaeeawaeeweeeeeeawueuewueeeaaweeweeeeeeweeaawaeeeawuuueewaaaeeewuueaewuuuwaeeeaawaaweeeeewuuuwaaweeaewaaaaaawaweaaaaawaaaawuwuwueaeawueueeawuweeaawueueeaaweuewaaaaawuuuwuuuwaawawwueaeeuwuuwaaaawuuueeweeeeeeweueuuwaaaaaawwwaeaaaaweewaweaeewuuuuwaaaawuuuuweewueeewaaweaeawueaeeuwueeaaawuuuwaawuuuuwueaeeawwuuueeaaweueeawueeeaawaawuuwaaawuwuueeuwuueaeeuwueaeweaeeawuuueeuwaeeeeeeweewaaaeeeawaaaeeawueaeewuueaeweueeawaaawuueeuwuueaeeawuuuweeaawuuuwuueaeeawaaaeeuwueeuewuuwaeeaweaaaaawaeeaaawueeaewaeeaewuwueaeawaaaaaweeeuuwuwaawueueuwawaeaeewuuuuweeuwaaaaawaeaaaaweeuuweuueewueueuuwaeeaewawuwuuuuweaewuuuuuuwaeeeawaeeaawaeeeaweuewaeeaawuuuuuwuwaaaaawwaaeeeuwueueuuwwwaeeeaawaawuueaewuwueeewaaaaawuuueewuuuuwaaaawuuuuuweeeawaaawwawuuwueeawaeeaewwaweeuewueueuuwaaaaaweaaaaaweaeaweaaaaaaweueuuwaaawuuuwaeeaeaweuewaeeaawuuuuuwawwuuuuwaaaaaaaaaweeeuuweeaawaeeeawaaaeeuuwweeeawueeaweaeeuwueueuuwweuueewueueuweeaewuueuewaaaaaaawwuwuuwuuuwuuuwaaaaawuuuuwaaaaaawuuuuuwaaaaaawawuuuwaeaaaaweeuuwaaaaaaaaweaaeeawueeawawueaeeawuwuueeuwaaaweueeawaaaaawaweeaewawwaaawuuuuwaaaaaaaaawuuuuuuwaaaawaaeeeuwueeaaweeaewaaaaaaawaeueeweeuewuwaaawaaaeeuuuwaawaaaaaawaeeeawaaaeeawueaeeuwueeweeeeeeawueeaaweeaewaeeaeawuuueeaaweaaeeweaeaaawueeaewaeeeweewaeaeeawaaaeeuuweeeaawuwaweeaaawuuuuuuweaeeawwaaaeeuwuwwawueeeweaeaaawuuuuuwaaaaawuwaeeeawuuwueeawaeeaewweuueewueewuuwueaeeweeeeewueueewaaaaaaawuuwawaeeaewaaaawueaeewuuuwaaaawaaaeeuuwaaaaaawuuwuuuwaeaeewuuuuwawueewuwuwaeeewaaawueueuuwaweeewaaaawuuuwueeuuwaaawuuuwaaaaaaawuuuwaaawaaweeewwuuuwueeawwuwueeeweewaeaeewuueaeawueueeawaeeuwaeeeeeewuuweeuuwaeeewaaaawuueeawaaeeeawuuuwuwueeaweaeeuwueeaaweeaewaeeeweeawuuuwaaaaawuueaeewwuueeaawwwaeeewuueeawuuuuwuuuweuueewueueuuwaaawaawaawuuwuuweaeeawuuueeuwuuuuuweuueewueueuwaaaaawaeaaaaawaeeaawuuuwaawuwaawaeeeuwawwuueuewaaaaawuuwuuuwueeeawaeeuwuueaeewuueaewaaawaaawuuuuuuwaaaaawuwawuuuuuwaaaaaaweeeawuuueeuwuwuwaaawuuwaawuuuwaawuuwuuwaaaaaaweaaaaawaawueueuwuwaeeaewawwaaaeeuuuwaaaaaaaawuwuuwawaaweeaeweuueewwueeaawuuuuuwwawaaawaeeaewaeeaewawwaaaeeuuweeeaaweeuwuuuuwuwaaaaaaaawaeeeuwaawwaaaeeuuwaaaaaaweaaaaawaweueuuwaaaaawawaaaeeeawuuueeawuuuwueueeawaeeaaweueewweeeaaweueuuwaeeeaaweewuwuuuuuwwaaaaawuuuuuwaaaaaaaaawuuuwaweaaaaaawuwuwaaaawuueuewuuwaawuweeaewuuuwueeuwaaaaaawaawuuuuuuweaeeawaaaeeuuwaaaaaaawaeeeuuwweuewaeaeeawaaaeeuuwweeeweeuuwaaaaaaaaweeaewaaaaaaaaawueueewaaaawaaaawueeaewaawuuwaeeaeawuwawaaaeewuuwawuwaaaaawaeaaaaweaewuuuuuwaaaaaaaaweeeuwueaeawueaeeawueeeeewueeaewwaawaeaeewuueeuwuueaeewawuuuwweeawuuuuwuuweeeawaawaawuuueeuwuwueueeweeuuwaaawwweaeewweeeeeweeeawaaaeeuwawuwuwaaaaaaaweueewweeeaaweueuweeuewaawuuuweeaaweaaeewaaawueueuwawaaawuwueueewawaaawaweuewaawueeuwuuuuuwaeeewaaaaawaaaeeuuuwaaawaaaaaawueueewuwaweeeweaeuwuueaeewuueeweeeeeeweueuuwaaaawaaaaawuuweaaaaaaweeaaweaaeeawaeeaawuuuuuwaaaaawaweeueawaeeweeeeeeawueueuwaaaaaaaweueewaaaaaawaaeeeuwuwuuwawaeeuweaaaaaawaeeaawuwuwawaeueewaaawuuuwaaaaaaawuuuwuuuuwaaaaaaaawueueeweeeawaaawuuuuwaaawueewwaaaeeeawuuuwaawuueueuwwawaawuwaawaaawaeeeuwwuuuweewaeaeeawwaaaeeuuuwaweeeawaweewuuuuwuwaaaaaaaawueueeweeaewuueeweeeeeeawueeaaweeaewawaaaaaawuwaaawuweaaeeawaawueueuwaaaaaaaawuuuuwuueaeewuuwuwaeeuwwaeeeeeeweueuwuwaaaaawuueaeewuuuuwaaaawuueueuuwaeeaeawaaaeeuuwwuwaaaawuuwueeeawaeeuwaaawuuuwaaawaeeewuueeawuuwaawuuuuuwaawueaeewuueaeawaaweeeeeewaaweeeeewweeeuwaaweuewueeuweeaewuueaewaaawaaweeaewaeeeaawaaaweuewueeuuwawaaaaaaaaweeeuuwaawuuuwaeewaeaaaawaaaaawuuuweewuuuuuwaaawueueeaawawueaewaaaawuuuwueaeeawwuuueeaawawueeaeweuueewueueuwawaaaaawaeeaewaeeewaaaawweeeeewuuuuuuweaeewawaaaeeuwaaaaawuuuwueaeeuwwueeaaawuuuuwaaawuuuwuwueueeweaewuuuuuwaaaaweaaaaaweeuuwaeeeaawwuwaeeuwuueaeeawuuuweueuuwwaweeaewawuuueewaeaaaaweaeawuuuuweaeeaweueuwaaweeawuuuuwawueueeawaeewawaeueewaaaaaaaawuuuuuwwuwuuuweuueewuuuweaeaawaeeeuwueeuwaaweaaaaaaweeaawuuuuwaawuuuuuuwaeeeawueewwaaaaaaawuuuuwuueaeewuueueuwaaaaaaawaeeeuuweeuwuueaeeawaaaeeuwueeewweaeawuuuuwaaaaaaweeewuueueuuwaeeaewuuuuwawaawuuwueeuweeaewuuweaewaaaaaawueueeawaweueeaawawueueuwaaaaaaaawuuuwaaaweeeuuwaawuueaeawaaaawuwuuuuwawaawaaaweeueweeawweaeeuwueuewaaaaaaaweeeuuweeaaawueueeweeaewuueewaawaeeeuuweaewawaawaweaaaaweeaawueaeeawwaaaeeawuwuwawwaawuueaeewwuueaeawuuuwawueeeaaweeawuwaaaeeewuuweueuwaaaaaaawaeeeuwaawuuuwawaawaaaeeuuuwaeeaeawuwuueeuweaaaaaawuweaeawaaweeeaweuewaeeaawwuwuuuwaaaawuuuuwawwaeeeeeeweaewawaaawuwuuwueaeewuwueeawaaeeewuuuwaeeaaweueeawuwweeeawaawueueuweeaeawuwaweuewaaawuuweueuuwaweeaeawuuueeuwuuuwueeeaaweeuwuwaaaaaweeueawueeuweeeaawaawuuuuwawaeeaawaeeeuuwaawuueueuwweeeaaweueuwwaaaaaaaawueueeawueeeawuweewaaaawuuuuwaaaawaeaaaaweeawaaaaaweeaewaaaaaawaaaeeewuueueuuwaeeeaaweeaaawuuwuuuuuwueeeaawaawuueeaaweeaewwaaawawwwuuuuwaaaaaaaaawwwueueeawawaaaweeeeeeawueaeawuuuuwaawaeaeeawaaaeeuuuwaawueeeawwaeeaawuuuuwuuuweeaewuueueuuwwaaaaaaawuuuuuwueeuewueuewaeaeewuueewaaaweeueawaeeaaaweeuewaaaaawaaaeewaaaaweaaaaweaeaaawueueewaaaaaaaweeaewaaaawueueeaawweeuwuuwaaaaaweueewaaaaawuwuuweaeeuwueuewuweeeweaeuwaeeeeeewaaawuuwwueeaawaeeeuwueeaawuuuuwuuuweeaewuuuwaeeuwuueaeeawaaaeeuwaeaeewwawuuueeuwuueaeeuwaawuuueeuwaaaweaaeeweaeaawaeeeuwueaeweaeeuwueeweeeeeeweuewaeaeewuuweeawaaweeeaweuewaaaawuuueeuwuueaeeawuuueeuwaeeeeeeweueuwaaaaawaeaaaaawaaaawuuueewuuuuwaaaaaawaeeeawuuwueewaeaaaaawaaaawuwuwueeuwaaawaeeewuwawuueewuuuweueeaawawueueuwawaaaawaaaeeewuuuuwaaaawwuueeawaeueewaaawueaeeawaaaeeuuwaaaaaaawaeeeuwueeuwuuuwaaaawwawaweeaewaeeeawueeuuwaeeeawueeaawueueeawueewueeeawaawaawuuueeawaaeeeuwueueuweeeawaeeuwaeeeeeewaawuueueuuwawaaaaaaawweaaeeawaaaaweueuweeaweaeewuueaeawaawaeaaaaawaaaaweueuwawaawuweeaaweaaeeawueeuwuwaeeewaawaaawaaaeeweueeawueeuweeewaaawueeawuuwawaaaeeewuueeuwaaawaeeeawuwuueuewuwweeaeaweueuweaeuwaawaaeeeuwueaeawwuwaaawuuuuuuwaaaawawawawaeeaewaaaaaaaaweaaeeawaaawawwueeeeewwuuuuuwaaawaaeeeuwueeawuuuuwuwaeaeewuuweeaawuuuuuweueeawaeewaeaaaaawawawueeaaawuwuuuuuweueeawaaaawuuueeuweaaaaaawueeaawaaaawawuuuuweaaaaaawueeaawueueeweaeuwawaawaeeeuuwawuuuweeuuwaeeeawueeuwweeaewuueueuuwaeeeawaaawuuuwaeeuwuueaeeawaaaeeawuuuwaaaawuueaeeawuuueeaawweaaeeawuwaaweewwaaaeeeawueeeeewwueueeweeeaaweaeawueaeeawwuuwaawaaaeeuwaaaaaaawuuwawuuuuuwaaawwuwuuweaeeuwueeaawwaweeeawaaaeewuuweeeawueewueeuewueeawuuuuuwueeuewuuuweeuwawaawaaaaweueeweeuewueeuwaawaawuuuuuuwaaaawuuuuwaaaaaaweeeuuwawueeuwaeeeeeeweeawuuwaaaweueeawaeaeewuueueuuwaaaaaawaaaeeeawaaaeeuuuwaeeaewuueueuuwaaaaaweaaaaawaaaawuuuuweeuweeewaaweueuuwaaaaaaawuwuuuuwaaaaaaawuuuuuuwuwuwaawaaaawuwwuuuuwaaawuuuuuweuueewueueuuwaaaweaeeuwueaewwaaaawuweeeeeewawueeuwaeeeeeeweuewueeeweeawaaaawaaeeeuwueewuwuuuuwaaawueaeeawaaaeeuuwweeeaawuuweeuweeeaawaawuueueuwuweuueewueueuweeuewwawuueeawaaeeeuwueeaawuweaaaaawaeeawwaaeeewuuuuweeaweaeeawaaaeeuuwawuwaaawueueeweeaawueaeewuueeawaaeeeuwueaeweaeewuueaewaawuueaeewuueaewaawaaawaeeeuwueaeweaeeuwueewuwuwaawuwuuuuuwaeeeaawaaawaaaeeuuwwaawaaaaaawwueueeawaaaaaaawuuuuwaaweaaaaaaweueuwaaaaaaaaweeewuueuewaeaeewuueaeawueueeweaeuwuuwaaawuuwueaeeuwueeaweaaaaweaeuwuueaeeawuuueeawuuwuuuwaawueaeeuwueeuwawuuwaaaaaweeeuuweeuwawuuwuuwwueeeaaweaeawueueeweaeawaeeaewaaaaawawaaaeeewuueueuwaaaaaawweaaaaawaeeaaawuuwuuuuuwueeeweeuuwaaaaawuueaeeaweuewueeuuwaaaawuuuwwwaaawuweaeeawuuueeweeeeeeawueeaawuuuuuwweaeeuwueeuwuuuuwaaaaaawuuuuuwaeaeewuueueuweeuewueeuwuwueaeeweeeeeweeueweaeawaaeeeaweueuweaeawaaeeeuwuuwaawwuuwueeuwaaaaawuuuuuwaaaaawwaaaweeueawaeeuwaawaweaaeeweeaweaeeawaaaeewuwaaawawaaaeeewaweueuwaaweaeweaeeawuuueeuwaweeeeeeawueeaaaweeeuuweaeawueueeaaweuewaawaawaeaaaaawaeewuwawaaaeeeawaaaeeweueeaaweueuwaaaaawuuuwaaaaaweaaeeweeuweeaeawwaaaeeuuweeaewuueeawuuuuuwaawueueewaawaawuueeweeeeeewuwaweeaweaaaaawwaaaawaaaeeuwaaaaaawuuuuwueueeawawwawueeaaweeaewaeeeawueewaeaeewuueeuweaaaaaweeaawuuuweeaeawaaaeeuuwawaawuwaaaaaaweeueawuwaaweueuuwawaaaaaaweaaaaawaeewwaaaeeeawuuuwuwaeeaaaweeueweaeaaawuuuwuuuuwuuwaawaawwueueeawwaaawwuuuwaaaawaaaeeuuwaaaawaaaaweeuewaaaawuueaeawuuwueeeaaweaeawueueeweeaweueeaawaaawaaaeeawuuuwaaaaaawuuuwuuuwwaaaawawuwaaaawuuuuuwwaaaaaweeueweewaaaaaaawueueewaaaaaawwaaeeeawaaaeeuuwaaaaaweeeeeeweueuuwwaaaaaawuuuuuweeaeawuuueeuwwuuuuuwaeeeweaewuuuuuuwaweeaewuuwawueaewaaaweeeeeeweeaawuuuuwuwuwaaaaaawaeeewuuweuewaweueeaaweeaaaweeewuueeweeeeeeawueeaawaeeeuwueewaweaaaaweeaweueeawaeeaaawweeeawaaaeewawaawuuuwaaawuuwuweueeaaweueuwaaaawuuuuuwaawaaaaaaweaaeeawueeuuwaeeeweeuwaaaaaawawaweeueawaeeaaaweeeuwueeaawaeeeuwueueuuwaaaweueeaaweeaawaeeeawuuueewawaeeaewaaaaaaaaaweeeuwueeaaawweeewuuweaeweaeeawuuueeawuuwuueaeeuwueaewuuuwaaaawuuuwaawuuuweuueewueuewuwaaaaaaawuuuuwaaaaaweeueawaeeaaaweeeuwueaeawuuuwaaaaaawuwuuuuuwaaawaaweeeeeeawueueuuweuueewueeaaweaaeeawaaaawaaaeeuuweeaeawuuueeuwuueaeeawuweeeeewuuuuuuwuuwaaweueeaaweewuuuuuuwaaaaaaawuuuuwaaaaaawuuuuuwwaawaeaaaaweaeaaawuuwuuuuweueeweaeaawaeeewuueewaeaaaaweaeuweaaaaaawueeawwuuwaaawueueeaaweueuweeeawueeawuuweeuewawawaaaeeuuwaaaawaaaaweeewuwawuuuuweaeaaawueueeweeuewwueaeawwwaaaaaweeuewaaawawuueeawaaeeewuueeaawweueewuwaaaaaaaweaaaawaaaaawaaaeeuwuwaaaaaaweaaaaweaeaaawuwuuuuuwaaaawuuuwuuwaaaaawaaeeewuueeaweaaaaaawuwueeuuwaaaaaaawaaeeewawaaaeewaaawaaaweeeawueeeeeweeeuuweaeawaawaeaaaaawaeeaaaweeeuwuwuwawawueueuuwaaaaawuueaeewuuuwwaaawuwueuewaeaeeawaaaeeawuuwaaaaaawuwaaweeeuuweueuwaaaaaaaawueeaeweuueewueaeweueeaaweueuweeuewueueuuweuueewawuueueuweeeawaweeawuwuuuweaeeuwwaawaaaeewaaaaawaeeewuueeuwuwueaeeuwueeaaawueeaewawaaaaawaaaeeewuuuwueeaawaawaaaeeeawuuueeuwuuwaaawaaaeeewuueeaawuwuuuuwaaaaaawueeaewwaaaaaaaaawuuuuwaeeeeeeweeaaaweeueawaeewuuuuuuwaaaaaawaeaaaaawueeuuweuueewuwaaawuuueeuwuuweaeewuueueuweeeawuweeawuuuwaaaaaaaaweueeawawuuuwaaawaaweaaaaaawaawawuueeaawuuwuwuuuuuwaaaaaaawawaeeeuwueueuwaaaaaaaweueeweeewaaawuuuweaeawawaeeewuwueeawaaeeewwuueeuwaeeeeeeweueuuwaaawuuuwaeeeaaweueuwaaaaaawuuuuweaeeaweueuweaeaaweeaewwaaaaawaawaeeaewaeeeawawwaaawuuueeuwaaaawuuwaaeeeawwaaaeeuwueeeweaeaawuwuuuuweueeawaeeaaawweeueawaeewaaaeeeawueeeeewuuuuwaeeeeeeweeaawaeeeuuwawuuwueewueeeawawuuwaaaawuuuwawuwueeaweueeawaweeaaawuuuuwuueaeeuwueaewaawuuuuweeuewueuewueeeawaeeweeeeeewaawuwuuuwaaawueueuweeaewuueeuwuuuwueeuewueeuwaaaawueeaewaaaaaaaaawueueewwaaaaaaawuuuwaaawuuuwuuuuwaaaaawaeaaaaawaeeaaaweeeawaaaeeuuuweuueewueuewaaaaawaeueewaaaawawaeaaaaawaeewuuuwaaaaweaaaawaaweeuwuuuuwawaaawuueaeewwuueewuuwuuuuwaaaaaawuuuuwaaaaawuuwuuuuuwaweeeawaeeaawaeeeuwuuuwaaaaawuwuueeuwuwuweaeeuwueeaaawueueeawueeuewuweewawaaeeeawaaaeeawaaaawaeeeuwwuuuwaaweaeawueueeawaaaawaaaeeawaaaaawuuuwaaaeeeawaaaeeawuuuuwaeeewaaweeawuwwaaawwueeaewaeeeawueeuuwaaaaawuueaeeawaaaeeawaaaawwuuuuuwuuweeuewueaeawueueeawueeawaawaaaawuuuuwuuuuuwaaaaawawaaaeeewuueueuuwaaaaaaaaaweeueawaeewuuwueaeeuwuweaeawueueeaaweeawaawuuuuuuwuuuwawaaaaweaaaaaweaeaaawuuuuuuwawueueewaaaaawuuwueeaaawueeaewwaaaaaaaaweaaeeweewaaaawuuwuuwuweeeaaweaeweueewaaaaawuuueeuwaeeeeeewawueaeawueueeaaweeawwwaeueewuwaeeaewuueeaaweaaeeweaeaaaweeeuwuuwaeewaeaaaawweeuweeeaaweeaaawuuuuuwuwawueaeeuwawuueaeawawuueaeeawaaaeeawueaeeweeeeewuuwuuuwuuuwaaaaaaaawuuuuuuwuuwaawaaawuuwaawwaawuwwaaeeewuueeaawaeeeaweueuweaewuuuwuuuwaaawuuweeuewuweueuuwaeeaeawuuwueueuwaaaaaaweaaaaaaweeaaawuuwuuuuwaaawawaaeeeuwuuuwaaaawawuuueeaweaaaaweeaawaawuuuuuweeeweaeuwuueaeeuwaawueeeeewuwwuuuuwaaaaweueewaawuwaaaaaaawueueeawueeewaaaaawaaaeeweueeaaweeuwuuuwaeaeeawaaaeeuuweeaeweeeeewuuuwwaeaaaaawueeuuwaeeaewuueeawaaeeewuueueuweeuewueaeawaaaaaweeeweeeeeweeueweeaweaeeuwuweuewaaaaawaaeeeuwueeawuwuuuuwueeeaaweeawaeueewaaaaaaaaweeueawaweeawaaeeeuwwueueuwaaaaaawuuwaeeeeeeweaeawueueeaawaawuueeawaaeeewuueeaawaeeeuwaawuuuweaeawuweaeewuueueuwaaaawaeeeeeewuwuweeaawuwaaaawuuuuweueeweaeaaaweeuewweaewuuuuwaaaaawuuwuueaeeuwueewuuwueaeeuwuuwueeuuweuueewueuewaaaaawaaeeewwuueewaaaeeeaweueuweaeuwwuueaeeawuuuwweeawaaeeewuueuewaaaaaawuuuuwueueeawaeeaaaweeeawuuueeuwuueaeeawwuwaweuewaaawuueeaawweueewaawaaaaaweaaeeawaawaaweueuweaeuwuueaeeawaaaeeweueeawaaaawaaaeeuwaeaeeweeeeewuweueewaaawueaeeuwuwaaawaaaeeuuuwaaawuuwawueeeaaweeuwaaweaaaaawueewueeeawaeeawaaeeeawueeeeeweeeawaaaeeuuuwaeeaeawuuwueueuwawaaaawuuuuwwaeaeeaweuewueeuweeeaaweueuuwawwawaaaaawaeueeweeaewwaweuewaaaawuuueeaawweaaeeawaaaawueeeeewuuuuwaaaaweeueawwuweeuuwaaaaaaawaeueeweeaeawuuueeawuuuwuuuuwaeeaeawuuueewuuuwaaaaaaweeewuueaeawaaaaweaaeeawaeeawaaweeeawwaaaeeuuuwwaeeeaaweeaawaeeewuueewaeaaaawaaawueeaweaaaaaw
I didn't know that this meant. So I went to the encodings
file and started looking up some of the answers.
One of the hints was:
a language that is the opposite of good
So I tried search for some bad or evil languages and came around evil
.
From the examples I found it looked the same, so I went on to write an evil
interpreter.
Before we can do that though, we need the evil
code in our python file. You could just make a variable and past the strings output in there, but I wanted to eventually make [a script that would automatically solve it]({{< ref "#automatic-solver" >}}).
To get the evil
code, I used the following:
evil_code = ""
for c in (chr(n) for n in image_data):
if "a" <= c <= "z":
evil_code += c
continue
if len(evil_code) >= 20:
break
evil_code = ""
After which, I wrote a very basic evil
interpreter as described here.
I only implemented the commands that are actually used.
evil_output = ""
accumulator = 0
for s in evil_code:
if s == "a":
accumulator += 1
elif s == "e": # Apply weaver function
accumulator = (
(accumulator >> 0 & 1) << 2 |
(accumulator >> 1 & 1) << 0 |
(accumulator >> 2 & 1) << 4 |
(accumulator >> 3 & 1) << 1 |
(accumulator >> 4 & 1) << 6 |
(accumulator >> 5 & 1) << 3 |
(accumulator >> 6 & 1) << 7 |
(accumulator >> 7 & 1) << 5
)
elif s == "u":
accumulator -= 1
elif s == "w":
evil_output += chr(accumulator)
elif s == "z":
accumulator = 0
print(evil_output)
789ced57695413591a7569c56e9155161d050511150111230a024d9b800328e368435340a28050dd519486180810daa16db2884823d26cc12e141cb140b1a2b284d8a2a06cb1442a8a2c2d088841a2040821db94fd6b8ef863ceccfc983987faf1bd73de7975ef7ddfbbdff7ceb3e42e99a7914a0f2dd0beed0939bbb98976faa5ba757fc217566b421ade9ddb79b36ad1bd1fbe2d0f9086441e094c9578595da40c47469122afa9e5a7b50aa950fdd652a86dc20779aa6a4ad9a7d5bcb0ebcf6405d569a66542add29352393d90a995679aeb2e4efbedd0967f1a14c25689e8bea78c83a3a46a9a2414b5f5c74b7e3ba419cf4cfd097cf0d1ec965f3c645680d3c79851f755b2db3ad39df36791391bc2959e56bb36cc1291a7391ba8ffc52c5a56e0ac956b67f37d429839d499766ff6a4c9bfcd3079f163b04fd3fe8b0ceeb353f0af6eec530cffd3a99bcda08b723e06db42b49be53a037896817623e1ffd5739825f7930cffb6dcffe8503f01c69e3d595d0baafb525bda2ceee5ca2d627b2657296bfb4f895541eb1dea78776656c4a8c3822a3a6b7b9466ad41fa83a6549a44b14b15272a767b6960e9d9207f5b74e791f3aee97d4b24efb2ddfe5c4816bdbf4bd046fc546219eb0e0b8ca5ee42bd51b96d6159b9f402ebf6354548729cf890baeeadb37bb722358532c9bf4110363d5959401651b44fa7b3a20783038c2cbb8e9d2433b2ce5db8a158f09cb13f8844953564c89764bf76d2ce848d9b26325d5046b5bf5d6f128d122aabe2f88da90b94ae1ead8d430c6639280879cebc6be6d63b91ec7da46a7adf6b5e353d31fa82dff7ccd4079a7cedf88aa81a6c50545d9b1b114759658e9da5c8c69e2f2f1856da473e244933cc79d514d3fe8487cf9fe60b2dac814c41b1b352a20711b4ed672ecb45aaba67e346b6f5f3375bafbb9df4341e73db000c6c87260b86e3e828e3b6b38b565734b11bca018fd5b3f09f878b47eefdf0aebcbf46fdc4cd06c85c7a9975727ec59e7b07fa321447f4b8d838b7664764d84620402f3ef6b53a3b575f6a0c3bd5f13aa08116ab6de617b72e557b5036b714c71e37854b2a264fa02b85dd94909eca1dd78ace35b4bd64509ff519c137524bbbfb6b3f1bd0e162a8ca847df3a24c978d0d502ee671312cae22752c8fe08d344eab5c4f50627d8fc6b0b147a1d59255e193eab80c5ce3301b93418497fbea55a9ddb2793564a4ddecc99525293f826dbad62f20c2815b650b867dd11a815ef13ac08e3aea00d11c44c2f36b9dea8792b33c1c00aed2bd8ac4f01b8a6ebfb308cdef35a330c93abee34524eaa0ff484bf9062e067a36d8723085abaaca6f973fd2684d948cb9a93a48d4a364d9bdcc73a957c12226395bef5c62ba312c666157d725a7831953bdd59960cf8cd5480f518245c72e4567320276d800b56390b364b032ba859af203e8be757a9501dc39ffb0b2dc966e089b7c8e99c14ea6b022b75540a2966e99c883abdc8d60a7e088033be3a868d7cfef320de112c70903b81c2234523553109f591aba16b0767b61bfab21d192fb0810842227451dedb5152ff49d57bb5d583c6c87abac0f3aee0838473ba03369446a94fe2d6278544c8d3782899f7de75927003378a07a48f07e3dda356e4fa406dccb2c6ccd810894c812d95851b261f4cba357b9d89bc72e6670c8037ca51744a84abf57c6c2da1b936a407b6108873a9acec1cee8b22fcb5f7e97659193fddbdd90e03f659ac079930796c33d5529bec85065d9464096267b4ba24625b4b230625985f669a34bf1c8300b4be08045f482c0f46b9ed1107f8aaefe0c75cdba126000e7d18f3f6d970f408495ca142f246aa8d91e9d91d00f92e7f59291409537e5dcd070b31d493295f7c21056285dad0137c7523a17eb9ff97baed696853d5b95ccfc016cb37c2032823b97d586ad6763f1239cf784e36cecccc115ba377d34a737eb10252e8b1cd5853ee18783106fb8f00c51724537fe7e5410529ace6a8068e45b929fb7382c878b2af83640f9b8ec114490e5f14ce0fd9a38d7a5139f437c6bb229b3088d205135adab6968bffff9446da1213cf2eb1d1b2042b56fc7fba28cac94a5dd5fe3eae501783e98d3ebd17c43dfa59e837417d435df8e8d81d2df9af38505a03da3e0b96b5d39d8b68a95977b82f1eedb65ed78b1e47da50945f313f70b7184e6270770b54a4930c4bfa3eab301ec1a068c49d4c8be7478d2d90cee3c457700240d7b7c90b3cd4fb0c957a2a2f0bcba4cfc586fdec9048fd1e0240ed61c3d832b4e386a04b7ddfcfb0cd5616b0a8d3934c6c13885ec2e824828ab9b1e3e43a40e15255aa35db9c3221338678570daf177078f688826117821636a87413054b407d1c354af1f9c7f9dd7b9e2924aeaf50c481fc6f77fe46b8b6da644eafecdcbfdcc5060e7c3ad410a9c8db1a67e2f12459e763185613923e5177b3d9f80e570894e507799f5f33b9b0067fddb760077e15008de16c3c4b832398e1f7561ea2ab87a49612d076bc7442d79f628607649cd7f1f85d65ce7b951eb37edce17d834bb744b217d3338c745114292ec693ffaa83c3cdaae9d72db001e49548c40fc9d66c401937153148877cb0a2bb74601f7eb1d49ef5a43ab37013a563754e5612cec755d483e44507b1cdd762b48b13614ef033a3efc0d46b0cc32479006c27ae1411cacd5b99085f9274a38b5740ef686c133bb9a06d14e5ce7e19d4cc765c3292255a15a9973b9dfeee43aa06cec550cc41f4fe66d00dca869609b304919111f77921d87b755d1b6381ed91ab8ad7978ba7874078d4ba4def4e133055fa6687ca58350e1f3fc5c33c674a6319c573d4ee8a6649f0db3fcbe5ec8c2a96815ad2d8dc9e24d5cecc2f147c2a67c61e3e1f8ed26b54ee84aa21dea8b18c126a77623a5368bf1dac0ebec6cbb23deb38be2ed2182d33b239848bd2c33bb3cf8c61ecfac05099972f4640542fc9aed78c43bbbfe4a2275dd4f9b21fe5f77b1b089a83540d05213dc95fd46caf3e0ea220a8eef3a0210a9e1bfdb006ccc77d8d1b7a533641d50e0ce01df5298063838ed181eedd02e8b6d2c6c8f6e30ce968067bfed4ba4c2741344dbf6c0666a23eaea2ac4d9684ff82cecfe5d3f5c6f4e3be5fc85f2db7b90ed49cbd12ea16a0d0efea60b8fb83277d000ce32af6261beefd7001d05a7c030fb834409c8f11b3d00d1e29986305172896a08b34fe5827801140937d8071dcf028f4d6d80f8a90a2f1cbc93ff2112a9498fd700d64e9186704ebf1752eab210ad01aeb0307479eeb332a2e4b5ca0ae7fcb3d80a305ee888e730d035753f50d16b85768dee2752b5e369387839f54364635317bd10eff0875680dd833470eff1c5108dff17bc056f74b811c0c650050967cbae2021eb1793f18cc2f11a0809159020fef31216a619d4f9002e5efcc731bdf54a0333ee9f2321811c1dfc8ad1254abefbd50af039101a5e6c0497c8b8389b6d1817dcab5b876714185191bead66fce1124358dda2ff01bc62191e6d8017698bd195ecb55c105eae0f11042b5858e75724e46ce99dfb1e3680cfb019ceb6afc614cd374ff890d1270aee93ef274dd95854a615a0ccb5fc001ef6a73fac734b67194430da8d57c8460b2295e18c5f2aa739e0eabdb1ec3923cd1969ce4873469a33d29c91e68c3467a4ff432335ee412c76ec18dfcdf0fe5ba79fb88748455c34764ed7eb8211bd1fefbec01f52c549b1ceab8ce11c1192ba2626a3806e0c972ce80034440999236d402f02bb841e0072d2e69b9af37a91804cc5381653d21a5cfdd8d841eb5f2eef5df58a8d3d6c2ec79fbf5f5c16bf628fd6bfed58ede63cd126eaee714f18d5266780b0b4b2bdf7d1b5ce0188bfa3e46bfabdc8b10acf3b1ad756e58fe211fa57d44360456708beff9947d732ec83b6bcd983bf5b4895b4a568cda0b11e0beb5f415f88bac66f991c4ffdf297836653d889f31b2d72da12481d5793739cd5c7582e06f0e05aea1ac076293213766250d03d3376cd5c2a37d6514f11ca1ce10d1dde7d87b77ea3f1214a4e7d3e35e358d3d654650cf113992957c19e2e4a5364d7a5f7524d5649c56422c4a7056e177b972a05fb0411143f6d833d5172e1d54e9a7fa7dbddb161669b578a3f3256efac3f56d9c4c246b656f3c1638a1ff1e724ace6cbc7bbf284bccd80b2e5a41f12439bac017b66fcb9a9620244bbeebf159ae42c4a3cf4174115659449a29177f16c0061f550a601ecd36c84328ec23c9e6d8d67a3b99f3463643c15028b0a1789b9d8d03c8f6709d99ec3f75d304130d21849b9d4176146d0d8bf1f5fe9313c60739446a973a8e6a5b3314c1b31def159edea91dd4449ade7e88107af217a9837427e7cb07ef369f9c46b9dcbcd05ebbed2f42879c190d3c1d0de1bc763ddf38e54d9016eb46f536e87390095c9b606b0dcf53e1ba30823035bde865078d181ada78ed7ee5c030c173fa800570bccf597ff2a873b99b6f95c8cdb2bcaebcb3bc95d351d2b6cedad1e52d590911858516b9f0d27156b637ac5125ee640627501b8dafe543d92dc67f48ddac4bf496f40ac766990b05f48831d4b3595056e09b64dc4c793015a934afd9008a26421c3af5cd4c77710e8a9db6aa1c9434de45f4e974193136466877e8fa63031dc0fd17c97367daef7a461a5df9884813292af3c52f1e966b0e7e1d49e9a3dc27d762c719bc7dd175c4ce7e8dfc43e15cba4373a9aa6275d64db0d27ee6fa55fcc7e284b9f5ffefbe88138bdfa5f3bf2e9814dcf0312c57b2b7f9f0fd12622fb1c011271eefbf88bf959bba071f740f639e48b79ff00c8e6ad7b
Decompressing output
At this point I was stuck for another while, until I tried to read the evil
output as hex:
data = binascii.unhexlify(evil_output)
print([hex(c) for c in data[:20]])
['0x78', '0x9c', '0xed', '0x57', '0x69', '0x54', '0x13', '0x59', '0x1a', '0x75', '0x69', '0xc5', '0x6e', '0x91', '0x55', '0x16', '0x1d', '0x5', '0x5', '0x11']
When looking up these bytes again in the list of file signatures, we find that it is zlib
data.
If we then decompress it an read its output, we get gzip
data:
zlib_data = binascii.unhexlify(evil_output)
data = zlib.decompress(zlib_data)
print([hex(c) for c in data[:20]])
['0x1f', '0x8b', '0x8', '0x0', '0xfe', '0xef', '0xef', '0x60', '0x2', '0xff', '0xed', '0xdd', '0x5b', '0x8e', '0x2c', '0xc7', '0x75', '0x85', '0xe1', '0xfd']
If we then read the output one last time, we find that it is likely a PPM file.
zlib_data = binascii.unhexlify(evil_output)
gzip_data = zlib.decompress(zlib_data)
data = gzip.decompress(data)
print([hex(c) for c in data[:20]])
Let's save this output to a file and open it:
with open("test.ppm", "wb") as file:
file.write(data)
{{< figure src="/img/writeups/google-ctf/2021/beginners-quest/6/piet.png" title="test.ppm" >}}
Piet language
This looks like a weird image, it likely contains data in the colors.
The encodings
file gives the following hint:
a language named after a painter
When googling this, we find the Piet language. This is not a written language, but is saved in an image. This is exactly what we need.
Let's try to use a piet interpreter to read the image.
For this you can use the npiet
command, or use this handy online piet interpreter.
In python, you will first have to install npiet
, and then you can use the following code:
piet_output = subprocess.run(
["npiet", "-e", "10000", "test.ppm"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
piet_output = piet_output.stdout.replace(b"\x01", b"").decode()
Decompressing again
This time, we get some very annoying output again. Luckily, it turns out to be the same as the previous compression but without gzip
.
zlib_data = binascii.unhexlify(piet_output)
data = zlib.decompress(zlib_data)
print(data)
b'nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~\nnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~'
This is ugly, to let's format it:
data = data.decode()
data = data.split("\n")
for line in data:
print(line)
{{< code language="text" title="output" >}}
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya~
{{< /code >}}
nya~
This data looks like some weird language again...
Another hint from the encodings
file was:
a language that looks like a rainbow cat
From looking around in the language list on esolangs.org, I found nya~
, which looks like an abbreviation of Nyan Cat. The examples also look the same as our output.
So, from the commands table on its wiki, I wrote the following interpreter:
nya_result = ""
counter = 0
for line in data:
for char in line:
if char == "n":
counter -= 1
elif char == "y":
counter += 1
elif char == "a":
nya_result += chr(counter)
elif char == "~":
counter = 0
print(nya_result)
440697918422363183397548356115174111979967632241756381461523275762611555565044345243686920364972358787309560456318193690287799624872508559490789890532367282472832564379215298488385593860832849627398865422864710999039787979733217240717198641619578634620231344233376325369569117210379679868602299244468387044128773681334105139544596909148571184763654886495124023818825988036876333149722377075577809087358356951704469327595398462722928801
This looks like a large number of sorts.
Unary
So with this hint in mind:
a language that looks like a rainbow cat
T looked further on esolangs.org. Then I found Unary, which, as a nice bonus, outputs a language called brainfuck. This language is likely the answer to this hint:
a language that is too vulgar to write here
Unary expects binary as an input, so lets convert our output from nya~
to binary:
# Convert to binary and remove leading 0b
unary_code = bin(int(nya_result))[2:]
print(unary_code)
1110011111000110011111001010010010010010010110000010010010010010010010010010010001011111000010010010010010010010100001010110000010010010010010010010010010010001011111000010010010010010010010100001010110000011011011011011011011011011011001011111000011011011011100001010010010010010110000010010010010010010010010010010001011111000010010010100001010110000011011011011011011011011011011001011111000011100001110000011011011011011011011011011011001011111000011011011011100001010010010010010110000011011011011011011011011011011001011111000011011011011011011011100001110000010010010010010010010010010010001011111000010100001010010010010010010110000010010010010010010010010010010001011111000010010010100001010010010010010010110000011011011011011011011011011011001011111000011011011011100001010010010010110000010010010010010010010010010010001011111000010010010010100001010110000010010010010010010010010010010001011111000010010010010010100001010010010010010010110000011011011011011011011011011011001011111000011011100001010010010010110000010010010010010010010010010010001011111000010010010010010010010100001010110000010010010010010010010010010010001011111000010010010010100001010010010010010010110000011011011011011011011011011011001011111000011100001110000010010010010010010010010010010001011111000010010010010100001010010010010010010110000010010010010010010010010010010001011111000010010100001010110000010010010010010010010010010010001011111000010100001
Then, let's follow the steps to convert brainfuck to Unary in reverse.
-
Remove the leading
1
unary_code = unary_code[1:]
-
Replace unary with brainfuck
for i in range(0, len(unary_code), 3): operation = unary_code[i:i+3] if operation == "000": brainfuck_code += ">" elif operation == "001": brainfuck_code += "<" elif operation == "010": brainfuck_code += "+" elif operation == "011": brainfuck_code += "-" elif operation == "100": brainfuck_code += "." elif operation == "101": brainfuck_code += "," elif operation == "110": brainfuck_code += "[" elif operation == "111": brainfuck_code += "]"
-
Print the result:
print(brainfuck_code)
[-]>[-]<++++++[>++++++++++<-]>+++++++.<+[>++++++++++<-]>+++++++.<+[>----------<-]>----.<+++++[>++++++++++<-]>+++.<+[>----------<-]>-.<[>----------<-]>----.<+++++[>----------<-]>-------.<[>++++++++++<-]>+.<++++++[>++++++++++<-]>+++.<++++++[>----------<-]>----.<++++[>++++++++++<-]>++++.<+[>++++++++++<-]>+++++.<++++++[>----------<-]>--.<++++[>++++++++++<-]>+++++++.<+[>++++++++++<-]>++++.<++++++[>----------<-]>-.<[>++++++++++<-]>++++.<++++++[>++++++++++<-]>++.<+[>++++++++++<-]>+.<
Brainfuck
The last step is to evaluate the brainfuck code.
To do this, we can use the brainfuck library brainfuck-interpreter
.
pip install brainfuck-interpreter
flag = brainfuck.evaluate(brainfuck_code)
print(flag)
CTF{pl34s3_n0_m04r}
Automatic solver
As for most ctf problems, I've written a script that executes all the step automatically and returns the flag.
{{< code language="py" title="solve.py" isCollapsed="true" >}}
# pip install brainfuck-interpreter
import subprocess
import binascii
import zlib
import gzip
import brainfuck
#
# Extract image
#
chars = []
with open("chall.txt", "r") as file:
for line in file:
for char in line:
chars.append(char)
sorted_set_chars = sorted(list(set(chars)))
indexes = [sorted_set_chars.index(c) for c in chars]
piet_image_data = bytes(((n & 0x0F) << 4 | (n & 0xF0) >> 4) for n in indexes)
#
# Read evil code
#
evil_code = ""
for c in (chr(n) for n in piet_image_data):
if "a" <= c <= "z":
evil_code += c
continue
if len(evil_code) >= 20:
break
evil_code = ""
#
# Run evil code
#
evil_output = ""
accumulator = 0
for s in evil_code:
if s == "a":
accumulator += 1
elif s == "e": # Apply weaver function
accumulator = (
(accumulator >> 0 & 1) << 2 |
(accumulator >> 1 & 1) << 0 |
(accumulator >> 2 & 1) << 4 |
(accumulator >> 3 & 1) << 1 |
(accumulator >> 4 & 1) << 6 |
(accumulator >> 5 & 1) << 3 |
(accumulator >> 6 & 1) << 7 |
(accumulator >> 7 & 1) << 5
)
elif s == "u":
accumulator -= 1
elif s == "w":
evil_output += chr(accumulator)
elif s == "z":
accumulator = 0
#
# Decompress evil output
#
zlib_data = binascii.unhexlify(evil_output)
gzip_data = zlib.decompress(zlib_data)
actual_piet_image = gzip.decompress(gzip_data)
#
# Read piet image
#
piet_output = subprocess.run(
["npiet", "-e", "10000", "piet.ppm"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
piet_output = piet_output.stdout.replace(b"\x01", b"").decode()
#
# Decompress piet output
#
zlib_data = binascii.unhexlify(piet_output)
nya_code = zlib.decompress(zlib_data)
nya_code = nya_code.decode()
nya_code = nya_code.split("\n")
#
# Execute nya~ code
#
nya_result = ""
counter = 0
for line in nya_code:
for char in line:
if char == "n":
counter -= 1
elif char == "y":
counter += 1
elif char == "a":
nya_result += chr(counter)
elif char == "~":
counter = 0
#
# Convert to Unary
#
# Convert to binary and remove leading 0b
unary_code = bin(int(nya_result))[2:]
#
# Convert Unary to brainfuck
#
brainfuck_code = ""
# Remove leading 1
unary_code = unary_code[1:]
for i in range(0, len(unary_code), 3):
operation = unary_code[i:i+3]
if operation == "000":
brainfuck_code += ">"
elif operation == "001":
brainfuck_code += "<"
elif operation == "010":
brainfuck_code += "+"
elif operation == "011":
brainfuck_code += "-"
elif operation == "100":
brainfuck_code += "."
elif operation == "101":
brainfuck_code += ","
elif operation == "110":
brainfuck_code += "["
elif operation == "111":
brainfuck_code += "]"
#
# Run brainfuck
#
flag = brainfuck.evaluate(brainfuck_code)
print(flag)
{{< /code >}}
Solution
After executing this code, we finally get the flag! It's CTF{pl34s3_n0_m04r}
, and very well describes how I feel about this challenge...