diff --git a/content/writeups/google-ctf/2021/beginners-quest/6.md b/content/writeups/google-ctf/2021/beginners-quest/6.md new file mode 100644 index 0000000..a6945a9 --- /dev/null +++ b/content/writeups/google-ctf/2021/beginners-quest/6.md @@ -0,0 +1,1057 @@ ++++ +author = "Maik de Kruif" +title = "Shenzhen - Office" +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", +] +categories = [ + "ctf", + "writeups", + "hacking", +] ++++ + +## Story line + +"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 + +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 + +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 + +[attachment.zip](/files/writeups/google-ctf/2021/beginners-quest/6/attachment.zip) + +{{< code language="txt" title="encodings" isCollapsed="true" >}} + +```text +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" >}} + +```txt +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: + +```py +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) +``` + +```text +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: + +```py +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]]) +``` + +```text +[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](https://en.wikipedia.org/wiki/List_of_file_signatures) (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: + +```py +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: + +```sh +strings test.jpg +``` + +In the output, one line stood out because of it's length: + +```txt +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`](https://esolangs.org/wiki/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: + +```py +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](https://esolangs.org/wiki/Evil#Commands). + +I only implemented the commands that are actually used. + +```py +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) +``` + +```text +789ced57695413591a7569c56e9155161d050511150111230a024d9b800328e368435340a28050dd519486180810daa16db2884823d26cc12e141cb140b1a2b284d8a2a06cb1442a8a2c2d088841a2040821db94fd6b8ef863ceccfc983987faf1bd73de7975ef7ddfbbdff7ceb3e42e99a7914a0f2dd0beed0939bbb98976faa5ba757fc217566b421ade9ddb79b36ad1bd1fbe2d0f9086441e094c9578595da40c47469122afa9e5a7b50aa950fdd652a86dc20779aa6a4ad9a7d5bcb0ebcf6405d569a66542add29352393d90a995679aeb2e4efbedd0967f1a14c25689e8bea78c83a3a46a9a2414b5f5c74b7e3ba419cf4cfd097cf0d1ec965f3c645680d3c79851f755b2db3ad39df36791391bc2959e56bb36cc1291a7391ba8ffc52c5a56e0ac956b67f37d429839d499766ff6a4c9bfcd3079f163b04fd3fe8b0ceeb353f0af6eec530cffd3a99bcda08b723e06db42b49be53a037896817623e1ffd5739825f7930cffb6dcffe8503f01c69e3d595d0baafb525bda2ceee5ca2d627b2657296bfb4f895541eb1dea78776656c4a8c3822a3a6b7b9466ad41fa83a6549a44b14b15272a767b6960e9d9207f5b74e791f3aee97d4b24efb2ddfe5c4816bdbf4bd046fc546219eb0e0b8ca5ee42bd51b96d6159b9f402ebf6354548729cf890baeeadb37bb722358532c9bf4110363d5959401651b44fa7b3a20783038c2cbb8e9d2433b2ce5db8a158f09cb13f8844953564c89764bf76d2ce848d9b26325d5046b5bf5d6f128d122aabe2f88da90b94ae1ead8d430c6639280879cebc6be6d63b91ec7da46a7adf6b5e353d31fa82dff7ccd4079a7cedf88aa81a6c50545d9b1b114759658e9da5c8c69e2f2f1856da473e244933cc79d514d3fe8487cf9fe60b2dac814c41b1b352a20711b4ed672ecb45aaba67e346b6f5f3375bafbb9df4341e73db000c6c87260b86e3e828e3b6b38b565734b11bca018fd5b3f09f878b47eefdf0aebcbf46fdc4cd06c85c7a9975727ec59e7b07fa321447f4b8d838b7664764d84620402f3ef6b53a3b575f6a0c3bd5f13aa08116ab6de617b72e557b5036b714c71e37854b2a264fa02b85dd94909eca1dd78ace35b4bd64509ff519c137524bbbfb6b3f1bd0e162a8ca847df3a24c978d0d502ee671312cae22752c8fe08d344eab5c4f50627d8fc6b0b147a1d59255e193eab80c5ce3301b93418497fbea55a9ddb2793564a4ddecc99525293f826dbad62f20c2815b650b867dd11a815ef13ac08e3aea00d11c44c2f36b9dea8792b33c1c00aed2bd8ac4f01b8a6ebfb308cdef35a330c93abee34524eaa0ff484bf9062e067a36d8723085abaaca6f973fd2684d948cb9a93a48d4a364d9bdcc73a957c12226395bef5c62ba312c666157d725a7831953bdd59960cf8cd5480f518245c72e4567320276d800b56390b364b032ba859af203e8be757a9501dc39ffb0b2dc966e089b7c8e99c14ea6b022b75540a2966e99c883abdc8d60a7e088033be3a868d7cfef320de112c70903b81c2234523553109f591aba16b0767b61bfab21d192fb0810842227451dedb5152ff49d57bb5d583c6c87abac0f3aee0838473ba03369446a94fe2d6278544c8d3782899f7de75927003378a07a48f07e3dda356e4fa406dccb2c6ccd810894c812d95851b261f4cba357b9d89bc72e6670c8037ca51744a84abf57c6c2da1b936a407b6108873a9acec1cee8b22fcb5f7e97659193fddbdd90e03f659ac079930796c33d5529bec85065d9464096267b4ba24625b4b230625985f669a34bf1c8300b4be08045f482c0f46b9ed1107f8aaefe0c75cdba126000e7d18f3f6d970f408495ca142f246aa8d91e9d91d00f92e7f59291409537e5dcd070b31d493295f7c21056285dad0137c7523a17eb9ff97baed696853d5b95ccfc016cb37c2032823b97d586ad6763f1239cf784e36cecccc115ba377d34a737eb10252e8b1cd5853ee18783106fb8f00c51724537fe7e5410529ace6a8068e45b929fb7382c878b2af83640f9b8ec114490e5f14ce0fd9a38d7a5139f437c6bb229b3088d205135adab6968bffff9446da1213cf2eb1d1b2042b56fc7fba28cac94a5dd5fe3eae501783e98d3ebd17c43dfa59e837417d435df8e8d81d2df9af38505a03da3e0b96b5d39d8b68a95977b82f1eedb65ed78b1e47da50945f313f70b7184e6270770b54a4930c4bfa3eab301ec1a068c49d4c8be7478d2d90cee3c457700240d7b7c90b3cd4fb0c957a2a2f0bcba4cfc586fdec9048fd1e0240ed61c3d832b4e386a04b7ddfcfb0cd5616b0a8d3934c6c13885ec2e824828ab9b1e3e43a40e15255aa35db9c3221338678570daf177078f688826117821636a87413054b407d1c354af1f9c7f9dd7b9e2924aeaf50c481fc6f77fe46b8b6da644eafecdcbfdcc5060e7c3ad410a9c8db1a67e2f12459e763185613923e5177b3d9f80e570894e507799f5f33b9b0067fddb760077e15008de16c3c4b832398e1f7561ea2ab87a49612d076bc7442d79f628607649cd7f1f85d65ce7b951eb37edce17d834bb744b217d3338c745114292ec693ffaa83c3cdaae9d72db001e49548c40fc9d66c401937153148877cb0a2bb74601f7eb1d49ef5a43ab37013a563754e5612cec755d483e44507b1cdd762b48b13614ef033a3efc0d46b0cc32479006c27ae1411cacd5b99085f9274a38b5740ef686c133bb9a06d14e5ce7e19d4cc765c3292255a15a9973b9dfeee43aa06cec550cc41f4fe66d00dca869609b304919111f77921d87b755d1b6381ed91ab8ad7978ba7874078d4ba4def4e133055fa6687ca58350e1f3fc5c33c674a6319c573d4ee8a6649f0db3fcbe5ec8c2a96815ad2d8dc9e24d5cecc2f147c2a67c61e3e1f8ed26b54ee84aa21dea8b18c126a77623a5368bf1dac0ebec6cbb23deb38be2ed2182d33b239848bd2c33bb3cf8c61ecfac05099972f4640542fc9aed78c43bbbfe4a2275dd4f9b21fe5f77b1b089a83540d05213dc95fd46caf3e0ea220a8eef3a0210a9e1bfdb006ccc77d8d1b7a533641d50e0ce01df5298063838ed181eedd02e8b6d2c6c8f6e30ce968067bfed4ba4c2741344dbf6c0666a23eaea2ac4d9684ff82cecfe5d3f5c6f4e3be5fc85f2db7b90ed49cbd12ea16a0d0efea60b8fb83277d000ce32af6261beefd7001d05a7c030fb834409c8f11b3d00d1e29986305172896a08b34fe5827801140937d8071dcf028f4d6d80f8a90a2f1cbc93ff2112a9498fd700d64e9186704ebf1752eab210ad01aeb0307479eeb332a2e4b5ca0ae7fcb3d80a305ee888e730d035753f50d16b85768dee2752b5e369387839f54364635317bd10eff0875680dd833470eff1c5108dff17bc056f74b811c0c650050967cbae2021eb1793f18cc2f11a0809159020fef31216a619d4f9002e5efcc731bdf54a0333ee9f2321811c1dfc8ad1254abefbd50af039101a5e6c0497c8b8389b6d1817dcab5b876714185191bead66fce1124358dda2ff01bc62191e6d8017698bd195ecb55c105eae0f11042b5858e75724e46ce99dfb1e3680cfb019ceb6afc614cd374ff890d1270aee93ef274dd95854a615a0ccb5fc001ef6a73fac734b67194430da8d57c8460b2295e18c5f2aa739e0eabdb1ec3923cd1969ce4873469a33d29c91e68c3467a4ff432335ee412c76ec18dfcdf0fe5ba79fb88748455c34764ed7eb8211bd1fefbec01f52c549b1ceab8ce11c1192ba2626a3806e0c972ce80034440999236d402f02bb841e0072d2e69b9af37a91804cc5381653d21a5cfdd8d841eb5f2eef5df58a8d3d6c2ec79fbf5f5c16bf628fd6bfed58ede63cd126eaee714f18d5266780b0b4b2bdf7d1b5ce0188bfa3e46bfabdc8b10acf3b1ad756e58fe211fa57d44360456708beff9947d732ec83b6bcd983bf5b4895b4a568cda0b11e0beb5f415f88bac66f991c4ffdf297836653d889f31b2d72da12481d5793739cd5c7582e06f0e05aea1ac076293213766250d03d3376cd5c2a37d6514f11ca1ce10d1dde7d87b77ea3f1214a4e7d3e35e358d3d654650cf113992957c19e2e4a5364d7a5f7524d5649c56422c4a7056e177b972a05fb0411143f6d833d5172e1d54e9a7fa7dbddb161669b578a3f3256efac3f56d9c4c246b656f3c1638a1ff1e724ace6cbc7bbf284bccd80b2e5a41f12439bac017b66fcb9a9620244bbeebf159ae42c4a3cf4174115659449a29177f16c0061f550a601ecd36c84328ec23c9e6d8d67a3b99f3463643c15028b0a1789b9d8d03c8f6709d99ec3f75d304130d21849b9d4176146d0d8bf1f5fe9313c60739446a973a8e6a5b3314c1b31def159edea91dd4449ade7e88107af217a9837427e7cb07ef369f9c46b9dcbcd05ebbed2f42879c190d3c1d0de1bc763ddf38e54d9016eb46f536e87390095c9b606b0dcf53e1ba30823035bde865078d181ada78ed7ee5c030c173fa800570bccf597ff2a873b99b6f95c8cdb2bcaebcb3bc95d351d2b6cedad1e52d590911858516b9f0d27156b637ac5125ee640627501b8dafe543d92dc67f48ddac4bf496f40ac766990b05f48831d4b3595056e09b64dc4c793015a934afd9008a26421c3af5cd4c77710e8a9db6aa1c9434de45f4e974193136466877e8fa63031dc0fd17c97367daef7a461a5df9884813292af3c52f1e966b0e7e1d49e9a3dc27d762c719bc7dd175c4ce7e8dfc43e15cba4373a9aa6275d64db0d27ee6fa55fcc7e284b9f5ffefbe88138bdfa5f3bf2e9814dcf0312c57b2b7f9f0fd12622fb1c011271eefbf88bf959bba071f740f639e48b79ff00c8e6ad7b +``` + +### Decompressing output + +At this point I was stuck for another while, until I tried to read the `evil` output as hex: + +```py +data = binascii.unhexlify(evil_output) + +print([hex(c) for c in data[:20]]) +``` + +```py +['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](https://en.wikipedia.org/wiki/List_of_file_signatures), we find that it is `zlib` data. + +If we then decompress it an read its output, we get `gzip` data: + +```py +zlib_data = binascii.unhexlify(evil_output) +data = zlib.decompress(zlib_data) + +print([hex(c) for c in data[:20]]) +``` + +```py +['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. + +```py +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: + +```py +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](https://www.bertnase.de/npiet/npiet-execute.php). + +In python, you will first have to install `npiet`, and then you can use the following code: + +```py +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`. + +```py +zlib_data = binascii.unhexlify(piet_output) +data = zlib.decompress(zlib_data) + +print(data) +``` + +```text +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: + +```py +data = data.decode() +data = data.split("\n") + +for line in data: + print(line) +``` + +{{< code language="text" title="output" >}} + +```text +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](https://esolangs.org/wiki/Language_list), I found [`nya~`](https://esolangs.org/wiki/Nya~), which looks like an abbreviation of [Nyan Cat](https://www.youtube.com/watch?v=QH2-TGUlwu4). The examples also look the same as our output. + +So, from [the commands table on its wiki](https://esolangs.org/wiki/Nya~), I wrote the following interpreter: + +```py +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) +``` + +```text +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](https://esolangs.org/wiki/Language_list). Then I found [Unary](https://esolangs.org/wiki/Unary), which, as a nice bonus, outputs a language called [brainfuck](https://esolangs.org/wiki/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: + +```py +# Convert to binary and remove leading 0b +unary_code = bin(int(nya_result))[2:] + +print(unary_code) +``` + +```text +1110011111000110011111001010010010010010010110000010010010010010010010010010010001011111000010010010010010010010100001010110000010010010010010010010010010010001011111000010010010010010010010100001010110000011011011011011011011011011011001011111000011011011011100001010010010010010110000010010010010010010010010010010001011111000010010010100001010110000011011011011011011011011011011001011111000011100001110000011011011011011011011011011011001011111000011011011011100001010010010010010110000011011011011011011011011011011001011111000011011011011011011011100001110000010010010010010010010010010010001011111000010100001010010010010010010110000010010010010010010010010010010001011111000010010010100001010010010010010010110000011011011011011011011011011011001011111000011011011011100001010010010010110000010010010010010010010010010010001011111000010010010010100001010110000010010010010010010010010010010001011111000010010010010010100001010010010010010010110000011011011011011011011011011011001011111000011011100001010010010010110000010010010010010010010010010010001011111000010010010010010010010100001010110000010010010010010010010010010010001011111000010010010010100001010010010010010010110000011011011011011011011011011011001011111000011100001110000010010010010010010010010010010001011111000010010010010100001010010010010010010110000010010010010010010010010010010001011111000010010100001010110000010010010010010010010010010010001011111000010100001 +``` + +Then, let's follow the steps to convert brainfuck to Unary in reverse. + +1. Remove the leading `1` + + ```py + unary_code = unary_code[1:] + ``` + +2. Replace unary with brainfuck + + ```py + 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 += "]" + ``` + +3. Print the result: + + ```py + print(brainfuck_code) + ``` + + ```bf + [-]>[-]<++++++[>++++++++++<-]>+++++++.<+[>++++++++++<-]>+++++++.<+[>----------<-]>----.<+++++[>++++++++++<-]>+++.<+[>----------<-]>-.<[>----------<-]>----.<+++++[>----------<-]>-------.<[>++++++++++<-]>+.<++++++[>++++++++++<-]>+++.<++++++[>----------<-]>----.<++++[>++++++++++<-]>++++.<+[>++++++++++<-]>+++++.<++++++[>----------<-]>--.<++++[>++++++++++<-]>+++++++.<+[>++++++++++<-]>++++.<++++++[>----------<-]>-.<[>++++++++++<-]>++++.<++++++[>++++++++++<-]>++.<+[>++++++++++<-]>+.< + ``` + +### Brainfuck + +The last step is to evaluate the brainfuck code. + +To do this, we can use the brainfuck library `brainfuck-interpreter`. + +```sh +pip install brainfuck-interpreter +``` + +```py +flag = brainfuck.evaluate(brainfuck_code) + +print(flag) +``` + +```txt +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" >}} + +```py +# 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... diff --git a/static/files/writeups/google-ctf/2021/beginners-quest/6/attachment.zip b/static/files/writeups/google-ctf/2021/beginners-quest/6/attachment.zip new file mode 100644 index 0000000..862cacb Binary files /dev/null and b/static/files/writeups/google-ctf/2021/beginners-quest/6/attachment.zip differ diff --git a/static/img/writeups/google-ctf/2021/beginners-quest/6/cover.png b/static/img/writeups/google-ctf/2021/beginners-quest/6/cover.png new file mode 100644 index 0000000..cfdaced Binary files /dev/null and b/static/img/writeups/google-ctf/2021/beginners-quest/6/cover.png differ diff --git a/static/img/writeups/google-ctf/2021/beginners-quest/6/painting.jpg b/static/img/writeups/google-ctf/2021/beginners-quest/6/painting.jpg new file mode 100644 index 0000000..b6fe9f1 Binary files /dev/null and b/static/img/writeups/google-ctf/2021/beginners-quest/6/painting.jpg differ diff --git a/static/img/writeups/google-ctf/2021/beginners-quest/6/piet.png b/static/img/writeups/google-ctf/2021/beginners-quest/6/piet.png new file mode 100644 index 0000000..1ad448a Binary files /dev/null and b/static/img/writeups/google-ctf/2021/beginners-quest/6/piet.png differ diff --git a/static/img/writeups/google-ctf/2021/beginners-quest/6/piet.ppm b/static/img/writeups/google-ctf/2021/beginners-quest/6/piet.ppm new file mode 100644 index 0000000..11201b9 Binary files /dev/null and b/static/img/writeups/google-ctf/2021/beginners-quest/6/piet.ppm differ