commit 53fd30619d84ed7ac46c3490fe376d9558313327 Author: rishitsaiya Date: Fri Jul 31 18:48:25 2020 +0530 Added CTFlearn writeups diff --git a/Binary/Favorite Color/README.md b/Binary/Favorite Color/README.md new file mode 100644 index 0000000..0d080e1 --- /dev/null +++ b/Binary/Favorite Color/README.md @@ -0,0 +1,15 @@ +## Favorite Color +The main idea finding the flag is exploiting the Buffer Overflow of the Binary file. + +#### Step-1: +After logging into the remote access with `ssh color@104.131.79.111 -p 1001` and password as `guest`, +my system got completely crashed due to several DDoS attacks. So, I directly looked up for solution and understood from there. + +https://www.embeddedhacker.com/2020/01/hacking-walkthrough-ctflearn-binary-medium/ + + + +#### Step-2: + +Finally the flag becomes: +`flag{c0lor_0f_0verf1ow}` \ No newline at end of file diff --git a/Binary/Lazy Game Challenge/Flag.png b/Binary/Lazy Game Challenge/Flag.png new file mode 100644 index 0000000..9f56cb5 Binary files /dev/null and b/Binary/Lazy Game Challenge/Flag.png differ diff --git a/Binary/Lazy Game Challenge/README.md b/Binary/Lazy Game Challenge/README.md new file mode 100644 index 0000000..8781691 --- /dev/null +++ b/Binary/Lazy Game Challenge/README.md @@ -0,0 +1,22 @@ +## Lazy Game Challenge +The main idea finding the flag is thinking differently to break the logic in binary file. + +#### Step-1: +After pwning into the given machine: `nc thekidofarcrania.com 10001`, we are asked to play a betting game. + +#### Step-2: +I input Y and proceed to see the game. According to given scenario, I seemed to lose every bet of 100$. So I had to do something differently. + +#### Step-3: +This time I placed a bet of a hefty number like 1000000$ which I didn't even possess. I spit out errors. :( + +#### Step-4: +But the main idea in pwning lies in abnormal thinking and that's where you focus. I tried out negative number this time for the bet like -100000$. I still could play, it shows there was a program logic flaw there. + +Now I went wild to give all numbers (which I had to guess below 10) greater than 10. Finally it gave me flag. + + + +#### Step-3: +Finally the flag becomes: +`CTFlearn{d9029a08c55b936cbc9a30_i_wish_real_betting_games_were_like_this!}` diff --git a/Cryptography/5x5 Crypto/Flag.py b/Cryptography/5x5 Crypto/Flag.py new file mode 100644 index 0000000..2660658 --- /dev/null +++ b/Cryptography/5x5 Crypto/Flag.py @@ -0,0 +1,14 @@ +import numpy as np + +arr = np.arange(65,90).reshape(5, 5) # Array of alphabet +arr = np.where(arr <75, arr, arr+1) # Array without 'K' + +cells = ["1-3","4-4","2-1","{","4-4","2-3","4-5","3-2","1-2","4-3","_","4-5","3-5","}"] +for i in cells: + if(ord(i[0])>=48 and ord(i[0])<=57): + x=int(i[0])-1 + y=int(i[2])-1 + print(chr(arr[x][y]),end="") + else: + print(i[0],end="") +print("\n") \ No newline at end of file diff --git a/Cryptography/5x5 Crypto/README.md b/Cryptography/5x5 Crypto/README.md new file mode 100644 index 0000000..321afab --- /dev/null +++ b/Cryptography/5x5 Crypto/README.md @@ -0,0 +1,47 @@ +## 5x5 Crypto +The main idea finding the flag is by simple pairs. + +#### Step-1: +After reading the given text: + +`Ever heard of the 5x5 secret message system? If not, basically it's a 5x5 grid with all letters of the alphabet in order, without k because c is represented to make the k sound only. Google it if you need to. A letter is identified by Row-Column. All values are in caps. Try: 1-3,4-4,2-1,{,4-4,2-3,4-5,3-2,1-2,4-3,_,4-5,3-5,}` + +#### Step-2: +So, basically the table is: + + + +We can decode the message according to given inputs in message above to get the flag. + +#### Step-3: +Instead I wrote a `Flag.py` script to get the flag. + +``` +import numpy as np + +arr = np.arange(65,90).reshape(5, 5) # Array of alphabet +arr = np.where(arr <75, arr, arr+1) # Array without 'K' + +cells = ["1-3","4-4","2-1","{","4-4","2-3","4-5","3-2","1-2","4-3","_","4-5","3-5","}"] +for i in cells: + if(ord(i[0])>=48 and ord(i[0])<=57): + x=int(i[0])-1 + y=int(i[2])-1 + print(chr(arr[x][y]),end="") + else: + print(i[0],end="") +print("\n") +``` + +#### Step-4: + +If we execute this script by `python3 Flag.py`, I got the following output: + +``` +CTF{THUMBS_UP} + +``` +#### Step-5: + +Finally the flag becomes: +`CTF{THUMBS_UP}` \ No newline at end of file diff --git a/Cryptography/5x5 Crypto/Table.png b/Cryptography/5x5 Crypto/Table.png new file mode 100644 index 0000000..1c45184 Binary files /dev/null and b/Cryptography/5x5 Crypto/Table.png differ diff --git a/Cryptography/ALEXCTF CR2_ Many time secrets/README.md b/Cryptography/ALEXCTF CR2_ Many time secrets/README.md new file mode 100644 index 0000000..616212e --- /dev/null +++ b/Cryptography/ALEXCTF CR2_ Many time secrets/README.md @@ -0,0 +1,29 @@ +## ALEXCTF CR2: Many time secrets +The main idea finding the flag is decomposing the Hex dump and finding the public key. + +#### Step-1: +After we download `msg(4)` from the cloud, we get the following data. + +`0529242a631234122d2b36697f13272c207f2021283a6b0c79082f28202a302029142c653f3c7f2a2636273e3f2d653e25217908322921780c3a235b3c2c3f207f372e21733a3a2b37263b3130122f6c363b2b312b1e64651b6537222e37377f2020242b6b2c2d5d283f652c2b31661426292b653a292c372a2f20212a316b283c0929232178373c270f682c216532263b2d3632353c2c3c2a293504613c37373531285b3c2a72273a67212a277f373a243c20203d5d +243a202a633d205b3c2d3765342236653a2c7423202f3f652a182239373d6f740a1e3c651f207f2c212a247f3d2e65262430791c263e203d63232f0f20653f207f332065262c31683137223679182f2f372133202f142665212637222220733e383f2426386b` + +Working out: +https://youtu.be/p4DIab6NKOY?t=307 + +The link for this tool is below: +https://github.com/SpiderLabs/cribdrag + +#### Step-2: + +I didn't have complete idea on proceeding on this challenge, so I took help from online and got this. + +https://youtu.be/p4DIab6NKOY?t=307 + +#### Step-3: +Alternatively, same flag can be approached in another way also. + +https://www.embeddedhacker.com/2020/01/hacking-walkthrough-ctflearn-crypto-medium/ + +#### Step-4: +Finally the flag becomes: +`ALEXCTF{HERE_GOES_THE_KEY}` \ No newline at end of file diff --git a/Cryptography/ALEXCTF CR2_ Many time secrets/cribdrag.py b/Cryptography/ALEXCTF CR2_ Many time secrets/cribdrag.py new file mode 100644 index 0000000..534fc7d --- /dev/null +++ b/Cryptography/ALEXCTF CR2_ Many time secrets/cribdrag.py @@ -0,0 +1,104 @@ +#!/usr/bin/python + +########################## +# cribdrag - An interactive crib dragging tool +# Daniel Crowley +# Copyright (C) 2013 Trustwave Holdings, Inc. +# This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# You should have received a copy of the GNU General Public License along with this program. If not, see . +########################## + + +import sys +import re +import argparse + +def sxor(ctext,crib): + # convert strings to a list of character pair tuples + # go through each tuple, converting them to ASCII code (ord) + # perform exclusive or on the ASCII code + # then convert the result back to ASCII (chr) + # merge the resulting array of characters as a string + results = [] + single_result = '' + crib_len = len(crib) + positions = len(ctext)-crib_len+1 + for index in xrange(positions): + single_result = '' + for a,b in zip(ctext[index:index+crib_len],crib): + single_result += chr(ord(a) ^ ord(b)) + results.append(single_result) + return results + +def print_linewrapped(text): + line_width = 40 + text_len = len(text) + for chunk in xrange(0,text_len,line_width): + if chunk > text_len-line_width: + print str(chunk) + chr(9) + text[chunk:] + else: + print str(chunk) + chr(9) + text[chunk:chunk+line_width] + + + +parser = argparse.ArgumentParser(description='cribdrag, the interactive crib dragging script, allows you to interactively decrypt ciphertext using a cryptanalytic technique known as "crib dragging". This technique involves applying a known or guessed part of the plaintext (a "crib") to every possible position of the ciphertext. By analyzing the result of each operation and the likelihood of the result being a successful decryption based on the expected format and language of the plaintext one can recover the plaintext by making educated guesses and adaptive application of the crib dragging technique.') +parser.add_argument('ciphertext', help='Ciphertext, encoded in an ASCII hex format (ie. ABC would be 414243)') +parser.add_argument('-c', '--charset', help='A regex-style character set to be used to identify best candidates for successful decryption (ex: for alphanumeric characters and spaces, use "a-zA-Z0-9 ")', default='a-zA-Z0-9.,?! :;\'"') +args = parser.parse_args() + +ctext = args.ciphertext.decode('hex') +ctext_len = len(ctext) +display_ctext = "_" * ctext_len +display_key = "_" * ctext_len + +charset = '^['+args.charset+']+$' + +response = '' + +while response != 'end': + print "Your message is currently:" + print_linewrapped(display_ctext) + print "Your key is currently:" + print_linewrapped(display_key) + + crib = raw_input("Please enter your crib: ") + crib_len = len(crib) + + results = sxor(ctext, crib) + results_len = len(results) + + #Generate results + for result_index in xrange(results_len): + if (re.search(charset,results[result_index])): + print '*** ' + str(result_index) + ': "' + results[result_index] + '"' + else: + print str(result_index) + ': "' + results[result_index] + '"' + + response = raw_input("Enter the correct position, 'none' for no match, or 'end' to quit: ") + + #Replace part of the message or key + try: + response = int(response) + if (response < results_len): + message_or_key = '' + while (message_or_key != 'message' and message_or_key != 'key'): + message_or_key = raw_input("Is this crib part of the message or key? Please enter 'message' or 'key': ") + if(message_or_key == 'message'): + display_ctext = display_ctext[:response] + crib + display_ctext[response+crib_len:] + display_key = display_key[:response] + results[response] + display_key[response+crib_len:] + elif(message_or_key == 'key'): + display_key = display_key[:response] + crib + display_key[response+crib_len:] + display_ctext = display_ctext[:response] + results[response] + display_ctext[response+crib_len:] + else: + print 'Invalid response. Try again.' + + except ValueError: + if (response == 'end'): + print "Your message is: " + display_ctext + print "Your key is: " + display_key + elif (response == 'none'): + print "No changes made." + else: + print "Invalid entry." + diff --git a/Cryptography/ALEXCTF CR2_ Many time secrets/msg (4) b/Cryptography/ALEXCTF CR2_ Many time secrets/msg (4) new file mode 100644 index 0000000..c258386 --- /dev/null +++ b/Cryptography/ALEXCTF CR2_ Many time secrets/msg (4) @@ -0,0 +1,11 @@ +0529242a631234122d2b36697f13272c207f2021283a6b0c7908 +2f28202a302029142c653f3c7f2a2636273e3f2d653e25217908 +322921780c3a235b3c2c3f207f372e21733a3a2b37263b313012 +2f6c363b2b312b1e64651b6537222e37377f2020242b6b2c2d5d +283f652c2b31661426292b653a292c372a2f20212a316b283c09 +29232178373c270f682c216532263b2d3632353c2c3c2a293504 +613c37373531285b3c2a72273a67212a277f373a243c20203d5d +243a202a633d205b3c2d3765342236653a2c7423202f3f652a18 +2239373d6f740a1e3c651f207f2c212a247f3d2e65262430791c +263e203d63232f0f20653f207f332065262c3168313722367918 +2f2f372133202f142665212637222220733e383f2426386b diff --git a/Cryptography/Base 2 2 the 6/Decode.png b/Cryptography/Base 2 2 the 6/Decode.png new file mode 100644 index 0000000..c6a9ed1 Binary files /dev/null and b/Cryptography/Base 2 2 the 6/Decode.png differ diff --git a/Cryptography/Base 2 2 the 6/README.md b/Cryptography/Base 2 2 the 6/README.md new file mode 100644 index 0000000..9c7f1bb --- /dev/null +++ b/Cryptography/Base 2 2 the 6/README.md @@ -0,0 +1,20 @@ +## Base 2 2 the 6 +The main idea finding the flag is $2^6$ = 64. + +#### Step-1: +After we read the message given, + +`Q1RGe0ZsYWdneVdhZ2d5UmFnZ3l9` + +It is clearly Base64 encrypted. + +#### Step-2: +I tried to decode it online here: https://www.base64decode.org/ + +I got the following result: + + + +#### Step-3: +Finally the flag becomes: +`CTF{FlaggyWaggyRaggy}` \ No newline at end of file diff --git a/Cryptography/BruXOR/Flag.png b/Cryptography/BruXOR/Flag.png new file mode 100644 index 0000000..029dd02 Binary files /dev/null and b/Cryptography/BruXOR/Flag.png differ diff --git a/Cryptography/BruXOR/Input.png b/Cryptography/BruXOR/Input.png new file mode 100644 index 0000000..b19cf00 Binary files /dev/null and b/Cryptography/BruXOR/Input.png differ diff --git a/Cryptography/BruXOR/README.md b/Cryptography/BruXOR/README.md new file mode 100644 index 0000000..efd7cd1 --- /dev/null +++ b/Cryptography/BruXOR/README.md @@ -0,0 +1,26 @@ +## BruXOR +The main idea finding the flag is XOR Bruteforce. + +#### Step-1: +After reading the message in the question, + +`There is a technique called bruteforce. Message: q{vpln'bH_varHuebcrqxetrHOXEj No key! Just brute .. brute .. brute ... :D` + + +The first thing I searched online was XOR Bruteforce and I got some helpful results. + +#### Step-2: +I followed the URL: https://www.dcode.fr/xor-cipher + +Since in the message, it is clearly that there is no key, my inputs were as follows: (Only Bruteforce xP) + + + +#### Step-3: +After decrypting, we get the following results, amidst which I found the flag. + + + +#### Step-4: +Finally the flag becomes: +`flag{y0u_Have_bruteforce_XOR}` diff --git a/Cryptography/Character Encoding/README.md b/Cryptography/Character Encoding/README.md new file mode 100644 index 0000000..4ce0f69 --- /dev/null +++ b/Cryptography/Character Encoding/README.md @@ -0,0 +1,16 @@ +## Character Encoding +The main idea finding the flag using simple Hex to text conversion. + +#### Step-1: +Generally, I don't criticize any challenge, but this one crossed limits. It was too Ez. xP. + +We have been given simple Hex code: `41 42 43 54 46 7B 34 35 43 31 31 5F 31 35 5F 55 35 33 46 55 4C 7D` + +#### Step-2: +Convert it online here to text: +http://www.unit-conversion.info/texttools/hexadecimal/ + +#### Step-3: + +Finally the flag becomes: +`ABCTF{45C11_15_U53FUL}` \ No newline at end of file diff --git a/Cryptography/Hextroadinary/README.md b/Cryptography/Hextroadinary/README.md new file mode 100644 index 0000000..17dcb92 --- /dev/null +++ b/Cryptography/Hextroadinary/README.md @@ -0,0 +1,29 @@ +## Hextroadinary + +The main idea finding the flag is to read the question properly and interpret. + +#### Step-1: + +After we read the given message: + +`Meet ROXy, a coder obsessed with being exclusively the worlds best hacker. She specializes in short cryptic hard to decipher secret codes. The below hex values for example, she did something with them to generate a secret code, can you figure out what? Your answer should start with 0x.` + +`0xc4115` `0x4cf8` + +#### Step-2: + +`Meet ROXy` - This should give us a simple idea that we have to XOR the 2 given Hex numbers. + +#### Step-3: + +So I tried it online here: + +http://xor.pw/# + + + +Note: Do not forget `0x` before flag. + +#### Step-7: +Finally the flag becomes: +`CTFlearn{0xc0ded}` \ No newline at end of file diff --git a/Cryptography/Hextroadinary/xor.png b/Cryptography/Hextroadinary/xor.png new file mode 100644 index 0000000..5274236 Binary files /dev/null and b/Cryptography/Hextroadinary/xor.png differ diff --git a/Cryptography/HyperStream Test #2/Flag.png b/Cryptography/HyperStream Test #2/Flag.png new file mode 100644 index 0000000..11e949b Binary files /dev/null and b/Cryptography/HyperStream Test #2/Flag.png differ diff --git a/Cryptography/HyperStream Test #2/README.md b/Cryptography/HyperStream Test #2/README.md new file mode 100644 index 0000000..de86c7f --- /dev/null +++ b/Cryptography/HyperStream Test #2/README.md @@ -0,0 +1,27 @@ +## HyperStream Test #2 +The main idea finding the flag is to know Baconian Cipher. + +#### Step-1: +After reading the challenge properly, + +``` +I love the smell of bacon in the morning! + +ABAAAABABAABBABBAABBAABAAAAAABAAAAAAAABAABBABABBAAAAABBABBABABBAABAABABABBAABBABBAABB +``` +#### Step-2: +It is clear that it has to be Baconian Cipher. Those who are unaware of it, can refer here: +https://en.wikipedia.org/wiki/Bacon%27s_cipher + +I then quickly looked for online Baconian Cipher decoders. + +#### Step-3: +I followed URL: https://www.dcode.fr/bacon-cipher. + +I got the following results: + + + +#### Step-4: +Finally the flag becomes: +`ILOUEBACONDONTYOU` \ No newline at end of file diff --git a/Cryptography/Morse Code/Flag.png b/Cryptography/Morse Code/Flag.png new file mode 100644 index 0000000..edf3802 Binary files /dev/null and b/Cryptography/Morse Code/Flag.png differ diff --git a/Cryptography/Morse Code/README.md b/Cryptography/Morse Code/README.md new file mode 100644 index 0000000..fd70d7d --- /dev/null +++ b/Cryptography/Morse Code/README.md @@ -0,0 +1,24 @@ +## Morse Code +The main idea finding the flag is just having knowledge about Morse Code. + +#### Step-1: + +This is the message given to us: + +`..-. .-.. .- --. ... .- -- ..- . .-.. -- --- .-. ... . .. ... -.-. --- --- .-.. -... -.-- - .... . .-- .- -.-- .. .-.. .. -.- . -.-. .... . . ...` + +#### Step-2: +I used this URL to decode our answer: +https://cryptii.com/pipes/morse-code-to-text + +#### Step-3: +This was my output: + + + +That's it. That's our flag. + +#### Step-4: + +Finally the flag becomes: +`flagsamuelmorseiscoolbythewayilikechees` \ No newline at end of file diff --git a/Cryptography/RSA Beginner/Flag.py b/Cryptography/RSA Beginner/Flag.py new file mode 100644 index 0000000..a9272de --- /dev/null +++ b/Cryptography/RSA Beginner/Flag.py @@ -0,0 +1,17 @@ +import gmpy2 +from gmpy2 import mpz + +e=mpz(3) +c=mpz(219878849218803628752496734037301843801487889344508611639028) +n=mpz(245841236512478852752909734912575581815967630033049838269083) + +#use factordb +q=mpz(416064700201658306196320137931) +p=mpz(590872612825179551336102196593) + +phi=gmpy2.mul(p-1,q-1) +d=gmpy2.invert(e,phi) +f=gmpy2.powmod(c,d,n) +g=bytes.fromhex(hex(f)[2:]) + +print("[+] Flag is : ",g) diff --git a/Cryptography/RSA Beginner/README.md b/Cryptography/RSA Beginner/README.md new file mode 100644 index 0000000..e82dcd9 --- /dev/null +++ b/Cryptography/RSA Beginner/README.md @@ -0,0 +1,48 @@ +## RSA Beginner +The main idea finding the flag using RSA function and its operations. + +#### Step-1: +After we download `rsa (1).txt` from the cloud, we try to understand what is the content. + +If anyone is unaware of RSA Encryption, they can checkout here: + +https://en.wikipedia.org/wiki/RSA_(cryptosystem) + +#### Step-2: +The contents of `rsa (1).txt` are as follows: + +``` +e: 3 +c: 219878849218803628752496734037301843801487889344508611639028 +n: 245841236512478852752909734912575581815967630033049838269083 +``` +#### Step-3: +We run a simple `Flag.py` script to get the flag. + +``` +import gmpy2 +from gmpy2 import mpz + +e=mpz(3) +c=mpz(219878849218803628752496734037301843801487889344508611639028) +n=mpz(245841236512478852752909734912575581815967630033049838269083) + +#use factordb +q=mpz(416064700201658306196320137931) +p=mpz(590872612825179551336102196593) + +phi=gmpy2.mul(p-1,q-1) +d=gmpy2.invert(e,phi) +f=gmpy2.powmod(c,d,n) +g=bytes.fromhex(hex(f)[2:]) + +print("[+] Flag is : ",g) +``` +#### Step-4: +The output of `python3 Flag.py` is as follows: + +`[+] Flag is : b'abctf{rs4_is_aw3s0m3}'` + +#### Step-5: +Finally the flag becomes: +`abctf{rs4_is_aw3s0m3}` \ No newline at end of file diff --git a/Cryptography/RSA Beginner/rsa (1).txt b/Cryptography/RSA Beginner/rsa (1).txt new file mode 100644 index 0000000..d85cabc --- /dev/null +++ b/Cryptography/RSA Beginner/rsa (1).txt @@ -0,0 +1,3 @@ +e: 3 +c: 219878849218803628752496734037301843801487889344508611639028 +n: 245841236512478852752909734912575581815967630033049838269083 diff --git a/Cryptography/RSA Noob/Factorize.png b/Cryptography/RSA Noob/Factorize.png new file mode 100644 index 0000000..28bc830 Binary files /dev/null and b/Cryptography/RSA Noob/Factorize.png differ diff --git a/Cryptography/RSA Noob/Flag.py b/Cryptography/RSA Noob/Flag.py new file mode 100644 index 0000000..45d735b --- /dev/null +++ b/Cryptography/RSA Noob/Flag.py @@ -0,0 +1,19 @@ +from Crypto.Util.number import inverse +import binascii + +e = 1 +c = 9327565722767258308650643213344542404592011161659991421 +n = 245841236512478852752909734912575581815967630033049838269083 + +# From factordb + +p = 416064700201658306196320137931 +q = 590872612825179551336102196593 + +phi = (p-1) * (q-1) + +d = inverse(e,phi) +m = pow(c,d,n) + +hex_str = hex(m)[2:] # Removing '0x' +print(binascii.unhexlify(hex_str)) \ No newline at end of file diff --git a/Cryptography/RSA Noob/README.md b/Cryptography/RSA Noob/README.md new file mode 100644 index 0000000..1f22da3 --- /dev/null +++ b/Cryptography/RSA Noob/README.md @@ -0,0 +1,65 @@ +## RSA Noob +The main idea finding the flag using RSA function and its operations. + +#### Step-1: +After we download `rsanoob(1).txt` from the cloud, we try to understand what is the content. + +If anyone is unaware of RSA Encryption, they can checkout here: + +https://en.wikipedia.org/wiki/RSA_(cryptosystem) + +#### Step-2: +The contents of `rsa (1).txt` are as follows: + +``` +e: 1 +c: 9327565722767258308650643213344542404592011161659991421 +n: 245841236512478852752909734912575581815967630033049838269083 +``` +#### Step-3: +'e' and 'n' - Public key. +'c' - Cipher text. + +Given `n` to us, we try to find `p` & `q` online from http://factordb.com/index.php + +#### Step-4: +We get the `p` & `q` online as follows: + + +Now we can feed inputs manually to yield flag. + +#### Step-5: + +Running this `Flag.py` script: + +``` +from Crypto.Util.number import inverse +import binascii + +e = 1 +c = 9327565722767258308650643213344542404592011161659991421 +n = 245841236512478852752909734912575581815967630033049838269083 + +# From factordb + +p = 416064700201658306196320137931 +q = 590872612825179551336102196593 + +phi = (p-1) * (q-1) + +d = inverse(e,phi) +m = pow(c,d,n) + +hex_str = hex(m)[2:] # Removing '0x' +print(binascii.unhexlify(hex_str)) +``` + +#### Step-6: +We get the flag by `python3 Flag.py` + +We get this output: +`b'abctf{b3tter_up_y0ur_e}'` + +#### Step-7: +Finally the flag becomes: +`abctf{b3tter_up_y0ur_e}` \ No newline at end of file diff --git a/Cryptography/RSA Noob/rsanoob (1).txt b/Cryptography/RSA Noob/rsanoob (1).txt new file mode 100644 index 0000000..a470fac --- /dev/null +++ b/Cryptography/RSA Noob/rsanoob (1).txt @@ -0,0 +1,3 @@ +e: 1 +c: 9327565722767258308650643213344542404592011161659991421 +n: 245841236512478852752909734912575581815967630033049838269083 diff --git a/Cryptography/Reverse Polarity/Covert.png b/Cryptography/Reverse Polarity/Covert.png new file mode 100644 index 0000000..91ddf21 Binary files /dev/null and b/Cryptography/Reverse Polarity/Covert.png differ diff --git a/Cryptography/Reverse Polarity/README.md b/Cryptography/Reverse Polarity/README.md new file mode 100644 index 0000000..20853af --- /dev/null +++ b/Cryptography/Reverse Polarity/README.md @@ -0,0 +1,25 @@ +## Reverse Polarity +The main idea finding the flag is Binary to ASCII conversion. + +#### Step-1: +After seeing the text, we get the following: +`I got a new hard drive just to hold my flag, but I'm afraid that it rotted. What do I do? The only thing I could get off of it was this: ` + +``` +01000011010101000100011001111011010000100110100101110100010111110100011001101100011010010111000001110000011010010110111001111101 +``` + +I tried to convert the given Binary text to ASCII. + +#### Step-2: +I followed the URL: https://www.convertbinary.com/to-text/ + +I got the following result: + + + +Voila, we have it. +#### Step-3: + +Finally the flag becomes: +`CTF{Bit_Flippin}` diff --git a/Cryptography/Substitution Cipher/Flag.png b/Cryptography/Substitution Cipher/Flag.png new file mode 100644 index 0000000..0cbec7f Binary files /dev/null and b/Cryptography/Substitution Cipher/Flag.png differ diff --git a/Cryptography/Substitution Cipher/Input.png b/Cryptography/Substitution Cipher/Input.png new file mode 100644 index 0000000..cdc17c7 Binary files /dev/null and b/Cryptography/Substitution Cipher/Input.png differ diff --git a/Cryptography/Substitution Cipher/README.md b/Cryptography/Substitution Cipher/README.md new file mode 100644 index 0000000..f9eff15 --- /dev/null +++ b/Cryptography/Substitution Cipher/README.md @@ -0,0 +1,27 @@ +## Substitution Cipher +The main idea finding the flag is using Substitution Cipher. + +#### Step-1: +After downloading `Substitution.txt` from the cloud, we get the following data from it: + +``` +MIT YSAU OL OYGFSBDGRTKFEKBHMGCALSOQTMIOL. UTFTKAMTR ZB DAKQGX EIAOF GY MIT COQOHTROA HAUT GF EASXOF AFR IGZZTL. ZT CTKT SGFU, MIT YSACL GF A 2005 HKTLTFM MODTL MIAF LMADOFA GK A CTTQSB LWFRAB, RTETDZTK 21, 1989 1990, MIT RKTC TROMGKL CAL WHKGGMTR TXTKB CGKSR EAF ZT YGWFR MIT EGFMOFWTR MG CGKQ AM A YAOMIYWS KTHSOTL CITKT IGZZTL, LMBST AOD EASXOF, AMMAEQ ZGMI LORTL MG DAKQL, "CIAM RG EGFMKGSSOFU AF AEMWAS ZGAKR ZGVTL OF MIT HKTHAKTFML FADT, OL ODHWSLOXT KADHAUTL OF CIOEI ASCABL KTYTKTFETL MIT HALLCGKR, CIOEI DGFTB, AFR MITB IAR SOMMST YKGFM BAKR IOL YKWLMKAMTR EGSGK WFOJWT AZOSOMB COMI AFR OFROLHTFLAMT YGK MTAEI GMITK LMWROTL, AKT ACAKRL ZARUTL, HWZSOLITR ZTYGKT CTSS AL A YOKT UKGLL HSAFL CTKT GKOUOFASSB EIAKAEMTKL OF MIT LMKOH MG CIOEI LTTD MG OM CITF MTDHTKTR OF AFR IASSGCOFU MITB'KT LODHSB RKACOFU OF UOXTL GF" HKOFEOHAS LHOMMST ROLMGKM, KTARTKL EGDOEL AKT WLT, CAMMTKLGF MGGQ MCG 16-DGFMIL AYMTK KTLOLMAQTL A DGKT EKTAM RTAS MG EASXOF GYMTF IGZZTL MG ARDOML "LSODB, "ZWM OM'L FADTR A FOUIM GWM LIT OL HGOFM GY FGM LTTF IGZZTL MIT ZGGQL AM MIAM O KTDAOFOFU ZGGQ IADLMTK IWTB AKT AHHTAKAFET: RTETDZTK 6, 1995 DGD'L YKADTL GY EASXOF UOXTF A CAUGF, LGDTMODTL MIAM LG OM'L YAMITKT'L YADOSB FG EAFETSSAMOGFLIOH CAL HKTLTFML YKGD FGXTDZTK 21, 1985 SALM AHHTAK AZLTFET OF AFGMITKCOLT OM IAHHB MG KWF OM YGK MIOL RAR AL "A SOMMST MG MGSTKAMT EASXOF'L YADOSB RKACF ASDGLM EGDDTFRTR WH ZTOFU HTGHST OFLMAFET, UTM DAKKOTR ZB A RAFET EASXOF'L GWMSAFROLOFU MIT FTCLHAHTK GK MAZSGOR FTCLHAHTK ZWLOFTLL LIGC OL GF!" AFR LHKOFML GY EIOSRKTF'L RAR'L YKWLMKAMTR ZB MWKF IWDGK, CAL HWZSOE ROASGU MITKT'L FGM DWEI AL "'94 DGRTKFOLD" CAMMTKLGF IAL RTSOUIML GY YAFMALB SOYT CAMMTKLGF LABL LTKXTL AL AF AKMOLML OL RTLMKWEMOGF ZWLOFTLL, LHAETYAKTK GY MIT GHHGKMWFOMOTL BGW ZGMI A MGHOE YGK IOL IGDT MGFUWT-OF-EITTQ HGHWSAK MIAM OM CAL "IGF" AFR JWAKMTK HAUT DGKT LHAEOGWL EAFETSSAMOGF MIT HAOK AKT ESTAKSB OF HLBEIOE MKAFLDGUKOYOTK'L "NAH" LGWFR TYYTEM BGW MIOFQTK CAMMTKLGF ASLG UKTC OFEKTROZST LHAET ZWBL OF EGDDGFSB CIOST GMITKCOLT OM'L FADT OL FGMAZST LMGKBSOFT UAXT MIT GHHGKMWFOMOTL BGW EAFETSSAMOGF MIT "EASXOF GYYTK MG DAQT IOD OFEGKKTEM AFLCTKL CAMMTK AKMCGKQ GMITK GYMTF CIOEI OL TXORTFM MG GMITK LMKOH OL MG MITOK WLT GY KWSTL MIAM LIGCF GF LAFROYTK, CIG WLTL A EKGCJWOSS ZT LTTF "USWTR" MG MIT GFSB HTKL AFR IOL YAMITK LWHHGKM OL SWFEISOFT UAXT MITLT MIOF A BTAK OF DWSMODAMTKOAS AFR GZMAOF GF LAFMALB, IOL WLT, CAMMTKL ROASGUWT OL AF "AKMOLM'L LMAMWL AL "A ROD XOTC OF MIT TLLTFMOASSB MG DAQT IOD LTTD MG OFESWRTR MIAM EASXOF OL AF GRR ROASGUWT DGLM GY MIT ESWZ IAL TVHKTLLOGF GWMLORT AXAOSAZST MG +``` + +#### Step-2: +So, I tried to decode here: https://www.dcode.fr/monoalphabetic-substitution + +My inputs are as follows: + + + +#### Step-3: +I got the output as follows: + + + +There we have it. Our flag. + +#### Step-4: +Finally the flag becomes: +`IFONLYMODERNCRYPTOWASLIKETHIS` \ No newline at end of file diff --git a/Cryptography/Substitution Cipher/Substitution.txt b/Cryptography/Substitution Cipher/Substitution.txt new file mode 100644 index 0000000..9ea0480 --- /dev/null +++ b/Cryptography/Substitution Cipher/Substitution.txt @@ -0,0 +1 @@ +MIT YSAU OL OYGFSBDGRTKFEKBHMGCALSOQTMIOL. UTFTKAMTR ZB DAKQGX EIAOF GY MIT COQOHTROA HAUT GF EASXOF AFR IGZZTL. ZT CTKT SGFU, MIT YSACL GF A 2005 HKTLTFM MODTL MIAF LMADOFA GK A CTTQSB LWFRAB, RTETDZTK 21, 1989 1990, MIT RKTC TROMGKL CAL WHKGGMTR TXTKB CGKSR EAF ZT YGWFR MIT EGFMOFWTR MG CGKQ AM A YAOMIYWS KTHSOTL CITKT IGZZTL, LMBST AOD EASXOF, AMMAEQ ZGMI LORTL MG DAKQL, "CIAM RG EGFMKGSSOFU AF AEMWAS ZGAKR ZGVTL OF MIT HKTHAKTFML FADT, OL ODHWSLOXT KADHAUTL OF CIOEI ASCABL KTYTKTFETL MIT HALLCGKR, CIOEI DGFTB, AFR MITB IAR SOMMST YKGFM BAKR IOL YKWLMKAMTR EGSGK WFOJWT AZOSOMB COMI AFR OFROLHTFLAMT YGK MTAEI GMITK LMWROTL, AKT ACAKRL ZARUTL, HWZSOLITR ZTYGKT CTSS AL A YOKT UKGLL HSAFL CTKT GKOUOFASSB EIAKAEMTKL OF MIT LMKOH MG CIOEI LTTD MG OM CITF MTDHTKTR OF AFR IASSGCOFU MITB'KT LODHSB RKACOFU OF UOXTL GF" HKOFEOHAS LHOMMST ROLMGKM, KTARTKL EGDOEL AKT WLT, CAMMTKLGF MGGQ MCG 16-DGFMIL AYMTK KTLOLMAQTL A DGKT EKTAM RTAS MG EASXOF GYMTF IGZZTL MG ARDOML "LSODB, "ZWM OM'L FADTR A FOUIM GWM LIT OL HGOFM GY FGM LTTF IGZZTL MIT ZGGQL AM MIAM O KTDAOFOFU ZGGQ IADLMTK IWTB AKT AHHTAKAFET: RTETDZTK 6, 1995 DGD'L YKADTL GY EASXOF UOXTF A CAUGF, LGDTMODTL MIAM LG OM'L YAMITKT'L YADOSB FG EAFETSSAMOGFLIOH CAL HKTLTFML YKGD FGXTDZTK 21, 1985 SALM AHHTAK AZLTFET OF AFGMITKCOLT OM IAHHB MG KWF OM YGK MIOL RAR AL "A SOMMST MG MGSTKAMT EASXOF'L YADOSB RKACF ASDGLM EGDDTFRTR WH ZTOFU HTGHST OFLMAFET, UTM DAKKOTR ZB A RAFET EASXOF'L GWMSAFROLOFU MIT FTCLHAHTK GK MAZSGOR FTCLHAHTK ZWLOFTLL LIGC OL GF!" AFR LHKOFML GY EIOSRKTF'L RAR'L YKWLMKAMTR ZB MWKF IWDGK, CAL HWZSOE ROASGU MITKT'L FGM DWEI AL "'94 DGRTKFOLD" CAMMTKLGF IAL RTSOUIML GY YAFMALB SOYT CAMMTKLGF LABL LTKXTL AL AF AKMOLML OL RTLMKWEMOGF ZWLOFTLL, LHAETYAKTK GY MIT GHHGKMWFOMOTL BGW ZGMI A MGHOE YGK IOL IGDT MGFUWT-OF-EITTQ HGHWSAK MIAM OM CAL "IGF" AFR JWAKMTK HAUT DGKT LHAEOGWL EAFETSSAMOGF MIT HAOK AKT ESTAKSB OF HLBEIOE MKAFLDGUKOYOTK'L "NAH" LGWFR TYYTEM BGW MIOFQTK CAMMTKLGF ASLG UKTC OFEKTROZST LHAET ZWBL OF EGDDGFSB CIOST GMITKCOLT OM'L FADT OL FGMAZST LMGKBSOFT UAXT MIT GHHGKMWFOMOTL BGW EAFETSSAMOGF MIT "EASXOF GYYTK MG DAQT IOD OFEGKKTEM AFLCTKL CAMMTK AKMCGKQ GMITK GYMTF CIOEI OL TXORTFM MG GMITK LMKOH OL MG MITOK WLT GY KWSTL MIAM LIGCF GF LAFROYTK, CIG WLTL A EKGCJWOSS ZT LTTF "USWTR" MG MIT GFSB HTKL AFR IOL YAMITK LWHHGKM OL SWFEISOFT UAXT MITLT MIOF A BTAK OF DWSMODAMTKOAS AFR GZMAOF GF LAFMALB, IOL WLT, CAMMTKL ROASGUWT OL AF "AKMOLM'L LMAMWL AL "A ROD XOTC OF MIT TLLTFMOASSB MG DAQT IOD LTTD MG OFESWRTR MIAM EASXOF OL AF GRR ROASGUWT DGLM GY MIT ESWZ IAL TVHKTLLOGF GWMLORT AXAOSAZST MG \ No newline at end of file diff --git a/Cryptography/Vigenere Cipher/Flag.png b/Cryptography/Vigenere Cipher/Flag.png new file mode 100644 index 0000000..1690296 Binary files /dev/null and b/Cryptography/Vigenere Cipher/Flag.png differ diff --git a/Cryptography/Vigenere Cipher/README.md b/Cryptography/Vigenere Cipher/README.md new file mode 100644 index 0000000..84a2beb --- /dev/null +++ b/Cryptography/Vigenere Cipher/README.md @@ -0,0 +1,33 @@ +## Vigenere Cipher +The main idea finding the flag is just having knowledge about Vigenere Cipher. + +#### Step-1: + +Its very easy if you have basic idea of Vigenere Cipher. If you don't know, please refer : +https://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher + +So this is what is given in the message of challenge: + +``` +The vignere cipher is a method of encrypting alphabetic text by using a series of interwoven Caesar ciphers based on the letters of a keyword.
+ +I’m not sure what this means, but it was left lying around: blorpy + +gwox{RgqssihYspOntqpxs} +``` +#### Step-2: +One thing is important to know that Vigenere Cipher requires a key to decode any message. +I used this URL to decode my message and used given key as : `blorpy` +https://cryptii.com/ + +#### Step-3: +This was my output: + + + +That's it. That's our flag. + +#### Step-4: + +Finally the flag becomes: +`flag{CiphersAreAwesome}` \ No newline at end of file diff --git a/Forensics/07601/AGT.png b/Forensics/07601/AGT.png new file mode 100644 index 0000000..c6abc50 Binary files /dev/null and b/Forensics/07601/AGT.png differ diff --git a/Forensics/07601/README.md b/Forensics/07601/README.md new file mode 100644 index 0000000..fc5de9b --- /dev/null +++ b/Forensics/07601/README.md @@ -0,0 +1,364 @@ +## 07601 +The main idea finding the flag using basic forensics techniques. + +#### Step-1: +After we download the given image `AGT.png` from the cloud, we just try simple techniques. + + + +#### Step-2: +I first tried a very basic `strings AGT.png` & `strings AGT.png | grep {`. + +I got the following output, through which I came to know about existing hidden directories. +``` +v{n, +n.l{ +qYv{ +,nO{ +2[{oO +{^UH +i{WY* +ABCTF{fooled_ya_dustin} +{u4j,\ +B-{4B +}UXG{ +{`(k +cB{V, +7{Ul +{$48 +~9{;b +ECG{~'8 +{Rf: +M}fS{ +{{*7' +cGc{qlt'5 +DD2{ +{f8-Z +{R[7 +UJL{ +ez {Rz +,K{^b +WL{? +1?{M +YJ{. +E{'+ +ZQ9{ +1{@S +\s{) +mDEH{ +qz{* +{d"& +{QuH% +,97{{ +.~>{ +F{E`{; +46B{ +Le*{ +HrZl{T +^{K> +_4={ +EHLl{V +{Wh> + {:4 +B{Cl +g{:i +Z{e& +:{S/\ +{:%|Ium# +_E{Wj +S{5U +S{Eh +r{}% +ht{{ +;Xc{ +ST{{ +{>eG +2eN{ +A{b5 +wu{@ +y.V{j0^ +8~x{ +{;F# +.{|6m +{%0[ +{~u( +TB{b +i{Hhm +=Z{"4 +v.aa{ +j-@l{ +DsB{ +4{C$v` +"Y1!{I + B{^ +X>{I +KNzO{ +_I{[- +%{*e +B-{4B +}UXG{ +{`(k +cB{V, +7{Ul +{$48 +~9{;b +ECG{~'8 +{Rf: +M}fS{ +{{*7' +cGc{qlt'5 +DD2{ +{f8-Z +{R[7 +UJL{ +ez {Rz +,K{^b +WL{? +1?{M +YJ{. +E{'+ +ZQ9{ +1{@S +\s{) +mDEH{ +qz{* +{d"& +{QuH% +,97{{ +.~>{ +F{E`{; +46B{ +Le*{ +HrZl{T +^{K> +_4={ +EHLl{V +{Wh> + {:4 +B{Cl +g{:i +Z{e& +:{S/\ +{:%|Ium# +_E{Wj +S{5U +S{Eh +r{}% +ht{{ +;Xc{ +ST{{ +{>eG +2eN{ +A{b5 +wu{@ +y.V{j0^ +8~x{ +{;F# +.{|6m +{%0[ +{~u( +TB{b +i{Hhm +=Z{"4 +v.aa{ +j-@l{ +DsB{ +4{C$v` +"Y1!{I + B{^ +X>{I +KNzO{ +_I{[- +%{*e +Dwnc{E +B-{4B +}UXG{ +{`(k +cB{V, +7{Ul +{$48 +~9{;b +ECG{~'8 +{Rf: +M}fS{ +{{*7' +cGc{qlt'5 +DD2{ +{f8-Z +{R[7 +f{KR +,K{^b +WL{? +1?{M +YJ{. +E{'+ +ZQ9{ +1{@S +\s{) +mDEH{ +qz{* +{d"& +{QuH% +,97{{ +.~>{ +F{E`{; +46B{ +Le*{ +HrZl{T +^{K> +_4={ +EHLl{V +daIj{ +fz{] +{gy5 +i{1"Aj +rr@{ +C_,{ +WoIx{ +<6\`{ +%{-N( +|B{~ +{t^l +dNDM'{ +k/{| +{_ G +);bW{ +?XG>z{ +=k{- +{Y6g +K5g{2 +mz{S +2eF{ +{y4^( +GB{% +E{/Y +{p`w? +mE-{ +~*{+ +.{|6m +{%0[ +{~u( +TB{b +i{Hhm +=Z{"4 +v.aa{ +j-@l{ +DsB{ +4{C$v` +"Y1!{I + B{^ +X>{I +KNzO{ +_I{[- +%{*e +``` +#### Step-3: +I tried this `ABCTF{fooled_ya_dustin}` flag, but it showed incorrect. So let's explore the hidden folders. + +#### Step-4: +I tried `binwalk -e AGT.png`. I get a new directory called `_AGT.png.extracted`. Let's get into this. + +#### Step-5: +The contents of which are some of the images and directory. I directly, tried +`strings I Warned You.jpeg | grep {` + +#### Step-6: + +I got this output: +``` +{P|I +{zRhc +{>ch +^|){O +rU + +#### Step-3: + +I went through all requests and this request caught my eye. +`247 2.270670 10.50.203.75 185.21.216.190 HTTP 504 GET /?msg=ZmxhZ3tBRmxhZ0luUENBUH0= HTTP/1.1 ` + +It has a Base64 encrypted message. + +#### Step-4: + +So finally, I decoded it online at: https://www.base64decode.org/ + +I got the flag there: + + + +Voila, we have it here. + +#### Step-4: +Finally the flag becomes: +`flag{AFlagInPCAP}` \ No newline at end of file diff --git a/Forensics/A CAPture of a Flag/flag (4) b/Forensics/A CAPture of a Flag/flag (4) new file mode 100644 index 0000000..25c0c08 Binary files /dev/null and b/Forensics/A CAPture of a Flag/flag (4) differ diff --git a/Forensics/Binwalk/PurpleThing.jpeg b/Forensics/Binwalk/PurpleThing.jpeg new file mode 100644 index 0000000..ddb3804 Binary files /dev/null and b/Forensics/Binwalk/PurpleThing.jpeg differ diff --git a/Forensics/Binwalk/README.md b/Forensics/Binwalk/README.md new file mode 100644 index 0000000..d0d7e94 --- /dev/null +++ b/Forensics/Binwalk/README.md @@ -0,0 +1,32 @@ +## Binwalk +The main idea finding the flag using Binwalk commands and its extensions. + +#### Step-1: +After downloading `PurpleThing.jpeg` from the cloud, I tried `strings PurpleThing.jpeg | grep {`. + +I couldn't find anything special. + +#### Step-2: + +So I tried `binwalk PurpleThing.jpeg` as the question suggests. + +It showed me following output: + +``` +DECIMAL HEXADECIMAL DESCRIPTION +-------------------------------------------------------------------------------- +0 0x0 PNG image, 780 x 720, 8-bit/color RGBA, non-interlaced +41 0x29 Zlib compressed data, best compression +153493 0x25795 PNG image, 802 x 118, 8-bit/color RGBA, non-interlaced +``` + +Clearly, there is hidden data in there, let's extract that. +#### Step-3: +I input a command of `binwalk -D 'image:png' PurpleThing.jpeg` and I get a directory named `_PurpleThing.jpeg.extracted`. + +The contents are different files. In it `25795.png` has the flag. + +#### Step-4: + +Finally the flag becomes: +`ABCTF{b1nw4lk_is_us3ful}` \ No newline at end of file diff --git a/Forensics/Digital Camouflage/Base64.png b/Forensics/Digital Camouflage/Base64.png new file mode 100644 index 0000000..a6f74cc Binary files /dev/null and b/Forensics/Digital Camouflage/Base64.png differ diff --git a/Forensics/Digital Camouflage/README.md b/Forensics/Digital Camouflage/README.md new file mode 100644 index 0000000..ac79e23 --- /dev/null +++ b/Forensics/Digital Camouflage/README.md @@ -0,0 +1,36 @@ +## Digital Camouflage +The main idea finding the flag is Network Interception and some Crytographic Techniques. + +#### Step-1: +After downloading `data.pcap` from the cloud, I directly opened it in Wireshark. + +For those, who are unaware of how to use this tool for Network Interception, can refer here: +https://www.wireshark.org/ + +I tried to check the Hex Dump, but couldn't find something special. + +#### Step-2: +So, I tried to check the TCP stream in different frames. For those, who are unaware on how to do this: + +- Open `data.pcap` in Wireshark. +- In the filters, put on TCP and then Enter to get all the TCP traffic of the network. + +- I wanted to check each and every frame as question is somewhat hinting in that direction, so to check that, Analyse -> Follow -> TCP Stream + +- We can alter streams by changing the counter in bottom right corner. +- As I reached 3rd stream, I observed some credentials there. + + +`userid=hardawayn&pswrd=UEFwZHNqUlRhZQ%3D%3D` +#### Step-3: +So, it is clear that password is Base64 encrypted and in web URLs, %3D is to be replaced by =. + +So I tried to decode the Base64 encryption online at: https://www.base64decode.org/ + + + +It had the flag in it. Voila. + +#### Step-4: +Finally the flag becomes: +`PApdsjRTae` \ No newline at end of file diff --git a/Forensics/Digital Camouflage/TCP_Stream.png b/Forensics/Digital Camouflage/TCP_Stream.png new file mode 100644 index 0000000..a9960f0 Binary files /dev/null and b/Forensics/Digital Camouflage/TCP_Stream.png differ diff --git a/Forensics/Digital Camouflage/TCP_Stream_Eq_0.png b/Forensics/Digital Camouflage/TCP_Stream_Eq_0.png new file mode 100644 index 0000000..173e750 Binary files /dev/null and b/Forensics/Digital Camouflage/TCP_Stream_Eq_0.png differ diff --git a/Forensics/Digital Camouflage/TCP_Stream_Eq_3.png b/Forensics/Digital Camouflage/TCP_Stream_Eq_3.png new file mode 100644 index 0000000..fc34698 Binary files /dev/null and b/Forensics/Digital Camouflage/TCP_Stream_Eq_3.png differ diff --git a/Forensics/Digital Camouflage/data.pcap b/Forensics/Digital Camouflage/data.pcap new file mode 100644 index 0000000..2face8c Binary files /dev/null and b/Forensics/Digital Camouflage/data.pcap differ diff --git a/Forensics/Dumpster/Decryptor.java b/Forensics/Dumpster/Decryptor.java new file mode 100644 index 0000000..03825a8 --- /dev/null +++ b/Forensics/Dumpster/Decryptor.java @@ -0,0 +1,44 @@ +import java.security.MessageDigest; +import java.util.Arrays; +import java.util.Base64; + +import javax.crypto.Cipher; +import javax.crypto.spec.SecretKeySpec; + +public class Decryptor +{ + public static final String FLAG = "S+kUZtaHEYpFpv2ixuTnqBdORNzsdVJrAxWznyOljEo="; + private static class Password + { + private byte[] passHash; + + public Password(char[] pass) throws Exception + { + MessageDigest digest = MessageDigest.getInstance("SHA-256"); + this.passHash = Arrays.copyOf(digest.digest(new String(pass).getBytes("UTF-8")), 16); + } + + public byte[] encrypt(byte[] msg) throws Exception + { + SecretKeySpec spec = new SecretKeySpec(passHash, "AES"); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + cipher.init(Cipher.ENCRYPT_MODE, spec); + return cipher.doFinal(msg); + } + + public byte[] decrypt(byte[] msg) throws Exception + { + SecretKeySpec spec = new SecretKeySpec(passHash, "AES"); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + cipher.init(Cipher.DECRYPT_MODE, spec); + return cipher.doFinal(msg); + } + } + + public static void main(String[] args) throws Exception + { + Password pass = new Password(System.console().readPassword("Enter password to decrypt flag: ")); + System.out.println(new String(pass.decrypt(Base64.getDecoder().decode(FLAG.getBytes())))); + Thread.sleep(5000); //We did a heap dump right here. + } +} \ No newline at end of file diff --git a/Forensics/Dumpster/README.md b/Forensics/Dumpster/README.md new file mode 100644 index 0000000..60ff83b --- /dev/null +++ b/Forensics/Dumpster/README.md @@ -0,0 +1,12 @@ +## Dumpster +The main idea finding the flag is Java coding. + +#### Step-1: +I tried hard to understand the question and solve it, but I couldn't do it, so I had to look up for writeup. + +https://github.com/EladBeber/CTFlearn-Writeups/tree/master/Forensics/Medium/DUMPSTER + +#### Step-2: + +Finally the flag becomes: +`stCTF{h34p_6ump5_r_c00l!11!!}` \ No newline at end of file diff --git a/Forensics/Dumpster/dumpster.zip b/Forensics/Dumpster/dumpster.zip new file mode 100644 index 0000000..56497f7 Binary files /dev/null and b/Forensics/Dumpster/dumpster.zip differ diff --git a/Forensics/Dumpster/heapdump.hprof b/Forensics/Dumpster/heapdump.hprof new file mode 100644 index 0000000..aadf711 Binary files /dev/null and b/Forensics/Dumpster/heapdump.hprof differ diff --git a/Forensics/Exif/Computer-Password-Security-Hacker - Copy.jpg b/Forensics/Exif/Computer-Password-Security-Hacker - Copy.jpg new file mode 100644 index 0000000..2a3fce6 Binary files /dev/null and b/Forensics/Exif/Computer-Password-Security-Hacker - Copy.jpg differ diff --git a/Forensics/Exif/README.md b/Forensics/Exif/README.md new file mode 100644 index 0000000..c4adcb9 --- /dev/null +++ b/Forensics/Exif/README.md @@ -0,0 +1,62 @@ +## Exif +The main idea finding the flag is to have Exiftool. + +#### Step-1: +After I downloaded `Computer-Password-Security-Hacker - Copy.jpg`, I immediately tried to open it using Exiftool. + + + +#### Step-2: +If you have some experience in CTF before, [Exiftool](https://exiftool.org/) is quite widely used. So I input `exiftool Computer-Password-Security-Hacker\ -\ Copy.jpg` + +Output: + +```bash +ExifTool Version Number : 11.88 +File Name : Computer-Password-Security-Hacker - Copy.jpg +Directory : . +File Size : 54 kB +File Modification Date/Time : 2020:07:31 14:04:06+05:30 +File Access Date/Time : 2020:07:31 14:04:06+05:30 +File Inode Change Date/Time : 2020:07:31 14:04:06+05:30 +File Permissions : rw-r--r-- +File Type : JPEG +File Type Extension : jpg +MIME Type : image/jpeg +JFIF Version : 1.02 +X Resolution : 100 +Y Resolution : 100 +Exif Byte Order : Big-endian (Motorola, MM) +Resolution Unit : None +Y Cb Cr Positioning : Centered +Exif Version : 0231 +Components Configuration : Y, Cb, Cr, - +Flashpix Version : 0100 +Owner Name : flag{3l1t3_3x1f_4uth0r1ty_dud3br0} +GPS Latitude Ref : South +GPS Longitude Ref : East +Quality : 60% +DCT Encode Version : 100 +APP14 Flags 0 : [14], Encoded with Blend=1 downsampling +APP14 Flags 1 : (none) +Color Transform : YCbCr +Image Width : 660 +Image Height : 371 +Encoding Process : Baseline DCT, Huffman coding +Bits Per Sample : 8 +Color Components : 3 +Y Cb Cr Sub Sampling : YCbCr4:4:4 (1 1) +Image Size : 660x371 +Megapixels : 0.245 +GPS Latitude : 77 deg 17' 2.62" S +GPS Longitude : 44 deg 4' 7.30" E +GPS Position : 77 deg 17' 2.62" S, 44 deg 4' 7.30" E +``` + +#### Step-3: + +Voila! I got the flag there. I don't have any idea why this challenge was in hard. + +#### Step-5: +Finally the flag becomes: +`flag{3l1t3_3x1f_4uth0r1ty_dud3br0}` \ No newline at end of file diff --git a/Forensics/Forensics 101/95f6edfb66ef42d774a5a34581f19052.jpg b/Forensics/Forensics 101/95f6edfb66ef42d774a5a34581f19052.jpg new file mode 100644 index 0000000..64d7da0 Binary files /dev/null and b/Forensics/Forensics 101/95f6edfb66ef42d774a5a34581f19052.jpg differ diff --git a/Forensics/Forensics 101/README.md b/Forensics/Forensics 101/README.md new file mode 100644 index 0000000..17b0219 --- /dev/null +++ b/Forensics/Forensics 101/README.md @@ -0,0 +1,143 @@ +## Forensics 101 +The main idea finding the flag using basic forensics training. + +#### Step-1: +After we download the given image `95f6edfb66ef42d774a5a34581f19052.jpg` from the cloud, we just try simple techniques. + + + +#### Step-2: +I first tried a very basic `strings 95f6edfb66ef42d774a5a34581f19052.jpg` + +#### Step-3: +It just gave me this output: +``` +JFIF + , #&')*) +-0-(0%()( +(((((((((((((((((((((((((((((((((((((((((((((((((( +L?~f +:UwR +y>2| +*'?- +yhH_& +Lmz' + +f[ +!"1$246B`35A +au> +~b*D +F_X:D +[ElC +him8 +lr|. +L{2^ +]]te +tBfE +j_s7Os/[i +W="' +"fkO +G&,ke: +eM_F +8O:J +9)/m>& +[P{! +}EI5# +a~Wt,1 +] +\37g +4=i#N +F:Jx +.`Ot +v[xU +|='u +{~T{@ +LX.9 +?mBx +L1QG +lIYB+ +|] % +QTj?: +$*,- +pk4D +4R gX +$mmk +_QSK +b)^L +a[T= +mpjst Base64 encrypted string i.e. `Q1RGbGVhcm57eG9yX2lzX3lvdXJfZnJpZW5kfQo=` at https://cryptii.com/. + + + +It gives a false flag `CTFlearn{xor_is_your_friend}`, but on a brighter side it gives idea of XOR'ing the next 2 strings. + +#### Step-3: +So, I decrypted remaining 2 strings to get hexadecimal texts because in that RFC, ASCII text isn't possible. + + + + + + +#### Step-4: +I XOR them online at: http://xor.pw/ to get the flag. + + + +#### Step-5: +Finally the flag becomes: +`CTFlearn{Gandalf.BilboBaggins}` \ No newline at end of file diff --git a/Forensics/GandalfTheWise/String1.png b/Forensics/GandalfTheWise/String1.png new file mode 100644 index 0000000..36c3ffd Binary files /dev/null and b/Forensics/GandalfTheWise/String1.png differ diff --git a/Forensics/GandalfTheWise/String2.png b/Forensics/GandalfTheWise/String2.png new file mode 100644 index 0000000..0e63524 Binary files /dev/null and b/Forensics/GandalfTheWise/String2.png differ diff --git a/Forensics/GandalfTheWise/String3.png b/Forensics/GandalfTheWise/String3.png new file mode 100644 index 0000000..8af0acf Binary files /dev/null and b/Forensics/GandalfTheWise/String3.png differ diff --git a/Forensics/Git Is Good/README.md b/Forensics/Git Is Good/README.md new file mode 100644 index 0000000..8053df8 --- /dev/null +++ b/Forensics/Git Is Good/README.md @@ -0,0 +1,101 @@ +## Taking LS +The main idea finding the flag using simple Git commands to find hidden passwords and flag. + +#### Step-1: +After we download the given zip `gitIsGood.zip` from the cloud, we just try simple techniques. + +After we unzip, we get a directory called `gitisGood`. + +#### Step-2: +I went into `gitisGood` directory and tried +`ls -al` command to get following output: + +``` +total 16 +drwxr-xr-x 3 rishit rishit 4096 Oct 30 2016 . +drwxr-xr-x 3 rishit rishit 4096 Jul 10 16:43 .. +-rw-r--r-- 1 rishit rishit 15 Oct 30 2016 flag.txt +drwxr-xr-x 8 rishit rishit 4096 Oct 30 2016 .git +``` + +#### Step-3: +Next, I tried `cat flag.txt`, but seems like that flag `flag{REDACTED}` is incorrect. + +#### Step-4: +So we try to explore the `.git` directory. Get into that directory to know the changes that were done on the `flag.txt` + +#### Step-5: +I tried `git log` and came to know that the file was changed 3 times by the following output: + +``` +Author: LaScalaLuke +Date: Sun Oct 30 14:33:18 2016 -0400 + + Edited files + +commit 195dd65b9f5130d5f8a435c5995159d4d760741b +Author: LaScalaLuke +Date: Sun Oct 30 14:32:44 2016 -0400 + + Edited files + +commit 6e824db5ef3b0fa2eb2350f63a9f0fdd9cc7b0bf +Author: LaScalaLuke +Date: Sun Oct 30 14:32:11 2016 -0400 + + edited files +``` + +#### Step-6: +So to know the changes we need to add some additional flag and the command becomes: + +`git log -p` + +The output is as follows: +``` +commit d10f77c4e766705ab36c7f31dc47b0c5056666bb (HEAD -> master) +Author: LaScalaLuke +Date: Sun Oct 30 14:33:18 2016 -0400 + + Edited files + +diff --git a/flag.txt b/flag.txt +index 8684e68..c5250d0 100644 +--- a/flag.txt ++++ b/flag.txt +@@ -1 +1 @@ +-flag{protect_your_git} ++flag{REDACTED} + +commit 195dd65b9f5130d5f8a435c5995159d4d760741b +Author: LaScalaLuke +Date: Sun Oct 30 14:32:44 2016 -0400 + + Edited files + +diff --git a/flag.txt b/flag.txt +index c5250d0..8684e68 100644 +--- a/flag.txt ++++ b/flag.txt +@@ -1 +1 @@ +-flag{REDACTED} ++flag{protect_your_git} + +commit 6e824db5ef3b0fa2eb2350f63a9f0fdd9cc7b0bf +Author: LaScalaLuke +Date: Sun Oct 30 14:32:11 2016 -0400 + + edited files + +diff --git a/flag.txt b/flag.txt +new file mode 100644 +index 0000000..c5250d0 +--- /dev/null ++++ b/flag.txt +@@ -0,0 +1 @@ ++flag{REDACTED} +``` + +#### Step-7: +Finally the flag becomes: +`flag{protect_your_git}` \ No newline at end of file diff --git a/Forensics/Git Is Good/gitIsGood.zip b/Forensics/Git Is Good/gitIsGood.zip new file mode 100644 index 0000000..3ee07ef Binary files /dev/null and b/Forensics/Git Is Good/gitIsGood.zip differ diff --git a/Forensics/Git Is Good/gitIsGood/flag.txt b/Forensics/Git Is Good/gitIsGood/flag.txt new file mode 100644 index 0000000..c5250d0 --- /dev/null +++ b/Forensics/Git Is Good/gitIsGood/flag.txt @@ -0,0 +1 @@ +flag{REDACTED} diff --git a/Forensics/Milk's Best Friend/README.md b/Forensics/Milk's Best Friend/README.md new file mode 100644 index 0000000..9198ac1 --- /dev/null +++ b/Forensics/Milk's Best Friend/README.md @@ -0,0 +1,112 @@ +## Milk's Best Friend +The main idea finding the flag is to find the hidden files and apply basic forensics techniques. + +#### Step-1: +After we download `oreo.jpg` from the cloud, I tried `strings oreo.jpg`, there I couldn't find the correct flag. So I tried for some hidden data in the image. + + + +#### Step-2: +I tried out `binwalk oreo.jpg` and got the following output: + +``` +DECIMAL HEXADECIMAL DESCRIPTION +-------------------------------------------------------------------------------- +0 0x0 JPEG image data, JFIF standard 1.01 +9515 0x252B RAR archive data, version 4.x, first volume type: MAIN_HEAD +``` + +This clears that we have a RAR file inside the image. + +#### Step-3: +To extract all, I used `binwalk -D oreo.jpg` and I got a directory `_oreo.jpg.extracted` at that location. + +I checked its contents and it had a directory called `1` & a zip file `252B.rar`. I chose to explore `1` first. + +#### Step-4: +In `1`, I got a file `a` & `b.jpg`. So my next instinct was to try out `strings b.jpg` and Voila it worked. + + + +I got the following output: + +``` +JFIF +"1$%)+... +383-7(-.+ +%----------------------+----------------------+---7 +!1AQqa +\5n`] +xsLy +.y fk +vSk:M +DzuMb +_NZ@ +]ETyn +Xg3H +nBC_ +]95r +C^^[p +Q`'; +q`7' +\\o* +. & +04KZ +)Qc& +Q{k~ +st&[ +NW89 +Lk$[ +1Y79 +a0\A +$;6g +%mG+$ +DysM +2em7 +6M>f +Ztn`$F +qUhTmjN ++67* +e6hi +0d$j +-ko)' +CH;^u +&Du= +$t$Lv +1/i +/1-6n +Gx#GA +M8n! +iT0? +kVI8 +`.}v +gPl,c +bsDKw +O]=6V1 +Rx|! +\l&> +!G=* +HSayi-9 +#X3i +c>R2 + $+cmk1 +u|h]a +tEp# +&Z 2` +ZMmG +a;}V +{2sRpo7%V +0=Q-C: +[e[!A +|5xk ++NgU +;HO+dD +D272} +`h : +K`8m:- +Finally, flag{eat_more_oreos} +``` + +#### Step-5: +Finally the flag becomes: +`flag{eat_more_oreos}` \ No newline at end of file diff --git a/Forensics/Milk's Best Friend/_oreo.jpg.extracted/1/a b/Forensics/Milk's Best Friend/_oreo.jpg.extracted/1/a new file mode 100644 index 0000000..8113a20 --- /dev/null +++ b/Forensics/Milk's Best Friend/_oreo.jpg.extracted/1/a @@ -0,0 +1,3 @@ + + +This is not the flag you are looking for. \ No newline at end of file diff --git a/Forensics/Milk's Best Friend/_oreo.jpg.extracted/1/b.jpg b/Forensics/Milk's Best Friend/_oreo.jpg.extracted/1/b.jpg new file mode 100644 index 0000000..36d35d6 Binary files /dev/null and b/Forensics/Milk's Best Friend/_oreo.jpg.extracted/1/b.jpg differ diff --git a/Forensics/Milk's Best Friend/_oreo.jpg.extracted/252B.rar b/Forensics/Milk's Best Friend/_oreo.jpg.extracted/252B.rar new file mode 100644 index 0000000..348ed0b Binary files /dev/null and b/Forensics/Milk's Best Friend/_oreo.jpg.extracted/252B.rar differ diff --git a/Forensics/Milk's Best Friend/b.jpg b/Forensics/Milk's Best Friend/b.jpg new file mode 100644 index 0000000..36d35d6 Binary files /dev/null and b/Forensics/Milk's Best Friend/b.jpg differ diff --git a/Forensics/Milk's Best Friend/oreo.jpg b/Forensics/Milk's Best Friend/oreo.jpg new file mode 100644 index 0000000..5322ff1 Binary files /dev/null and b/Forensics/Milk's Best Friend/oreo.jpg differ diff --git a/Forensics/PikesPeak/PikesPeak.jpg b/Forensics/PikesPeak/PikesPeak.jpg new file mode 100644 index 0000000..8314add Binary files /dev/null and b/Forensics/PikesPeak/PikesPeak.jpg differ diff --git a/Forensics/PikesPeak/README.md b/Forensics/PikesPeak/README.md new file mode 100644 index 0000000..f71ab6c --- /dev/null +++ b/Forensics/PikesPeak/README.md @@ -0,0 +1,58 @@ +## PikesPeak +The main idea finding the flag using simple forensic techniques. + + +#### Step-1: +After we download `PikesPeak.jpg`, we try to open and see the flag and check if we find any. + + + +#### Step-2: +I tried simple techniques and easily found answer when we send the command: + +`strings PikesPeak.jpg | grep {` + +I and got this as output: + +``` +CTFLEARN{PikesPeak} +CTFLearn{Colorado} +%ctflearn{MountainMountainMountain} +#cTfLeArN{CTFMountainCTFmOUNTAIN} +CTF{AsPEN.Vail} +CTFlearn{Gandalf} +ctflearning{AUCKLAND} +ctfLEARN{MtDoom} +6ctflearninglearning{Mordor.TongariroAlpineCrossing} ++CTFLEARN{MountGedePangrangoNationalPark} +$ctflearncTfLeARN{MountKosciuszko} +{rof +#&f{ +Y\GC{( +{r%681G +{t(@Q +{5$< +)%)`{ +N{eI& +]N&{ +NKxf{ +K;{Dk +8pGM{ +d=q{ +|PV{ +xw{1 +#{;W +}s7h{ +V{K[\d +b%\{% +``` + +#### Step-4: + +I tried all the flags up there xP. + +However one of them worked out. + +#### Step-5: +Finally the flag becomes: +`CTFlearn{Gandalf}` \ No newline at end of file diff --git a/Forensics/Rubber Duck/README.md b/Forensics/Rubber Duck/README.md new file mode 100644 index 0000000..5e87da5 --- /dev/null +++ b/Forensics/Rubber Duck/README.md @@ -0,0 +1,106 @@ +## Rubber Duck +The main idea finding the flag using easiest forensics techniques. + + +#### Step-1: +After we download `RubberDuck.jpg`, we try to open and see the flag and check if we find any. + + + +#### Step-2: +I tried simple techniques and easily found answer when we send the command: + +`strings RubberDuck.jpg | grep {` + +Note: Although some general techniques also include `strings RubberDuck.jpg | grep flag` & `strings RubberDuck.jpg | grep ctf`. + +#### Step-3: +We get the following output: +``` +CTFlearn{ILoveJakarta} +e{8{" + i~{ +S:{s +^{Ec +2\G;{J +s9y{x +]^y{ +=\u^{F +-{~? +{VVj +)@{1 +G-%#{ +".k{;y;3 +U{U_ +Bu{S/ +n{b/ +T{#G +*H{cF: +oT{S +!yl[ru{ +\{t| +"{x0 +iE7q,4${ +Or/hr{ +{c8w +{Qjjr +NYY,{ +=F{?a +z{x^ +q{X4 +V{2n +`pY{ +#:J^Z{ +f{'z +{|D7 +{43P +${X + +#### Step-2: +I tried simple techniques and easily found answer when we send the command: + +`strings Snowboard.jpg | grep {` + +We get a false flag `CTFlearn{CTFIsEasy!!!}` which is not the correct flag. + +So we try harder. + +#### Step-3: +We use the following command to extract all the enclosed zipped images. +`binwalk -D='.*' Snowboard.jpg` + +We get a new directory `_Snowboard.jpg.extracted` + +In that directory, we get some files like `0`, `3A4`, `5A`, `393B` & `395B`. + +#### Step-4: +We try different commands `strings | grep {`. + +But after some tries, I tried command `strings -n 8 0` and got this as output: + +``` +CTFlearn{CTFIsEasy!!!} +Q1RGbGVhcm57U2tpQmFuZmZ9Cg== +Canon EOS 6D Mark II +GIMP 2.10.6 +2019:05:07 14:37:21 +2018:08:23 12:52:08 +2018:08:23 12:52:08 +082051002328 +EF24-105mm f/4L IS USM +0000502af2 + $.' ",# +(7),01444 +'9=82<.342 +!22222222222222222222222222222222222222222222222222 +%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz +&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz +Jps]7"rT +http://ns.adobe.com/xap/1.0/ + +fPhotoshop 3.0 +20190507 +20180823 +125208+0000 +143721-1437 +)$+*($''-2@7-0=0''8L9=CEHIH+6OUNFT@GHE +!E.'.EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE +xj.kPDm^d +w~0@ + +)$R-RV-] +&6364-XE +05.jlhI$ + "02A#3@P` +A<@n]K&.M +rJ50)'J+ +AQ"pa#3q +qS]=aEA( +k7f6I]G. +MS&No!F) +.ED'e8c\ +CLRz?0NIQ ++4YVY6D* +'>aWL'lN +CvtB;'Ef8'q +K# 1Ok +KN +!?[?M?U + !01@APQ`apq +! 10AQa@Pq`p +"""""""5 +.&.qP8|Q0 +R@m+O1ut +cN`VBPjTO +*1>Iors-ls +E3\@f_i^ +}*T:,%t# +GHwW^YB\ +``` + +#### Step-4: + +Now we get this small Base64 encrypted message below the false flag +`Q1RGbGVhcm57U2tpQmFuZmZ9Cg==` + +When we decrypt it, we get the flag. + +#### Step-5: +Finally the flag becomes: +`CTFlearn{SkiBanff}` \ No newline at end of file diff --git a/Forensics/Snowboard/Snowboard.jpg b/Forensics/Snowboard/Snowboard.jpg new file mode 100644 index 0000000..62247e4 Binary files /dev/null and b/Forensics/Snowboard/Snowboard.jpg differ diff --git a/Forensics/Snowboard/_Snowboard.jpg.extracted/0 b/Forensics/Snowboard/_Snowboard.jpg.extracted/0 new file mode 100644 index 0000000..62247e4 Binary files /dev/null and b/Forensics/Snowboard/_Snowboard.jpg.extracted/0 differ diff --git a/Forensics/Snowboard/_Snowboard.jpg.extracted/393B b/Forensics/Snowboard/_Snowboard.jpg.extracted/393B new file mode 100644 index 0000000..5d3b4fa Binary files /dev/null and b/Forensics/Snowboard/_Snowboard.jpg.extracted/393B differ diff --git a/Forensics/Snowboard/_Snowboard.jpg.extracted/395D b/Forensics/Snowboard/_Snowboard.jpg.extracted/395D new file mode 100644 index 0000000..2b23d09 Binary files /dev/null and b/Forensics/Snowboard/_Snowboard.jpg.extracted/395D differ diff --git a/Forensics/Snowboard/_Snowboard.jpg.extracted/3A4 b/Forensics/Snowboard/_Snowboard.jpg.extracted/3A4 new file mode 100644 index 0000000..99982a5 Binary files /dev/null and b/Forensics/Snowboard/_Snowboard.jpg.extracted/3A4 differ diff --git a/Forensics/Snowboard/_Snowboard.jpg.extracted/5A b/Forensics/Snowboard/_Snowboard.jpg.extracted/5A new file mode 100644 index 0000000..f905c2c Binary files /dev/null and b/Forensics/Snowboard/_Snowboard.jpg.extracted/5A differ diff --git a/Forensics/Taking LS/README.md b/Forensics/Taking LS/README.md new file mode 100644 index 0000000..96ad468 --- /dev/null +++ b/Forensics/Taking LS/README.md @@ -0,0 +1,40 @@ +## Taking LS +The main idea finding the flag using simple LS commands to find hidden passwords and flag. + +#### Step-1: +After we download the given zip `The Flag.zip` from the cloud, we just try simple techniques. + +After we unzip the 2 folders in it, we get 2 directories named `__MACOSX` & `The Flag`. + +#### Step-2: +I went into `The Flag` directory and tried +`ls -al` command to get following output: +``` +total 40 +drwxr-xr-x 3 rishit rishit 4096 Oct 30 2016 . +drwxr-xr-x 4 rishit rishit 4096 Jul 10 16:13 .. +-rw-r--r-- 1 rishit rishit 6148 Oct 30 2016 .DS_Store +-rw-r--r-- 1 rishit rishit 16647 Oct 30 2016 'The Flag.pdf' +drwxr-xr-x 2 rishit rishit 4096 Oct 30 2016 .ThePassword +``` +Note: `The Flag.pdf` is password protected. +We need to retrieve the password. + +#### Step-3: +Next, I got into `.ThePassword` directory and tried `ls` command to get this: + +``` +ThePassword.txt +``` + +#### Step-4: +Let's do a `cat ThePassword.txt` to get the Password. + +`Nice Job! The Password is "Im The Flag".` + +#### Step-5: +Let's try this password on `The Flag.pdf` and its works! + +#### Step-7: +Finally the flag becomes: +`ABCTF{T3Rm1n4l_is_C00l}` \ No newline at end of file diff --git a/Forensics/Taking LS/The Flag.zip b/Forensics/Taking LS/The Flag.zip new file mode 100644 index 0000000..ef20773 Binary files /dev/null and b/Forensics/Taking LS/The Flag.zip differ diff --git a/Forensics/Taking LS/The Flag/The Flag.pdf b/Forensics/Taking LS/The Flag/The Flag.pdf new file mode 100644 index 0000000..9a17411 Binary files /dev/null and b/Forensics/Taking LS/The Flag/The Flag.pdf differ diff --git a/Forensics/The Keymaker/README.md b/Forensics/The Keymaker/README.md new file mode 100644 index 0000000..8fc6c88 --- /dev/null +++ b/Forensics/The Keymaker/README.md @@ -0,0 +1,387 @@ +## The Keymaker +The main idea finding the flag using some forensics and Crypto concepts. + + +#### Step-1: +After we download `The-Keymaker.jpg`, we try to open and see the flag and check if we find any. + + + +#### Step-2: +I tried simple techniques and easily found answer when we send the command: + +`strings PikesPeak.jpg` + +I and got this as output: + +``` +JFIF +CTFlearn{TheKeymakerIsK00l} +b3BlbnNzbCBlbmMgLWQgLWFlcy0yNTYtY2JjIC1pdiBTT0YwIC1LIFNPUyAtaW4gZmxhZy5lbmMg +LW91dCBmbGFnIC1iYXNlNjQKCml2IGRvZXMgbm90IGluY2x1ZGUgdGhlIG1hcmtlciBvciBsZW5n +dGggb2YgU09GMAoKa2V5IGRvZXMgbm90IGluY2x1ZGUgdGhlIFMwUyBtYXJrZXIKCg== +CmmtaSHhAsK9pLMepyFDl37UTXQT0CMltZk7+4Kaa1svo5vqb6JuczUqQGFJYiycY + , #&')*) +-0-(0%()( +(((((((((((((((((((((((((((((((((((((((((((((((((( +RR=,Q +)n}} +ZY&H +1(m{iR +!AE3 +J/>E +]m4us +/fuY +*0W[ +YDkR& +-(ah! +X*EY# +}up07% +FPvV +[T); +uZD +[vK4 +O>a\U +L.dY[ +KK$h +Xn6<| +_@[O ++$KIQ; +A7~B.A]B +l-nvQ +i+2n ++K0x +{b:W +h4Yf7s; +1RTI +ZR^C +[Yf#r +U]+U4 +{5}n +%SAL +IJ4\7 +>_@M=#'o +F\z>y +npU7 +{D[i +-:*C +-;5r +%Ciw +V],Is +,I ~ +hE#Q +2jz/( +itO, + er.]( +sj9d +biF: +o~19F.- +m.uX,rzB. +PI8xc +MR,(_T` +|;jOoS$ +jJ7e +'Y$] +znRK +C$+8 +,!~th} +7nS* +~pE= +dMh& +KsHw +QTHZ +S-~u= +:RB9uFr +ER # +A-.kx% +/qm_,FZN +j#2* +@,T[{ +Ksri +6kYB +1u23 +e%I/Q +%fJm +tM:v +M+I +yU^[K +NAP_r +WFZN +iU_=B + jwX +R=:F +2g4m +Vu=9 +&jHj +Q,h6> +$j`7 +xTGP +Y]MZ +KQ-- +CH:T +8hGt{ +%)tG +'*Z` +BQZ1 +aQY&^ +pl}(N +K[_MBFZ +IM!Q +TZiQ +aUQqU +M9S\ +3eA, +S\q0 +A6;x +bU4u +LoIR +%)5& +w#X +5B7Q +AEO*UH +~IN{ +P56c]B: +&PdR +Uw[s} +&&#{ +{q|,t +_[WV% +(Bm, +/jDh +U$t. +%aUX +8}WSSf +TRg4b +bUbs +-9J1Q +2*et +GSJL& +nHym +JQ9mE +SWQ+ +T}6_ +U)SB|K +*j`i+ +YuFqS +]GMm +T#>_C +M$4u' +qwWK +OVnF +.HBm~ +SFw$ +pRrT + $iY@0 + T%X +Hg%!` +HUtz + ^Pw' +Qtm2U +9_LW +&WHh +^?l_ +DUPv +e-%Q +T$NA +#3Lf +LqV- +|uY%j +\Xsl +Wmz}B +P0se +:^u. +-[-,3 + iceW +IuvC +A`. +K$YlO +plqx +!hAq +;[H$ +VIA$ +uacp +K?/ht +Qi%@\ +C"V4OK +[QY# +gRKCRY +/b6+ +7$JI +M^eQ +9k"c"@ +`} l +-Q42 +F6ui*E +#Tj( +%%Na +;Q9\ +1@_},C ++=E=B +6zzy" +h{!" +olNj +Wc$TY}fT +STjfD +/#gNC +uV_C[) +n,Bj +?dy[ +LT}T +jcHB +T7QV +*(N\ +GVi9NV +)i"U +DZ_H +-;'Q +P,ZA +m~|b5r@ +()*^ +,B^7 +u'wI +M=k" +1OQv6 +iNSJ +M9c& +_QM] +WGlll-r +s4 4 +\o|w +WSM)e +Pwhj +jzw. +u4tU9 +&YL K1S +?BlF:c +Qmt@* +iY]9 +#m#"6 +PEP@ +mrpV +``` + +#### Step-4: +Try the flag and it is incorrect. Now the following part looks like Base64 encryption: +``` +b3BlbnNzbCBlbmMgLWQgLWFlcy0yNTYtY2JjIC1pdiBTT0YwIC1LIFNPUyAtaW4gZmxhZy5lbmMg +LW91dCBmbGFnIC1iYXNlNjQKCml2IGRvZXMgbm90IGluY2x1ZGUgdGhlIG1hcmtlciBvciBsZW5n +dGggb2YgU09GMAoKa2V5IGRvZXMgbm90IGluY2x1ZGUgdGhlIFMwUyBtYXJrZXIKCg== +``` + +When we decode it online, we get the following: +``` +openssl enc -d -aes-256-cbc -iv SOF0 -K SOS -in flag.enc -out flag -base64 + +iv does not include the marker or length of SOF0 + +key does not include the S0S marker +``` + + +#### Step-5: + +This is a hint, the flag is encoded with AES-256-CBC, then we need to find 128 bits of _iv_ and 256 bits of _key_ to decode and find the flag. + +#### Step-6: + +Open the image with hex editor, we find SOF0 with `0xff` `0xc0`, the length of SOF0 is `0x00` `0x11`. + +If you don't have idea of mark identifiers of an image, refer below: + +http://vip.sugovica.hu/Sardi/kepnezo/JPEG%20File%20Layout%20and%20Format.htm + +Then, the _iv_ is: `0800be00c803011100021101031101ff` + +#### Step-7: + +We find S0S with `0xff` `0xda`, the _key_ is: + +`000c03010002110311003f00f9766bfc44beda8f3f5c031b92cb0e92d6bdc952` + +#### Step-8: + +We have a comment left, this is the encoded flag: + +`mmtaSHhAsK9pLMepyFDl37UTXQT0CMltZk7+4Kaa1svo5vqb6JuczUqQGFJYiycY` + +#### Step-9: + +According to the command, input we need to create a `flag.enc` which includes the above comment. + +So, finally the contents of flag.enc become : `mmtaSHhAsK9pLMepyFDl37UTXQT0CMltZk7+4Kaa1svo5vqb6JuczUqQGFJYiycY` + +#### Step-10: +According to previous given Base64 decryption, we have put the following command: + +`openssl enc -d -aes-256-cbc -iv 0800be00c803011100021101031101ff -K 000c03010002110311003f00f9766bfc44beda8f3f5c031b92cb0e92d6bdc952 -in flag.enc -out flag -base64` + +#### Step-11: + +This will create a file `flag` in the same directory and then we can read the contents by just `cat flag` + +#### Step-12: +Finally the flag becomes: +`CTFlearn{Ne0.TheMatrix}` \ No newline at end of file diff --git a/Forensics/The Keymaker/The-Keymaker.jpg b/Forensics/The Keymaker/The-Keymaker.jpg new file mode 100644 index 0000000..8f1d264 Binary files /dev/null and b/Forensics/The Keymaker/The-Keymaker.jpg differ diff --git a/Forensics/The Keymaker/flag b/Forensics/The Keymaker/flag new file mode 100644 index 0000000..7f34f40 --- /dev/null +++ b/Forensics/The Keymaker/flag @@ -0,0 +1 @@ +CTFlearn{Ne0.TheMatrix} diff --git a/Forensics/The Keymaker/flag.enc b/Forensics/The Keymaker/flag.enc new file mode 100644 index 0000000..68e5bb3 --- /dev/null +++ b/Forensics/The Keymaker/flag.enc @@ -0,0 +1 @@ +mmtaSHhAsK9pLMepyFDl37UTXQT0CMltZk7+4Kaa1svo5vqb6JuczUqQGFJYiycY diff --git a/Forensics/The adventures of Boris Ivanov. Part 1/Boris_Ivanov_1.jpg b/Forensics/The adventures of Boris Ivanov. Part 1/Boris_Ivanov_1.jpg new file mode 100644 index 0000000..caa5753 Binary files /dev/null and b/Forensics/The adventures of Boris Ivanov. Part 1/Boris_Ivanov_1.jpg differ diff --git a/Forensics/The adventures of Boris Ivanov. Part 1/Flag.png b/Forensics/The adventures of Boris Ivanov. Part 1/Flag.png new file mode 100644 index 0000000..7eec7a2 Binary files /dev/null and b/Forensics/The adventures of Boris Ivanov. Part 1/Flag.png differ diff --git a/Forensics/The adventures of Boris Ivanov. Part 1/README.md b/Forensics/The adventures of Boris Ivanov. Part 1/README.md new file mode 100644 index 0000000..7d9073e --- /dev/null +++ b/Forensics/The adventures of Boris Ivanov. Part 1/README.md @@ -0,0 +1,35 @@ +## The adventures of Boris Ivanov. Part 1. +The main idea finding the flag is to tangle image RGB filters with Stegsolver. + +#### Step-1: +After downloading `Boris_Ivanov_1.jpg` from the cloud, I tried all basic Forensics Techniques, but I got nothing. + + + +NULL. NATA. ZIP. + +#### Step-2: + +I tried to use the Stegsolver application. For those who don't have it, can get the script from here: + +https://github.com/zardus/ctf-tools/tree/master/stegsolve + +After installation is complete, running `./stegsolver.jar` will launch the application. + +#### Step-3: + +After reading the challenge again and again we can notice the word KGB may bay relate to Steganography by RGB. + +In Stegsolver, there are 1000 offsets possible. + +#### Step-4: +Luckily, after analyzing the image, I started to filter backwards and got flag at 898 offset. + +I got the flag there. + + + + +#### Step-5: +Finally the flag becomes: +`flag{d0nt_m3s5_w1th_th3_KGB}` \ No newline at end of file diff --git a/Forensics/Up For A Little Challenge_/Begin Hack.jpg b/Forensics/Up For A Little Challenge_/Begin Hack.jpg new file mode 100644 index 0000000..8cc9b3e Binary files /dev/null and b/Forensics/Up For A Little Challenge_/Begin Hack.jpg differ diff --git a/Forensics/Up For A Little Challenge_/Did I Forget Again_/Loo Nothing Becomes Useless ack.jpg b/Forensics/Up For A Little Challenge_/Did I Forget Again_/Loo Nothing Becomes Useless ack.jpg new file mode 100644 index 0000000..c2dfd8b Binary files /dev/null and b/Forensics/Up For A Little Challenge_/Did I Forget Again_/Loo Nothing Becomes Useless ack.jpg differ diff --git a/Forensics/Up For A Little Challenge_/Did I Forget Again_/skycoder.jpg b/Forensics/Up For A Little Challenge_/Did I Forget Again_/skycoder.jpg new file mode 100644 index 0000000..082d8be Binary files /dev/null and b/Forensics/Up For A Little Challenge_/Did I Forget Again_/skycoder.jpg differ diff --git a/Forensics/Up For A Little Challenge_/README.md b/Forensics/Up For A Little Challenge_/README.md new file mode 100644 index 0000000..03fb361 --- /dev/null +++ b/Forensics/Up For A Little Challenge_/README.md @@ -0,0 +1,280 @@ +## Up For A Little Challenge? +The main idea finding the flag is to consecutively use Forensics commands. + +#### Step-1: +After we download `Begin Hack.jpg` from the cloud, we try to understand what is the content.
+ + + + +#### Step-2: +Then I tried `strings Begin hack.jpg` and got the following output: + + +``` +JFIF +Exif +8Photoshop 3.0 +8BIM +8BIM +S@%c +&T6d +'E7e +()*89:HIJWXYZghijwxyz +0"2Q +3#aB +c6p&ET +()*789:FGHIJUVWXYZdefghijstuvwxyz +mQ15 +TLMm +[m[mQ15 +*tMD +"k4J +Rs]n +iy +}p.6p +_f;>Yd$W +&MBo +X?$6 +bjCL +k)p$ +W&YL +19b$ +^8/_ +l',r +%pRG +H4\p +R/C,^ +7l#Y +Oi?h +w +V +|^7V* +QXmG5_? +/E'C +.$%er +o%)) +:?ab +y+q\ +5O9e?%j? +_&j" +1,G$+ +CS@? +*zHr +Z#8CLQ_$# +1exh +1yjyw( +'Trj +`- https://mega.nz/#!z8hACJbb!vQB569ptyQjNEoxIwHrUhwWu5WCj1JWmU-OFjf90Prg -N17hGnFBfJliykJxXu8 - +=u}B +{Y4B +R_:/ +/bTK +T8(w +}SPF* +.YRi, +m%

? +pb}X8a +;>)I$ +A16hM +O9]F +K_Es +OQcc +{8OI +_ +bK(1 +c +-L_Q +c +y:O @ +tt'8 +1F?jn +;'"K +|q=_ +=U$a +FS ` +8nzo a~ +Trqe@ +(~CK9& +Jq$? +@a:O> +ea!%! +e$Ef +yQ(u$65 +4"< +s^)V +``` + +#### Step-3: +This output has opened a lot of gateways for us to explore. So let's try to visit the URL given to us: +https://mega.nz/file/z8hACJbb#vQB569ptyQjNEoxIwHrUhwWu5WCj1JWmU-OFjf90Prg + +We get a new zip file there named `Up For A Little Challenge.zip`. + +#### Step-4: +After we unzip and try to find content (including all hidden files, by `ls -al`), I found the directory `Did I Forget Again?` and in that I found an image and another compressed file called `.Processing.cerb4`. + +#### Step-5: + +When I tried to unzip it, I found an image `skycoder.jpg` which was encrypted. + +This is the time you have to be little smart and try the password from given things only. I tried to search above strings search and found password there: `Nothing Is As It Seems`. + +#### Step-6: +Finally we get this image. Flag is right bottom corner. + +skycoder + +#### Step-7: +Finally the flag becomes: +`flag{hack_complete}` diff --git a/Forensics/Up For A Little Challenge_/Up For A Little Challenge.zip b/Forensics/Up For A Little Challenge_/Up For A Little Challenge.zip new file mode 100644 index 0000000..29597f5 Binary files /dev/null and b/Forensics/Up For A Little Challenge_/Up For A Little Challenge.zip differ diff --git a/Forensics/WOW.... So Meta/3UWLBAUCb9Z2.jpg b/Forensics/WOW.... So Meta/3UWLBAUCb9Z2.jpg new file mode 100644 index 0000000..2d2f342 Binary files /dev/null and b/Forensics/WOW.... So Meta/3UWLBAUCb9Z2.jpg differ diff --git a/Forensics/WOW.... So Meta/README.md b/Forensics/WOW.... So Meta/README.md new file mode 100644 index 0000000..cf1b287 --- /dev/null +++ b/Forensics/WOW.... So Meta/README.md @@ -0,0 +1,1570 @@ +## WOW.... So Meta +The main idea finding the flag is just basic Forensics Techniques. + +#### Step-1: + +After we download `3UWLBAUCb9Z2.jpg`, I found nothing in image in general. + + + +#### Step-2: +I used `strings 3UWLBAUCb9Z2.jpg` to explore if I found any flag in there. + +I got following output: + +``` +JFIF +xPhotoshop 3.0 +8BIM +164555 +20141227 +20141227 +164555 +8BIM +~Exif +Photos 1.5 +2014:12:27 16:45:55 +0221 +0100 +2014:12:27 16:45:55 +2014:12:27 16:45:55 +http://ns.adobe.com/xap/1.0/ + + + + + flag{EEe_x_I_FFf} + + + + + + + + + + + + + + + + + + + + + + +1A"Qa +$3Rb +45DSc + 'ds +"AQa +$4Cs +,-n9$ +XuLG +bnO{ +z7RA +hjQ [ +B[)a + %q)X +B~8U +%vjK +N~zu +T}ImG +|-M5& +=zM#>@ +T.\" +mE'lJ +Y?0Hi +qj-V;t +!%7=={ +ZjlH ?9 +BMVc +1gxs^ +].3] +=.+1 +G9D[ +Hz`rG1n6 +sf_iN +4@HJot +2Q (H +OGJZ +uJac +UG$I +t6*(l +7o%G +HPff +rAm{ +]2Xt-/ +?&d, +im5= +~,]J +:@K{n +-)\E +E+mA( +9)CJ +`ucO + .p@S!% + y(M +Pnl^i +:wuy/ +h4LO +fTO5 +L:AHy +Jwu]U +[cUGP +o<<6 +e:OC +%W$o|qS(CvGS +S J`, +L&(uQ +GZ t +qs]i +P ~I +xY & +PKeH +DX2( +Hvez +O0fJ +IQmR +ROot +t\]61 +-}aD +f+/r + 9s5 +1dfZ +lRxI +$y&q! +kat: +/$]V +EF$l +-{m} +V+M1 +jH U +{)K'p +j**# +PHPQ +I]i$ +g'gh +BBln; +P5)Y +@+bL" +[VbT +gZuZ +]KkV +|_\8: +)!$z +tVq;8 +,Rzq + YvL +-(GSjj +"-D6 +/G2Q +y)QV +n/mC +*8HJm +1>=Jh +<4#/ +~}pm>" +T=!z +(*@R/ +U>>i, +:|]A +#,B} +xj9! +p];u +,|D. +`q19A\ +[7 ; +GqL" +%a)JP +Url^\4 +*+$l +]m\lpu +/{b_ +7CNg +A $Z +-H'I +/q&AJ +s%g[ +'SeV +SkIRP +J}zL +7Wsr( +Q[zd +kc}@ +CtM3 +u$l0 +"5), +'Kk] +*qe' +%0[*B. +z(np +aC:;& +NuvR +RIpiI +,/n +!Nyyc +i@,\y +o|3$ +9hJw +n=p@ +'S*W +7 [|%PqK +|q'd +Bp.P +nIT9 +'Cj4 +mSO ++.;Mj<@ +*t)- +-a$r +)C|j +Jb:Z +0`qh +J\>sz +X+[s +m-Dr +(-oA +,Di. +*q#y@ +JDIIR +9f`k +CKMII +oKjy +kYV6 +J7%V6 +Zn7>! +XaZB +->94 +J4I| +4V"O +.{hJ +A+t8 +aMC_+C +%N5I +:a#GN +/:Uu +@?l( +*B>B +J>#H# +w0(4 +Z"\r +C-j +18)E +j3%= +RgTL+ +#2cxk +\2Un$( +*:RR]O +Y?2E +zi%%_ +4) IV +l18dXI +j]#s +k/&k +LA`U> +,Y)qM( +cvY +6T"; +\4:n` d +;][_ +;B]Qt ++JT: +`JUK +qeWrrU +R<3# +81|P +wW[)( +_Pdq +BX +y.6C +Kh(. +b ++S)S +x'Ec/ +lZ~Lm +|><" +N~+J +G,Ih +$-s0 +Dc0e +i?"- +8{:# +@M Kee +zlgc +L.$Dh +(jxC +(,ZLZ +ZyI +@!^G} +*G55 +U7=v + rbG +PekV +`x.j$ +>#TT +AeJ= +*m*+ +Lq-2 +:"[xF +D~Sk +Vz*a +Cedo{o +6B r +aimhl +5O/b +yF `$ +8sc/ +1`Xz +.FXX +Tp~" +Nmmd +I9c=H +baC3x +T:+I6 +3sQR +Vq~t +N+tN +$(9W2. 5 +s"LV +u:/56Iy +KoWIR +SS3/ +>M@I +LR~J( +(uIM +k [hG +C.q*s +Vl5FyM +\#z0 +1f8iV +I 3y +0F]^ +j5 N +P?0m +$!iQ +aTzr +yXItFz +! n# +0{q@zP +r'Fb +],!? +YUZ: +MfBo}. +AS]:d +`sum +=Eh+ +K^;. +ZU`~ +!Jm\ +E4ya +:3HN +.:!$ +8ktk +%J6JZiJQ +f&Y, + #d0 +,7}V +uvip + !jy +mXhv +4U%i +I$yZ +BTP}v +9amQ +o+)W +(FY** +99/s +ewy- +%{Z5x +fM7" +PyH7JWQu` +y9&G +wy$02 +O,_{ +F+w(Kit +i)%? +=Oxj +,03k +_( v&r +$`^eg1 ++CjO +:"?= +}T^e/_ +d{5 +1Ic8- +LDqrL +2~h8 +l&\%j +~beh/e +L-iD +Gl A8 +F]PN +G\Mj +8LRJi +*UI#H +5"jR< +|}@R +HKHqD +;djd +:~7' =N +%.H# +#T&kr +a0iQ$ +s|g* +E)X)? +yu;b + wQQ +`'pc +PTnVTI +A/D)m +@i%6P +`9-7 +UJt%Y +o|Z2*vs +(RJm[a7 +h]!d% ++x.(YD +iiM: +*jHf: +TQe* +Hr1i2 +Seqf +%!-Q +qG3Xh +r&-_ +z\"Sv +85RO*K +/{dd +W[[eI +Vl"s +?2Ned +)1#) +?rpCp, +D.5d +.V3UE +`!OKCn[pI +OPDm +uA;b-p +y5jK +EF'_7 +W:[TrB +irus +=5= +&t=t +37(ji +K+mu +jQ0i +,B)q +Jf4O +(M\3 +nnRQ +3,Vc +2]oBh +P"jS +:45( +acOo +[rC-. +W)Y> +-?D8V +%4:= +]L:J( +hs:W +*v;) +H8!5 +3Pr7 +yI.* +a[s8 +EnBU +wXH? +{5RX' +iTSW8 +6w4V +p{Mm +KZeLfz +?8TC +IJ}z +0aC +nO!U +d+Y l4 +T,Tc%$ +H+!KQ +x} o(\ +2aiE +jd6F +49{)!W +:(:Kj# +r|X}4 +|&^Z +[F4v +#co\5 +*,;HS + +pz)1W +@=`nK +{C}-+A +|=RBU +84 {\ +] |n +<>XT +^Z~= +t-ck +G::D +:Ty +GJn;^ +5_`| +Cw+CiQ +B"@J +*pIi +zaBfO +c)Zn" +q:A@ +b3Zy +2$%- +Kx%F +Bz}; +I(qu +b"RN +t:<@) +h=9G +&7LM +w.E\ +vZd +{"LO +KfiF +|0aF +!**X| +QB5Xn +]eN8 +O.(J\ +6Dfb +^V8> +T*sm +w=7U +b{]: +;B[)P +%JQ$> +M=;o +RR=,S +NylH +=:`i +GoUQ.- +X@{/ +%An, +EW$Us +YvI[i +Ux ye +)qw' +)nQgM +OH:I +8R"& +c/3S +jO1K|l} +g21% +W5}] ++ChQ +7+= +B%"j +k(jB +qOO! +)w{m +Jm-* +Ga>WP9 +(iHiD +I% *H +8qQK +{lvB@.!kJZ +:n:\ +%.92]Dy +Lv]r +p i( +=./rz +e- +Z|(y +Y:|A +I #cm +}Ip* +JX.A +XYI*C +J[ii +hl{\Q +>_<> +{Mb* +YJXy` +[cw+t +"|G,N +iu@uZ/s +K[`% +y;M" +=T~J +5l=1 +SPA; +V]qJ +lj?M ++%Qy +4W~>C +jJA-:M +8`BYTd +G-!:w +w/"Ou +CCE{ +R> r +Qa-" +AJRT +D~kq +ezsLnV +xmEf +ScJ!VK + H7o +g/ie +6q[u +81!% +&;kj +=]r2 +[j}) +\z\g +)Q7$ +-QZR + +E> +'9VJ_ +n..4 +=X,\ +U:3T +ILd:R +7U22q +b4Z]R@e +cpn7%V + \HH +5BEq +p=1$Xf!l +{I?}^i +Qm.hP +iIu2 +b;!F +[}Z? +Tv": +!he* +Xn@(' +,zkQ +c0]u +8w$( +wR +Za57 + FE*&F}R +?)H` +rce4 +]U`/~ +U-s8 +VA\- +OmA)Q +3ZqJ +|Ha$o +[y4U +=.Om +&07u +)N/] +;vPH# +q-%X +)'Kr$6 +EIUO( +R6H1 +zKHHI +|p)= +B} ;}0 +MGii +T7-" +w'R\ +dI-8 +6HJU +A/Z;' +8qC2 +DT(o{ +\ LNX +ZZl

&P +EN%dt#k +5JeQRae +5XTf +l-zz +2NbzDQ +3Ui2 +h) W +#jBlo +&tu{L +_,R) +K $ +3E)+ +"Hr% +b[iuM +Lm*S +Rlv6 +KmF\ +JTZd +/@x+P +6f}Mr +.k.0 +#`5o +-Dz_1E +-uj{Y +fcN! +n@6m +#knN +h+ZAXu +m`^i +BEW5 +U"GP +m6ZB +=>Sf +_,(z +&3,g +}.*# +Kv;o +C,HB +RO\t +ZmmI +:%(R +r}!Q +pIRR +J[[f +G%3v +j|Y/ +)S?g, +ikDv +UG7qG +")EIa +A#P +J IV +$FKe +JJO@n +{X|0 +- 4u +IJ|Z +K!A-6[ +J\ ia +nA+% +&LU/ +@miJ +Jj~MA +W9-K +)_mJK ++M@K +rl Rj +Du16J +Y[l} +ImW: +x@IF +}^{X` +LZtT +N'f,#< +;PiM1 +tjXy +Z#gQ +)IyJ> +jTYt +a!Zop/q +\['Q +9T1= +q"S3 +[Is0, +;1n0 +A-)A +n<]=7 +cp3)L2 +>Lti +WP#+ +dJJuj +\j.I +l-ajOU +WN^L +8AB% +yC/% +M4ue +\4*e +("8# +[KI@Rj +4Hqi! +;t8i~C^ +R-{Y) +BBDu$ + rKab +B~xB + w.g +'Y!# +\S6j +Tc%A< +K}l+ + \iZR +hfxz" +p/pH +ehJP +$or1 +E`{D~u +]@nz +CUq@ +rW!H}' +c-Lf +%+[| +/,w'TVb +c-6w +7^oy2 +KMI[v +{[K/6 +.$j' +NA(jbe: +$|{b + anb +S#Km +9Jj2 +Q!.) +*HW4 +BuE> +@7*Q7M +LJ{Xos +w KGY@ +fJa4 +SHp%J +XsK%KK +792_ +N!'iM +inT*m8 +dX]i)(JA +,5P[ +ow b@ +yn\I +AiWbL ++{]@^ +]NmC0 +P}%D +R@.,\ +TR$$j +o%@%n +Bc*k +eEv@ +:b S +`RS1@ +}4Lg +KkzLyH +=KiI@J +"K56f +AIjL[ +A6 P= +UH|D +:`eYu +*3J! +3GNd +KICk} +JSo;U +Xi^2 +Iq=ll/d +-X%Ct + oD`TTn +BT=V- +TH%^" +Dy;2 +OW#d +Bmm:~ +-riR +5R(H +n.Sp!S +lz'} +#)NTE8 +faf5G +,Jv0) +.MaQ ++b=Q) +PRzu +5567 +7"S, +O{\n +q.#] +=*K1G) +RJO] +ZMw+ +l=KzdJs +'po} +#`}N +ku(W +f]*L: +*Ai2 +{iRy +KqQF +JP.[L8 +_K/kPJ +!.F5V + +RZK-%KR +C[mV +bJO_ +\bJz +'d?u +/L*m +M~5N +#-M< +/)OHuekp +H# T +z,t@t +h /> +JqeJ: +%n$hU +6#r0+ +#S+t +Z)S- +T JD +5j)!aO +oHiAa)t)J +g(2]Q +RW)Hk +.-*u +/Srv` +\BPT +2~@Nk +\iJe +!V ]D +KZ|CJ +Hy,H+!7 +!zA: +}MG` +b9.,I +mr,:4 +IYZz +Tni} +^E9R# +*R !6 + GP2o +j yc@ J +mi(P& +)J%6 +LnfYB +l11`q +Hu2e +&dyM +KaE!%7Q +~eR{ +{+Jo +xTI7 +Y(xKS}y@ +)k!) JT +g6jm +8bo7= +u>|9 +CajU +Er,'U1 +1TS6 +)HKi +TzRd +mIRU +;/S~ +6=G\= +5Z{l +IRobE +T*=I0 +\9]p +vHHa +h.L7k +}d$: +:Ly+j +GE_{j +mKH; +xg:\ +=m|rZ +\iq{ +-|hTH +jl=I +BT-k +CtNit +|'l$Z +o,N$ +7]YA@ +[*q7< +%q[yA +x~2UY +;RiQ +2S1l +(M!.} +[r.w +ZiM0 +cV@W-iN +PVVBR +K2Rx +jD5 +sf_U +w H8 +uKzK +*G1N +\QBSPTI +\Va0Y +Y*[E +'YKJ +Y] O +Yq*N +%VIU +#Z~| +'G@H +x8IXHQ +=A>]q +$@_% +@* = +KjmJ +&T&F& +3(RxAQj +fS"P# +f.Kk +:Kij +$()KB +b/pq +$E[j^ +S5b* +9G-fHyg:K +T7Ee, +D{:Z +"0X. +TeSs%~N^ +RBulC\ +RTw' +ORmlG +HRopA +23m3 +A,)n +I+@=h +l\+WB +&Knr9 + Jw*Q + b+iHJ[i +*?Ll +?l%+ +_Lr*: +^!|- +M%u& +)_\t +S|7U +6'Y9 +:kIX +L"[JM +Cvo{X +BuNh ++G2C +J\Qi +Sh$(] +*Jim +i yE' +`;N~;4 +?Dc#W8 +|!KZR +51"{m +EPvS~ +jRBnH +sd9.R +Q7=0c +EBrfU ++/HQ +4(s _A +$Y(@Q +0fxQ +)JRw +UI0k +jA6" +\\nq +@O'{ +bMBc +^ T$ +=+R^ +5raC +PG|"a +b-`F +ZFhv +9Ey@ +Er\f +&`FD +7&BVB +OT)Z +6 w8 +H}I: +}rmf^\ +&;o: +)IJA> +|Z}N\ + H{J +A Kn-KJC +u:]9 +Hiq_ +/bRH +p Q^4 +78p]d +xJW} +r>XJTw= +~e|1 +N=I% +6; q +hJZCi +IBH [ +/Ve;A +g5kH +X3<8 +f%q7 +u[u* ++@ZHJ +Ww^t +R@rJ +k7Q'u +c0Kv ] +|f3 +xOO\k + + +#### Step-2: +I followed the URL: https://webqr.com/ + +I got the following result: + + + +We get another link from here: + +[https://mega.nz/#!9NFhUbwQ!vtrLVum8z-ZXzur33RrGJ4uivMJhA9_5TW2ulHucXoU](https://mega.nz/#!9NFhUbwQ!vtrLVum8z-ZXzur33RrGJ4uivMJhA9_5TW2ulHucXoU) +#### Step-3: +So I went to above URL and downloaded `Flag.txt`. + +It had the flag in it. That's it. + +#### Step-4: +Finally the flag becomes: +`CTF{2_QR_4_U}` \ No newline at end of file diff --git a/Miscellaneous/QR Code v2/Scan.png b/Miscellaneous/QR Code v2/Scan.png new file mode 100644 index 0000000..499ba41 Binary files /dev/null and b/Miscellaneous/QR Code v2/Scan.png differ diff --git a/Miscellaneous/QR Code v2/qr_code.jpg b/Miscellaneous/QR Code v2/qr_code.jpg new file mode 100644 index 0000000..e7a107b Binary files /dev/null and b/Miscellaneous/QR Code v2/qr_code.jpg differ diff --git a/Miscellaneous/QR Code/Base64.png b/Miscellaneous/QR Code/Base64.png new file mode 100644 index 0000000..e8ad356 Binary files /dev/null and b/Miscellaneous/QR Code/Base64.png differ diff --git a/Miscellaneous/QR Code/README.md b/Miscellaneous/QR Code/README.md new file mode 100644 index 0000000..b64c033 --- /dev/null +++ b/Miscellaneous/QR Code/README.md @@ -0,0 +1,43 @@ +## QR Code +The main idea finding the flag is to decrypt multiple encryptions. + +#### Step-1: +After downloading, `qrcode.39907201.png` from the cloud, my first try was to scan it online: + + + +#### Step-2: +I followed the URL: https://webqr.com/index.html + +I got the following message after the scan: + + + +Message: `c3ludCB2ZiA6IGEwX29icWxfczBldHJnX2RlX3BicXI=`. + +This was clearly Base64 encrypted, which can be said by terminating '='. + +#### Step-3: +So, I tried at this URL and tried to decode the flag: https://www.base64decode.org/ + +I got the following result: + + + +Decryption: `synt vf : a0_obql_s0etrg_de_pbqrgo`. + +I tried this as the flag, but unfortunately, it didn't work out. Now I thought that, this message itself could be encrypted and I got a sense of ROT13 there. If anyone is unaware of ROT13 encryption, they can check out here: https://en.wikipedia.org/wiki/ROT13 + + +#### Step-5: +So for ROT13 decryption, I followed this URL: https://cryptii.com/. + +I got the following result: + + + +Voila, we have it. +#### Step-6: + +Finally the flag becomes: +`n0_body_f0rget_qr_code` \ No newline at end of file diff --git a/Miscellaneous/QR Code/ROT13.png b/Miscellaneous/QR Code/ROT13.png new file mode 100644 index 0000000..68b3496 Binary files /dev/null and b/Miscellaneous/QR Code/ROT13.png differ diff --git a/Miscellaneous/QR Code/Scan.png b/Miscellaneous/QR Code/Scan.png new file mode 100644 index 0000000..1e6702e Binary files /dev/null and b/Miscellaneous/QR Code/Scan.png differ diff --git a/Miscellaneous/QR Code/qrcode.39907201.png b/Miscellaneous/QR Code/qrcode.39907201.png new file mode 100644 index 0000000..406f997 Binary files /dev/null and b/Miscellaneous/QR Code/qrcode.39907201.png differ diff --git a/Miscellaneous/Reversal of fortune/README.md b/Miscellaneous/Reversal of fortune/README.md new file mode 100644 index 0000000..4d6c639 --- /dev/null +++ b/Miscellaneous/Reversal of fortune/README.md @@ -0,0 +1,20 @@ +## Reversal of fortune +The main idea finding the flag is to be conscious. That's it. + +#### Step-1: +After we read the given message: + +`.nac uoy fi tIe$reveRpilF eldnah ym gnisu em egassem ,avaj yllacificeps ,gnidoc emos htiw pleh deen I ,deifitnedi tegrat txeN` + +#### Step-2: +This is simple reverse string. + +So reading it correctly, we get: + +`Next target identified, I need help ith some coding, specifically java, message me using my handle FlipRever$eIt if you can.` + +So I tried `FlipRever$eIt` as flag, and Voila, it works. + +#### Step-3: +Finally the flag becomes: +`CTFlearn{FlipRever$eIt}` diff --git a/Miscellaneous/What could this be_/Input.png b/Miscellaneous/What could this be_/Input.png new file mode 100644 index 0000000..8072ccd Binary files /dev/null and b/Miscellaneous/What could this be_/Input.png differ diff --git a/Miscellaneous/What could this be_/Output.png b/Miscellaneous/What could this be_/Output.png new file mode 100644 index 0000000..004884a Binary files /dev/null and b/Miscellaneous/What could this be_/Output.png differ diff --git a/Miscellaneous/What could this be_/README.md b/Miscellaneous/What could this be_/README.md new file mode 100644 index 0000000..3cbf156 --- /dev/null +++ b/Miscellaneous/What could this be_/README.md @@ -0,0 +1,37 @@ +## What could this be? +The main idea finding the flag is knowing what JSFUCK is! + +#### Step-1: + +After downloading `what_can_this_be.txt`, when I opened it, I was taken aback for a moment. + +` +[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[!+[]+!+[]]]+(![]+[])[+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+!+[]]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+(![]+[])[+[]])+(+(!+[]+!+[]+!+[]+!+[]+[+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+[!+[]+!+[]+!+[]+!+[]]+(+(!+[]+!+[]+!+[]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[!+[]+!+[]])+[!+[]+!+[]+!+[]+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+(![]+[])[+[]])+[!+[]+!+[]+!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+(![]+[])[+[]])+((+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]+[])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+(![]+[])[+[]])+(+(!+[]+!+[]+!+[]+[!+[]+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[!+[]+!+[]+!+[]])+[+[]]+(+(!+[]+!+[]+!+[]+[!+[]+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[!+[]+!+[]+!+[]])+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+([][[]]+[])[!+[]+!+[]])+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[!+[]+!+[]]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])() +` + +I won't lie, this question took me many days, because I was ending up on dead ends several times. + +#### Step-2: +So, after a gigantic search, This was some kind of [Esoteric Programming Language](https://en.wikipedia.org/wiki/Esoteric_programming_language). Please read it, if you don't know. + + +#### Step-3: +Later, I just searched for JSFUCK decoders online and was redirected to this URL: +https://enkhee-osiris.github.io/Decoder-JSFuck/ + +#### Step-4: + +This was my input: + + + +This is what I got as output: + + + +That's it. Voila, we have our flag. + +#### Step-5: + +Finally the flag becomes: +`flag{5uch_j4v4_5crip7_much_w0w}` \ No newline at end of file diff --git a/Miscellaneous/What could this be_/what_can_this_be.txt b/Miscellaneous/What could this be_/what_can_this_be.txt new file mode 100644 index 0000000..6e9720b --- /dev/null +++ b/Miscellaneous/What could this be_/what_can_this_be.txt @@ -0,0 +1 @@ +[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[!+[]+!+[]]]+(![]+[])[+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+!+[]]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+(![]+[])[+[]])+(+(!+[]+!+[]+!+[]+!+[]+[+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+[!+[]+!+[]+!+[]+!+[]]+(+(!+[]+!+[]+!+[]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[!+[]+!+[]])+[!+[]+!+[]+!+[]+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+(![]+[])[+[]])+[!+[]+!+[]+!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+(![]+[])[+[]])+((+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]+[])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+(![]+[])[+[]])+(+(!+[]+!+[]+!+[]+[!+[]+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[!+[]+!+[]+!+[]])+[+[]]+(+(!+[]+!+[]+!+[]+[!+[]+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[!+[]+!+[]+!+[]])+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+([][[]]+[])[!+[]+!+[]])+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[!+[]+!+[]]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])() \ No newline at end of file diff --git a/Miscellaneous/Where Can My Robot Go_/README.md b/Miscellaneous/Where Can My Robot Go_/README.md new file mode 100644 index 0000000..cdb4c6c --- /dev/null +++ b/Miscellaneous/Where Can My Robot Go_/README.md @@ -0,0 +1,24 @@ +## Where Can My Robot Go? +The main idea finding the flag using simple logic and some un-accessed web pages. + +#### Step-1: +After we read question, there is literally no hint to go anywhere. So I tried +`https://ctflearn.com/robots.txt` to get some hint. + +#### Step-2: +It showed me following output: + +``` +User-agent: * +Disallow: /70r3hnanldfspufdsoifnlds.html +``` + +#### Step-3: +So I went to that web page by: +`https://ctflearn.com/70r3hnanldfspufdsoifnlds.html ` + +I got the flag there. +#### Step-4: + +Finally the flag becomes: +`CTFlearn{r0b0ts_4r3_th3_futur3}` \ No newline at end of file diff --git a/Miscellaneous/Wikipedia/1.png b/Miscellaneous/Wikipedia/1.png new file mode 100644 index 0000000..ced102e Binary files /dev/null and b/Miscellaneous/Wikipedia/1.png differ diff --git a/Miscellaneous/Wikipedia/2.png b/Miscellaneous/Wikipedia/2.png new file mode 100644 index 0000000..2b807fe Binary files /dev/null and b/Miscellaneous/Wikipedia/2.png differ diff --git a/Miscellaneous/Wikipedia/3.png b/Miscellaneous/Wikipedia/3.png new file mode 100644 index 0000000..1cb0568 Binary files /dev/null and b/Miscellaneous/Wikipedia/3.png differ diff --git a/Miscellaneous/Wikipedia/README.md b/Miscellaneous/Wikipedia/README.md new file mode 100644 index 0000000..70ab130 --- /dev/null +++ b/Miscellaneous/Wikipedia/README.md @@ -0,0 +1,25 @@ +## Wikipedia +The main idea finding the flag is explore more from the question. + +#### Step-1: +First of all, I tried directly searching for the given IP Address, but that path led to nowhere. So next, I went to https://www.wikipedia.org/ to get answers. I tried to search given IP Address to search their database. + + + + +#### Step-2: +Upon searching the given domain, I get this search result, so I try to check up some links there. + + + +#### Step-3: + +When I tried the first link of https://en.wikipedia.org/w/index.php?title=Flag&diff=prev&oldid=676540540, +I got the flag there: + + + + +#### Step-4: +Finally the flag becomes: +`CTFlearn{cNi76bV2IVERlh97hP}` diff --git a/Programming/Dawn's Lawn/Flag.py b/Programming/Dawn's Lawn/Flag.py new file mode 100644 index 0000000..9352f74 --- /dev/null +++ b/Programming/Dawn's Lawn/Flag.py @@ -0,0 +1,15 @@ +import numpy as np +import sys + +with open(sys.argv[1]) as f: + + lines = f.read().split('\n') +dim = len(lines[0]) + +conv = {'.': 0,'_': 1,'\\': 2, '-': 3, '/': 4, '|': 5, '*': 6} +matrix = np.array([[conv[y] for y in x] for x in lines]) +matrix -= 2 # Mow everything +grow = np.tile(np.arange(dim-1, -1, -1), (dim, 1)) +grow[matrix <= 0] = 0 # Don't grow on infertile land +matrix += grow +print("Flag: " + str((matrix >= 6).sum())) diff --git a/Programming/Dawn's Lawn/README.md b/Programming/Dawn's Lawn/README.md new file mode 100644 index 0000000..8fc25b0 --- /dev/null +++ b/Programming/Dawn's Lawn/README.md @@ -0,0 +1,127 @@ +## Dawn's Lawn +The main idea finding the flag is some scripting in Python. + +#### Step-1: +After downloading `dawn.txt` & `dawn2.txt` from the cloud, I tried to see their contents. + +The contents of `dawn.txt` were: + +``` +When Dawn mows the lawn, she always does it in columns. She stars going down in the first one, then up in the second, down in the third, and continues until the entire lawn is done. Each tile in the lawn can be found in one of seven states: +* : a flower +| : grass 4 +/ : grass 3 +- : grass 2 +\ : grass 1 +_ : fertile dirt +. : infertile dirt + +If a tile ever becomes 'infertile dirt', it will never be able to grow again. The flower is the highest stage of growth, while infertile dirt is the lowest. When Dawn's lawnmower is on a tile, it goes down 2 growth stages. A flower becomes grass 3, grass 2 becomes fertile dirt, grass 1 and fertile dirt becomes infertile dirt. Once the grass on that tile is trimmed, it gains the ability to grow quickly. The growth speed is the side length of Dawn's lawn. For example, in a 3x3 lawn, the growth speed is 3. If Dawn mows a flower, it becomes grass 3. After she mows the next 3 tiles, the grass 3 tile grows to grass 4. It will keep growing provided that Dawn is not finished mowing the lawn. + +Here is a simple example lawn is a 3x3 lawn which looks like this: +*-* +_|. +/\/ + +This is how the lawn develops for every tile that Dawn mows. The arrows represent the direction that Dawn is travelling in (for the next tile), starting on the first tile in the top-left: +1:↓ 2:↓ 3:→ 4:↑ 5:↑ 6:→ 7:↓ 8:↓ 9 +/-* >> /-* >> /-* >> |_* >> |_* >> |_* >> *\/ >> *\\ >> *\\ +_|. >> .|. >> .|. >> .|. >> .-. >> .-. >> .-. >> ./. >> ./. +/\/ >> /\/ >> \\/ >> \\/ >> \\/ >> -./ >> -./ >> -./ >> /./ + +Flowers: 1 +Remember that the growth rate changes for bigger lawns! +[Additional Test Cases] +===================== +5x5 Lawn: 3 flowers +\|_*\ +_|/._ +-.||- +\_-_- +|--_. +===================== +8x8 Lawn: 17 flowers +._\-_\|. +\|..**./ +/|\|/*/\ +/-.|\/|. +|/--\\./ +_\-._.\| +|__.\|._ +._\/||.* +===================== +15x15 Lawn: 83 flowers +_\|\*\_|\\._.-\ +|_\-//.|..-|||. +_\\|*..*_-/-*|- +\\\_/*..-.|/-*\ +._\|//_|\||.-|. +*..||\.\|||*||- +//*____*\\_|\\- +_._/__\|./-.__/ +||\//.|//__./_\ +\*|.-_|..|---.- +//._\//*-\/|*|- +|*_/*_*--.|-*|* +._/_*_||._-/_-| +-_*\__\\|*\-//| +.|/.*-./..-\/*- +``` + + +The contents of `dawn2.txt` were: + +``` +\|*/|_|.-_\\|.|_.-// +/-\_.--.|-_._\.-|/*- +\\-|..-*-/__*--/.\*- +_/\|.*.---___***_/\. +_-|.\\././_/|.-|_\// +_-*.\..**/|/**.\_./- +|-*|*.-_-////.|**-|- +*\|*_-|_\-|__\_.*.-| +.*///*.*/*\_-\..*-** +*/_\-\.//--/||\\/_|_ +*.**/--/**///./\\/-| +/|.\-..*-./\..-|\.|| +|\/\__|./*_-\|-/_*_\ +.|///*-/\-/|*/*||*-* +.\.|\/.*/--*.|\--\/\ +/_/|_|_---\_\_.***.- +|-.._.-*\|*_\/_|_\/* +.\.|\|//_-|.*-*|\*|* +_\/-|-_*\-\|-/-/-*.- +-_..\_\_*\\-*__..*/- +``` + +#### Step-2: +I wrote a simple `Flag.py` script to calculate our answer. + +The content of `Flag.py` is as follows: + +``` +import numpy as np +import sys + +with open(sys.argv[1]) as f: + + lines = f.read().split('\n') +dim = len(lines[0]) + +conv = {'.': 0,'_': 1,'\\': 2, '-': 3, '/': 4, '|': 5, '*': 6} +matrix = np.array([[conv[y] for y in x] for x in lines]) +matrix -= 2 # Mow everything +grow = np.tile(np.arange(dim-1, -1, -1), (dim, 1)) +grow[matrix <= 0] = 0 # Don't grow on infertile land +matrix += grow +print("Flag: " + str((matrix >= 6).sum())) +``` + +#### Step-3: +After running the script as `python3 Flag.py dawn2.txt`, we get following output: + +`Flag: 194` + +#### Step-4: +Finally the flag becomes: +`194` \ No newline at end of file diff --git a/Programming/Dawn's Lawn/dawn.txt b/Programming/Dawn's Lawn/dawn.txt new file mode 100644 index 0000000..33b7d6e --- /dev/null +++ b/Programming/Dawn's Lawn/dawn.txt @@ -0,0 +1,59 @@ +When Dawn mows the lawn, she always does it in columns. She stars going down in the first one, then up in the second, down in the third, and continues until the entire lawn is done. Each tile in the lawn can be found in one of seven states: +* : a flower +| : grass 4 +/ : grass 3 +- : grass 2 +\ : grass 1 +_ : fertile dirt +. : infertile dirt + +If a tile ever becomes 'infertile dirt', it will never be able to grow again. The flower is the highest stage of growth, while infertile dirt is the lowest. When Dawn's lawnmower is on a tile, it goes down 2 growth stages. A flower becomes grass 3, grass 2 becomes fertile dirt, grass 1 and fertile dirt becomes infertile dirt. Once the grass on that tile is trimmed, it gains the ability to grow quickly. The growth speed is the side length of Dawn's lawn. For example, in a 3x3 lawn, the growth speed is 3. If Dawn mows a flower, it becomes grass 3. After she mows the next 3 tiles, the grass 3 tile grows to grass 4. It will keep growing provided that Dawn is not finished mowing the lawn. + +Here is a simple example lawn is a 3x3 lawn which looks like this: +*-* +_|. +/\/ + +This is how the lawn develops for every tile that Dawn mows. The arrows represent the direction that Dawn is travelling in (for the next tile), starting on the first tile in the top-left: +1:↓ 2:↓ 3:→ 4:↑ 5:↑ 6:→ 7:↓ 8:↓ 9 +/-* >> /-* >> /-* >> |_* >> |_* >> |_* >> *\/ >> *\\ >> *\\ +_|. >> .|. >> .|. >> .|. >> .-. >> .-. >> .-. >> ./. >> ./. +/\/ >> /\/ >> \\/ >> \\/ >> \\/ >> -./ >> -./ >> -./ >> /./ + +Flowers: 1 +Remember that the growth rate changes for bigger lawns! +[Additional Test Cases] +===================== +5x5 Lawn: 3 flowers +\|_*\ +_|/._ +-.||- +\_-_- +|--_. +===================== +8x8 Lawn: 17 flowers +._\-_\|. +\|..**./ +/|\|/*/\ +/-.|\/|. +|/--\\./ +_\-._.\| +|__.\|._ +._\/||.* +===================== +15x15 Lawn: 83 flowers +_\|\*\_|\\._.-\ +|_\-//.|..-|||. +_\\|*..*_-/-*|- +\\\_/*..-.|/-*\ +._\|//_|\||.-|. +*..||\.\|||*||- +//*____*\\_|\\- +_._/__\|./-.__/ +||\//.|//__./_\ +\*|.-_|..|---.- +//._\//*-\/|*|- +|*_/*_*--.|-*|* +._/_*_||._-/_-| +-_*\__\\|*\-//| +.|/.*-./..-\/*- \ No newline at end of file diff --git a/Programming/Dawn's Lawn/dawn2.txt b/Programming/Dawn's Lawn/dawn2.txt new file mode 100644 index 0000000..470f3f5 --- /dev/null +++ b/Programming/Dawn's Lawn/dawn2.txt @@ -0,0 +1,20 @@ +\|*/|_|.-_\\|.|_.-// +/-\_.--.|-_._\.-|/*- +\\-|..-*-/__*--/.\*- +_/\|.*.---___***_/\. +_-|.\\././_/|.-|_\// +_-*.\..**/|/**.\_./- +|-*|*.-_-////.|**-|- +*\|*_-|_\-|__\_.*.-| +.*///*.*/*\_-\..*-** +*/_\-\.//--/||\\/_|_ +*.**/--/**///./\\/-| +/|.\-..*-./\..-|\.|| +|\/\__|./*_-\|-/_*_\ +.|///*-/\-/|*/*||*-* +.\.|\/.*/--*.|\--\/\ +/_/|_|_---\_\_.***.- +|-.._.-*\|*_\/_|_\/* +.\.|\|//_-|.*-*|\*|* +_\/-|-_*\-\|-/-/-*.- +-_..\_\_*\\-*__..*/- \ No newline at end of file diff --git a/Programming/Is it the Flag_ (JAVA)/Flag.py b/Programming/Is it the Flag_ (JAVA)/Flag.py new file mode 100644 index 0000000..c5165f9 --- /dev/null +++ b/Programming/Is it the Flag_ (JAVA)/Flag.py @@ -0,0 +1,65 @@ +import sys + +def java_string_hashcode(s): # The hashCode function in java. + h = 0 + for c in s: + h = (31 * h + ord(c)) & 0xFFFFFFFF + return ((h + 0x80000000) & 0xFFFFFFFF) - 0x80000000 + +def isFlag(str): + return java_string_hashcode(str) == 1471587914 and java_string_hashcode(str.lower) == 1472541258 # The function from the CTF. + +def main(): + sum=0 + max1 = pow(31, 4) * 122 # Max option of alphanumeric characters. + min1 = pow(31, 4) * 48 # Min option of alphanumeric characters. + max2 = pow(31, 3) * 122 + min2 = pow(31, 3) * 48 + max3 = pow(31, 2) * 122 + min3 = pow(31, 2) * 48 + max4 = pow(31, 1) * 122 + min4 = pow(31, 1) * 48 + max5 = 122 + min5 = 48 + list=[] # Make a list of alphanumeric characters. + for i in range (48,58): + list.append(i) + for i in range (65,91): + list.append(i) + for i in range(97, 123): + list.append(i) + + for i0 in list: + x0 = pow(31, 5) * i0 + if (x0 + max1 + max2 + max3 + max4 + max5 >= 1471587914 and x0 + min1 + min2 + min3 + min4 + min5 <= 1472541258): + print("flag[0] =", i0) + + for i1 in list: + x1 = pow(31, 4) * i1 + if (x0 + x1 + max2 + max3 + max4 + max5 >= 1471587914 and x0 + x1 + min2 + min3 + min4 + min5 <= 1472541258): + print("flag[1] = ", i1) + + for i2 in list: + x2 = pow(31, 3) * i2 + if (x0 + x1 + x2 + max3 + max4 + max5 >= 1471587914 and x0 + x1 + x2 + min3 + min4 + min5 <= 1472541258): + print("flag[2] = ", i2) + + for i3 in list: + x3 = pow(31, 2) * i3 + if (x0 + x1 + x2 + x3 + max4 + max5 >= 1471587914 and x0 + x1 + x2 + x3 + min4 + min5 <= 1472541258): + print("flag[3] = ", i3) + + for i4 in list: + x4 = pow(31, 1) * i4 + if (x0 + x1 + x2 + x3 + x4 + max5 >= 1471587914 and x0 + x1 + x2 + x3 + x4 + min5 <= 1472541258): + print("flag[4] = ", i4) + + for i5 in list: + x5 = i5 + if (x0 + x1 + x2 + x3 + x4 + x5 == 1471587914 ): + flag = "" + flag += chr(i0) + chr(i1) + chr(i2) + chr(i3) + chr(i4) + chr(i5) + if(java_string_hashcode(flag.lower())==1472541258): # Check for the lowercase condition. + print("The flag is:", flag) + sys.exit() +main() diff --git a/Programming/Is it the Flag_ (JAVA)/IsItTheFlag.java b/Programming/Is it the Flag_ (JAVA)/IsItTheFlag.java new file mode 100644 index 0000000..6fd6530 --- /dev/null +++ b/Programming/Is it the Flag_ (JAVA)/IsItTheFlag.java @@ -0,0 +1,17 @@ +public class IsItTheFlag { + +public static boolean isFlag(String str) { + return str.hashCode() == 1471587914 && str.toLowerCase().hashCode() == 1472541258; +} + +public static void main(String[] args) { + +String flag = "------"; + +if (isFlag(flag)) + System.out.println("You found it!"); +else + System.out.println("Try again :("); + + } +} \ No newline at end of file diff --git a/Programming/Is it the Flag_ (JAVA)/README.md b/Programming/Is it the Flag_ (JAVA)/README.md new file mode 100644 index 0000000..24c4f52 --- /dev/null +++ b/Programming/Is it the Flag_ (JAVA)/README.md @@ -0,0 +1,127 @@ +## Is it the Flag? (JAVA) +The main idea finding the flag using JAVA knowledge and better Mathematical skills than Bruteforce. + + +#### Step-1: +After we download `IsItTheFlag.java`, we see the contents as follows: + +``` +public class IsItTheFlag { + +public static boolean isFlag(String str) { + return str.hashCode() == 1471587914 && str.toLowerCase().hashCode() == 1472541258; +} + +public static void main(String[] args) { + +String flag = "------"; + +if (isFlag(flag)) + System.out.println("You found it!"); +else + System.out.println("Try again :("); + + } +} +``` + +#### Step-2: +We see that program is quite simple, except the hashCode function of JAVA. If you don't have idea on it, please refer to following link: + +https://howtodoinjava.com/java/string/string-hashcode-method/ + + +#### Step-4: + +We know that `flag.hashCode() == 1471587914`, so let's check from the start. +Our option for each letter is : list=[alphanumeric](0-9 A-Z a-z). + +#### Step-5: + +So let us assume that the first letter is '0' , this mean that we need to ensure 2 things: +- Sum this letters with all the next letter at maximum value (**122**) , the hashcode of the flag will be + `>= 1471587914`. + + By that we can play with the next characters and to the same algorithm we just did. +Because if this smaller than 1471587914. No matter what will be the next letter this will not be equal to 1471587914. + +- Sum this letters with all the next letter at **minimum** value (48) , the hashcode of the flag will be + `<= 1472541258`. + + By that we can play with the next characters and to the same algorithm we just did. +Because if this bigger than 1472541258 , No matter what will be the next letter this will not be equal to 1472541258. + +#### Step-6: +Hence by executing the following `Flag.py` script by `python3 Flag.py`yields us the flag. + +``` +import sys + +def java_string_hashcode(s): # The hashCode function in java. + h = 0 + for c in s: + h = (31 * h + ord(c)) & 0xFFFFFFFF + return ((h + 0x80000000) & 0xFFFFFFFF) - 0x80000000 + +def isFlag(str): + return java_string_hashcode(str) == 1471587914 and java_string_hashcode(str.lower) == 1472541258 # The function from the CTF. + +def main(): + sum=0 + max1 = pow(31, 4) * 122 # Max option of alphanumeric characters. + min1 = pow(31, 4) * 48 # Min option of alphanumeric characters. + max2 = pow(31, 3) * 122 + min2 = pow(31, 3) * 48 + max3 = pow(31, 2) * 122 + min3 = pow(31, 2) * 48 + max4 = pow(31, 1) * 122 + min4 = pow(31, 1) * 48 + max5 = 122 + min5 = 48 + list=[] # Make a list of alphanumeric characters. + for i in range (48,58): + list.append(i) + for i in range (65,91): + list.append(i) + for i in range(97, 123): + list.append(i) + + for i0 in list: + x0 = pow(31, 5) * i0 + if (x0 + max1 + max2 + max3 + max4 + max5 >= 1471587914 and x0 + min1 + min2 + min3 + min4 + min5 <= 1472541258): + print("flag[0] =", i0) + + for i1 in list: + x1 = pow(31, 4) * i1 + if (x0 + x1 + max2 + max3 + max4 + max5 >= 1471587914 and x0 + x1 + min2 + min3 + min4 + min5 <= 1472541258): + print("flag[1] = ", i1) + + for i2 in list: + x2 = pow(31, 3) * i2 + if (x0 + x1 + x2 + max3 + max4 + max5 >= 1471587914 and x0 + x1 + x2 + min3 + min4 + min5 <= 1472541258): + print("flag[2] = ", i2) + + for i3 in list: + x3 = pow(31, 2) * i3 + if (x0 + x1 + x2 + x3 + max4 + max5 >= 1471587914 and x0 + x1 + x2 + x3 + min4 + min5 <= 1472541258): + print("flag[3] = ", i3) + + for i4 in list: + x4 = pow(31, 1) * i4 + if (x0 + x1 + x2 + x3 + x4 + max5 >= 1471587914 and x0 + x1 + x2 + x3 + x4 + min5 <= 1472541258): + print("flag[4] = ", i4) + + for i5 in list: + x5 = i5 + if (x0 + x1 + x2 + x3 + x4 + x5 == 1471587914 ): + flag = "" + flag += chr(i0) + chr(i1) + chr(i2) + chr(i3) + chr(i4) + chr(i5) + if(java_string_hashcode(flag.lower())==1472541258): # Check for the lowercase condition. + print("The flag is:", flag) + sys.exit() +main() +``` + +#### Step-7: +Finally the flag becomes: +`CTFlearn{0gHzxY}` \ No newline at end of file diff --git a/Programming/Simple Programming/Flag.py b/Programming/Simple Programming/Flag.py new file mode 100644 index 0000000..5ec722d --- /dev/null +++ b/Programming/Simple Programming/Flag.py @@ -0,0 +1,16 @@ +count = 0 + +file = 'data.dat' + +with open(file) as f: + l = f.readlines() + for line in l: + zero = line.count('0') + one = line.count('1') + '''the condition where the number of '0' is divisible by 3 + OR the number of '1' is divisible by 2''' + if (zero%3 == 0) or (one%2 == 0): + count = count + 1 + +print("Number of lines: " + str(count)) +f.close() diff --git a/Programming/Simple Programming/README.md b/Programming/Simple Programming/README.md new file mode 100644 index 0000000..d1d1813 --- /dev/null +++ b/Programming/Simple Programming/README.md @@ -0,0 +1,37 @@ +## Simple Programming +The main idea finding the flag is some simple counting in a file. + +#### Step-1: +After we download `data.dat` from the cloud, we understand that it is has 10,000 lines. So we definitely need to write up a script to get answer. + +#### Step-2: +So I quickly drafted up `Flag.py` script to get number of such lines: + +``` +count = 0 + +file = 'data.dat' + +with open(file) as f: + l = f.readlines() + for line in l: + zero = line.count('0') + one = line.count('1') + '''the condition where the number of '0' is divisible by 3 + OR the number of '1' is divisible by 2''' + if (zero%3 == 0) or (one%2 == 0): + count = count + 1 + +print("Number of lines: " + str(count)) +f.close() +``` + +#### Step-3: +When we execute this script by `python3 Flag.py`, we get the flag. + +Output: +`Number of lines: 6662` + +#### Step-4: +Finally the flag becomes: +`CTFlearn{6662}` \ No newline at end of file diff --git a/Programming/Simple Programming/data.dat b/Programming/Simple Programming/data.dat new file mode 100644 index 0000000..231c8a4 --- /dev/null +++ b/Programming/Simple Programming/data.dat @@ -0,0 +1,10000 @@ +0001100000101010100 +110101000001111 +101100011001110111 +0111111010100 +1010111111100011 +1110011110010110 +11100101010110111 +10101101011 +1111011101001 +0001110001 +001111000111 +0010110110010 +1011110001001010010 +11110111111011110 +11000010111010 +11111000010010 +1010001101101101 +01000101011010001 +11000111011011 +1110110010101110110 +101000101000 +0101111001 +1110011110111010 +1000101011100111 +0001100000100 +11100001111 +010000010001001110 +1110010011110100 +10101110011 +100101111110000100 +1100010011000110001 +11000010001010010000 +10100111110 +0011010110010110110 +000111110111110 +100100001001110 +11000111110 +000100000011111 +1011100100111111000 +110100101111 +111011001111000001 +11001001100000110010 +110000010000 +1100101100100 +10111010100101 +10101001001 +0100101000101011 +01000111010010 +00100010100100 +0111100001110011110 +11111101011101 +111011100100110 +0101100101000110110 +0011100001001 +1001111110010 +001111001110111111 +1101110101011011 +010100011000101111 +010001001110100 +0111101011001 +100001000011001001 +0111110110 +010001111101110 +001000011001001 +11001000000100100010 +11110110001111101 +11001111011110111 +11000011000 +111111000100010101 +0000010000000110 +11111101011111010 +101111110000 +00000010011111100000 +10100111011 +110101101010000 +1001000011 +1001011101101110001 +10101101111 +000000000000010000 +0100011010111100 +1001101100 +01110010111 +100111101010 +100100111011 +0011100000011110 +01110010111011110 +1101011110010011 +001101000110 +10111011010110 +01101011110011010 +000100100000 +000110111110100 +11011011111111010 +01001001001 +1010010110001011 +010110100011001 +11010111011 +1011000111111 +010000110010001000 +1001100111010 +100001010110 +00001000010100 +010010010100 +11101111100001000011 +0000000001000101 +101100100111 +0001010111111001010 +10010010101101110 +00001001001101001110 +01100011111111000101 +01010100101101 +01101001111111011 +01111101110011011 +0101010110100101100 +11111101000010111 +0101010110101111011 +10011000100111100 +101000000010001 +11111110100010011 +1001110001 +01110110111 +011011101101 +11111110011 +1100011110010110 +111110110010110010 +11011011010011 +0110101010001 +00010001101000000010 +01010100011010100 +01010111011111011 +110110010001 +001010111010110 +00110110011110010 +111010010011 +1110011001110 +11101000011100100 +10111011010000101111 +1110011100 +11110110100011010 +00110010000111000111 +11010001101110100111 +10000100011011001001 +011000011011011100 +00110100011000000 +10010111010001 +1101101000000000 +01110111000111111011 +01101011111110 +0100110011 +001111100001101 +0101000011 +01111110000100000001 +1010101110011 +100110101011111011 +11000001111111000101 +11100000111 +100100111000 +0001000111100110 +1011000011000101111 +110000010111 +1010110100001011011 +011100110110100 +1100101000101000110 +00011000101110 +11101111111110000011 +10010011001100 +1001100101100000 +101010110000011111 +01101001110010 +0011110101001011100 +100101111001010010 +001110000111100010 +1000001110110 +110101000001000111 +1110111010 +11101111011000100011 +00110011111001 +010001011111 +100001000111 +11001110110101001101 +1010111111011010111 +010110110110 +00011101010111101110 +1111001010001 +0001010001000 +1000000100010100000 +0000110010 +001101101000110110 +00110101000110 +1111000011001111011 +1000110010100100 +001001010011010100 +00100000111 +0101001111101000001 +11110011111 +1010101100011000 +1010101000011100110 +1100110100000011100 +1111011100 +00110100001001 +1001001111 +0101100010100111000 +0001000000011011 +010000010101 +1011101100 +01011110110110 +001001101000100 +0100101000100000111 +110001101011011 +1011101110010 +0010000110011011101 +111010111010 +001110110111 +0111011110111 +00110101001101111 +110011101111 +01000100100 +0101001000101001000 +0000100110001110010 +1100110100100 +1010010101101111 +0101111101110001010 +00010001111 +1001100111001 +1110001101001000 +000111010110101 +10110001000100 +01011001111100111111 +100011110010101 +01011100001 +100010101011 +10100110100 +00111100111001001110 +00011001000000 +01011111110110001001 +100000011100 +10011010001 +00111011110 +00000011011001 +0100101000100 +0010110100110111 +00010101011111001 +00100000100111 +10111101011 +0100101011111010000 +1110000011111011 +101100101111 +0011001111 +01001100111101011 +0110101001111 +000011011110011 +110000010010000001 +11001110000011110011 +0010001111 +01011001101110110001 +0110111001 +10001110001111101 +0000101000010000 +10111110101100111 +0110010101101 +1011001001 +01111000100000100 +011010001110010110 +1101111111101010011 +00100011010010 +0001000101100 +00110001010 +1100001001100 +010000010100110 +01110110000101 +0111110000100100101 +10100101011 +1001011001010 +111101111110111100 +00111011000110000110 +110001110101100000 +10110101000001 +1010101101 +111010000011111 +11100110011011100000 +0100111101100011111 +0000010100 +11101011010001111000 +001011110101111 +1101001011 +11010110000011010010 +1101111100010011 +1000111111110110110 +1010011111000000000 +10101100000010000 +00110111000001 +000110010100000110 +110001111111010011 +011011111111 +0000001101100000 +10100100111 +001000110110 +000101000110100 +1000011110100100 +001110111001011111 +10111010011101111111 +001010000101 +0101001001100011101 +00100001100010 +0001111011 +111011110000101111 +00111100011110 +111101010111 +1011011100 +1111001110110101 +01100000011010110 +011100000001 +01101100100111 +00111111100 +01111101000 +0010100100100000 +0011001001 +101000101011 +0110011011001010001 +1001001111010111 +11011111100 +1001000001011101010 +01111010111 +00100010011111011 +1000010101001000100 +1001101100001001001 +0010110011 +01010111011010 +000100001101001011 +001011111101011 +001011011110 +11011101101 +00001111001 +0000011000000011 +0100011111 +110110111100010 +1110100011100010 +10011110011111 +00111111101101011000 +01101101100011110 +1111110101000 +0100001101010011110 +10100000000010 +110101101110 +11101011001100000111 +110101110110001 +111000110100000 +01010111001000 +100011100000010110 +10111101000011101001 +10010010011 +100001111111010 +1101111000 +1010011111 +001101101001010100 +110011100101111 +010111111000010011 +10010010011101111110 +00110100001011 +00110010011110101111 +11010000001011 +00010011101000000110 +001011111111011000 +01111110101010011111 +10110010010100011111 +111111010011010101 +1000111011110000 +00110110100001011111 +011110111010010000 +011110110101110 +00000010101 +0101011110100100000 +00110010100101011 +1011101011101011111 +1010010000 +11101101100 +010101101001000001 +10000100100011001 +0010001011001101111 +11100010110111 +001100000111100111 +1100100111 +000110101111000101 +1111100100101001111 +0101101001000 +01101001000100 +011100100010000001 +0011011010100 +1101111101 +010101001001010 +11101110010001 +1011101001 +00011110110110101101 +00100101000 +10111100101110011 +11111110001001111 +000010000110011000 +1111100010100 +001110111111110010 +00101000011110010110 +11111101011 +0110011010110 +00100001010 +100011010110001110 +01000101101 +1100101010 +0001111110011 +101100000110000 +11101001110 +101111111010001001 +0011111101 +0011110100110010011 +0001100101010 +1101000110010011 +0000011010010001 +10001100110010110110 +100100111101 +001100011001 +0110101011001 +0111000100110 +11001000111111111111 +1000110011010110101 +11000110000010111 +000010110001 +1110000100010010011 +01010100001110010 +11110111010010111010 +11000110100100101 +00101000010001111100 +1100101011010111 +1011110111 +1101001011111 +0100000000001 +01111000001100011 +10100101110101010 +111101111110000 +100101100001001110 +10010100111 +000000010101111001 +110111111011111001 +0111111000111110 +000010101101 +001110010001110000 +1001001000011111 +1001001000000 +1000110101000010 +110001011001100 +10000000001100 +01000001000111110 +101011000111000 +01010011010100001010 +101011110101010010 +011000011101 +11111001110011 +00101011011101 +0001000010110110 +0100101000010101110 +00110011101001 +011101111100011 +1011100011110 +10001010010 +00001100100011001100 +001010110001111 +10111011000111101 +1000011001 +01010010011011000010 +11100110010110010 +01000010110100 +110110101111011010 +1010001000110010101 +011101111000001 +11011010001111100011 +11101111011001101101 +10010010100011110 +011011010010101 +01010111100 +110011111110010 +01100100101101010 +00100001101101110 +1111110011 +110101011110010011 +1101111010011100011 +10110111100 +000111101001110 +1011100111 +11110011110 +11100001000011 +00100111110001 +0000011010010011 +0100001001100010111 +0011011101001 +0110101110 +01111111001111000011 +00110111001001 +0111011110011001111 +1011110110 +00001011001000 +0110111100 +010001001001000 +011101001100011 +01100011000 +0011000110111 +1010110110 +0100101010000000110 +11111000101101010 +001000001010101 +00111111110 +001000000100110010 +01011001110010011 +1000100010100 +11001011101101001001 +01110101010110 +100101001011110101 +11101010010100 +1100100111001111 +1000001000011010 +0010111110001111 +1100101111001 +111001101101 +11000000111001 +0001000010 +001110100100110 +100001011100 +1001110000000110 +10000110001 +0111010110011 +110001000110010000 +000111000111100001 +101000100011 +0011111000101111011 +01000011010000 +1001010111110001 +111010000001001111 +00010000001011111 +0101000001111101 +0100010011100010011 +0000000000 +10010100100010101100 +000010000001 +10000001000110010101 +10000011011 +111010111100001 +01000010110000011111 +1010111000000110011 +00101001000011101001 +1010110001001000 +001101101010010 +01000001011 +1100001101000 +00110000100 +10101000001 +101010100110 +11100010010011 +10110011110110 +10100101100111000110 +01011001110011110010 +1110100000 +1011100011111 +11100100000111100001 +1110000010101011 +1100101000111101011 +0001110010111000 +01101000011001000100 +11000111010101 +01000110000 +1100001011001111 +11101101101111111 +001101001111011 +111101110000110000 +111111110100 +1010011111 +1010110010011100101 +1110101110001111 +1111001111000001100 +101000101001 +100110010100111 +1110101001000011001 +1001011011100000 +111100011100001000 +111010101111 +110100010011001100 +11001101111010011 +0010000001 +101101010111 +000111000110011 +1101100101 +010111111000110 +10000100110 +011101000100010000 +00101110000 +000011110001 +01111101110101100000 +011101111110010101 +0100001101100111110 +010111001110011001 +000111111111101001 +00100110100 +11110110101110100 +00011010111001 +001000010001000100 +1111111100101000 +110001111010000 +00110100010 +00001000101100001010 +111111110000 +0010101010 +001000010001 +00011111100 +111000110101 +01101000011 +1000011111000 +10110001011000001 +10010010100001000001 +11010011001100011101 +1000000001 +0010100111010 +11100000000101000101 +1110111011 +101000110010101 +0000101011010 +00111110011 +101010011100100000 +0111001010101 +0000010010 +0110110111 +10001001101 +100011010101111 +00100001011110010 +000101101100100100 +0001001001010 +001111001111110010 +100010101101 +1111100000001010110 +10010010000011 +00000110011000 +01010111001 +100100010101110 +1110101101 +010111011111100001 +0000100110 +010001110111101110 +011001010010111110 +1100000011 +01000011000001011100 +0110001010100101 +1110001101011011 +110101101010001011 +010001101111110001 +000011100101011111 +1110010100 +1100100111111 +100011011011000101 +01101111110010100 +01111000000011 +11010010001010 +0110010101 +110010101010 +0100111011 +00101100011 +0100010111 +01110011100010011111 +0000000011001001100 +1010101010100 +110111110001111010 +10111111101100 +1100011101110 +0111100110 +0010101101 +1111110011101101 +00101010101011 +010111110100 +0000101010 +0101111110 +10111011111 +00111011001 +1011111111 +001100111100110111 +11010001111 +00010011111001 +0101000001100 +01011001101101 +01100111011 +10110011001001010 +000011111100011 +000010011010 +11100101001011110 +11101101111011000010 +10111000110001011000 +1000110011001 +10000000101 +0110010111 +01001101011111000 +111011110011010 +100100010111111010 +0100001100100000 +10111100010111001 +11101011000111 +001110000000001 +0001010100101011 +1000010010 +11100011010101011 +011110011000 +111110111101100 +101001011011010 +111010011010101011 +110001101010011010 +0100010111100 +0100101010101 +1001111011100110001 +0001100000100000 +00001110010101001111 +111101000110 +1001010010 +0101101011 +110011111100 +1011111100001 +101111111001 +101100001100 +000001101001 +100110000010 +1001101101101000100 +0000101100101001 +001101101110010111 +00011111110 +10110000000100 +0111100111 +0111110110001100 +01111100100001110011 +0001000010001101111 +10010010111001110 +10010000010100 +1110001011101101 +1101001010010 +001001101001 +0100100010011 +01110110111110100 +10001001110 +001000100100000001 +01111101100001 +1111110011011111 +100101111000100 +01010010110100010 +101111111101100 +110100001110 +1011111001 +10111011010 +1011111100001010 +00000011000100111 +111111111110 +001001010111011101 +0111110011001111011 +111110010101 +0111011110000 +1000110111011011001 +0110001100001001101 +1101010000 +111111001110001011 +01111100000111 +110101100001001 +000101000011 +11111110101101011 +10000111000001 +0110000111101001 +01110111100100101001 +1001000001110111 +01101111111101101 +101000101100011100 +011001000100 +0110110100101111001 +000010101100000001 +011011010110 +0100110011010010 +010111100101101 +100010110010 +0011001111 +10001100110001 +11111000001110101 +01111010010 +0000011000111001001 +00011101011111110 +0010100101101 +010011011111110 +1100100101000111010 +0111011101001 +010000000110001 +0100010000010110 +00101011101100 +0001101010110001 +0110000101010101001 +001010110010100011 +0000100111101 +0101110101111111 +000001011101101110 +01000111110011101 +1101011111100111100 +10001110100000110010 +11101010010010001110 +1111011101000010100 +10001010100110110111 +0000010100 +00101011110101100011 +1101100101110000 +01001110100 +0011100001111100 +11111101110110 +0000011100010110011 +0011001000 +00001101111101110 +10110110101100 +10111011100011001 +1011011101000000 +1100101010101100100 +00000111111011011 +011101100110 +01100100000 +111100000111001001 +111111000100 +101010100000000010 +1000110110111100 +11110100000010010 +10000011101011 +010101001101100011 +0000100110011 +011010011110100111 +00011100101010 +1011100111010101100 +0110010101 +100111110100 +000001011101 +11110100111 +011100100111 +01000100101010010 +1010101101101011110 +111011011010001110 +11100001110100 +010111101000101 +001101001100011111 +00000110111 +110111000010110 +01010010100011010 +01000100011 +1010010001 +11000001101101 +01011011110011111100 +0011011011100000 +000111101011 +0100100000110 +0011011000011001 +10001011111111 +011011110010101000 +110101001111 +1100010011011 +0111111101 +1011011011 +111011110010100 +10010100001011 +01110000110101110111 +001000010110000001 +001100101101 +1011111110110000110 +1110101011110 +11001001100111010010 +000100111111 +0001110110101010011 +10000010010000 +10000111001111001 +10110110011 +01011110111101 +0010001101000111100 +0111010100110100101 +1111011001010101 +00000001000101001011 +00101101110010 +111000011101 +011110001100000010 +01110111100 +001110111111010 +110011001011110111 +110010001011000 +10000000100 +0010000010000110000 +01011010110 +01110001010110100 +11110110101111001 +110010110111011 +01111001101110000 +00000100010100101 +010000101111 +1100111010 +0011100001110101110 +0101010010110 +1000010110100100000 +000010011001 +0010000111110011101 +01000101001011000011 +100010000000001111 +001110001110 +000110101000110 +10011110101101111 +01110000011111010 +011000100100011001 +110001111100111 +10010100100011 +10101010101100001010 +10111000011000111011 +0111000110 +1011110100011 +0001110100 +0011111000011110 +1100111011101010000 +00000111100100 +10110011101000 +0001100011011001 +10111101101101010010 +1001010100101111 +001110000001011 +011001011011011001 +10100111100111111110 +11001111100 +1011000010001 +0100110001 +1111011011010111011 +011100101110110 +10100000110000111110 +11110011111110001100 +0001101010 +0000111111101 +000011010011000110 +11001010010010 +0110101001100000101 +0101000111001 +100010000101000001 +011001111000101 +00010111001000111 +00001100110111100 +01011101100110111000 +10111101001010 +1111101000111101110 +011011111101 +10011111011111110001 +11001010110 +0011010100 +01111100001000001011 +10000000111101000101 +110010001001000011 +00101100000 +100011101001 +001100101100 +1100000001 +1100010100 +11101010010011010 +1110101011 +11111011110 +001101001011010 +011010101101101 +0100101000 +01110100010000110000 +11001011111111101001 +0001110111 +1000100110100011010 +11111111101110111100 +11010111001 +10110100000111011110 +01100011110001010 +10100011101 +1100011000 +1001001111010 +00101000101000 +10010001011110 +01110010111100 +1011110100 +1110000101011100 +00001100101101100001 +000010011101010110 +11111100011010110111 +0011011001001011 +0001001000100 +0001100000111110 +01110110111110101 +0010110000111111 +001110001010100100 +11111101101 +11010111110110 +111101110111 +00111001011 +01001011111000011000 +1010001101110 +00110010000010111111 +000011010101011100 +0010100001011100000 +00100111101010000 +001010111100010 +00101010001101100110 +11110101010000 +0110010111 +111000000000110 +11110010011110 +01001001111010 +10111001100 +110011011110 +101100010000 +1010100110000111111 +11101111101000 +1000000101010001110 +01110100011 +1010011001010 +0100011101 +101111011101 +1000110101101 +1101000101 +0100111000010 +0011111001110011101 +1101001010011110000 +100110010011011111 +1001101100111101110 +01101101110101010 +10110101111111 +1011101001000000 +00000010111011110110 +101111111101000 +110000010110 +11101010110110 +01000001111100 +0111011111 +1100011110 +1001001001000000 +00100011111111101 +0100100000000110 +0001010111001000111 +10100000101100001 +100001000111 +0100000011010111100 +0101100111 +010111111010010111 +1101001011010 +101101000000111 +101001100001001 +101110001110 +111110111000000 +1111001000 +00101110111010010 +10101101110000 +110011110101101 +10001111111110 +101010111111 +11000101101001 +001100010100 +0001100001 +1101000101 +111111101011 +10010111111011 +11111010010100100 +00010101111010001 +0100110010 +10000110001110010011 +0011011101 +010101010010 +1000010111110 +11000111100 +0011001000111000 +011001101101101 +1011010101001101110 +01101111011110011 +1111000001 +0111101010 +0111111011 +01110100111000100010 +001010110001010 +1111110010010 +1011110000001110001 +1011011001000 +101111100010 +01110110000001 +000010111010001101 +000100100100 +01010000010100 +10010101001011000010 +00101111100101100011 +000110110110111 +10111111001001100 +00010010110100100010 +11111110001010010 +000011001110100 +1001010000011 +0101110011011100111 +01100101111010 +01001110100 +01010011011 +1100010010011000 +1001100111101 +111101010011 +0010100000 +0000110001011011110 +0010011010 +011101000111100111 +10101101110101100 +10011110000110001 +0010010100 +1100101010001101011 +10001111100000110011 +00001011001110 +000011011100110100 +1110010110101001101 +11101110011001 +1000011111001 +00000111100 +011110010000101001 +001111001111 +01010101000010111 +10000010110101000111 +10010011011100 +01011101000101 +1000000111 +001101001001010 +1010001110 +01101110000010000 +00011010100000101 +10110001101 +000110010101 +0111000101 +111001110110011 +11101111101100001000 +1010100111 +110011100010110111 +011001101010010 +0101000011010 +01101011111010 +10101000000011011 +00010011110001110 +1000001001 +0101100001110100101 +1001101110011111 +001001011000000001 +101000101110 +00111000000011 +0100101010001 +11110001010 +011010101110 +001101010000 +011110010111 +00011110011011010 +0100011100001000 +111100100010000101 +110101011011111 +110110001100101 +001111111011 +11010110100 +11011111000100011011 +11110000000 +11111001011110111 +0110011001101000110 +010101010111001111 +10100010001000100 +1010101001011100111 +1111000010011 +11011100110110 +10001110110110000 +10100000111 +11001010000 +01101101110010 +111001010101011 +0100100001110001 +001111111000101 +10010100110 +101001000100010010 +1000111100101100010 +0011100011 +11101000011111 +101111111101 +011000010100 +00101111000011 +100010100111 +0001000011001110101 +11110101101010 +0011011011110 +0001000111 +0110010010001100011 +10110010101011011010 +1011010101000111 +1100100111 +1011101100111011 +100001010111100110 +0110111011 +1001001010110101001 +110000010100 +00101000110 +11001100010010000 +10100111101 +0101111000111 +01110001111011 +011000110111010111 +011111110001010100 +1011100010101110 +00011110010100 +10001110100011110 +0001001101000111001 +010101110000011100 +111001010100101000 +010101101101 +000000111101 +0100100010000 +000011000000000000 +11101110000 +01011010001001 +0100111010 +1101110000 +100001010110 +00110111011101 +111001011010101 +000001101111000 +110110100000111011 +1110010001101101001 +11110110111101100 +11110111000101 +10100011010010000 +11011010111010100000 +11110001111010000 +100010001001 +1110101100001 +100111101101000 +011100010010 +1000101101 +10111110101100010 +11011000011100000110 +0110001101101001 +0001001110 +01100001111101 +01010101100000100110 +000101010110100011 +101001110000001 +10100110001 +10100111001111010001 +010100001110 +0110011100000 +00100111110 +00100001100 +00100110110001 +001101110111 +001011110101100 +010101101011 +00010000000000 +101011011111 +000011010101000010 +1110010001001011 +110110010111 +0101010011000 +00101000001100110010 +0001011101 +0101010000101000 +111111001001 +1011111011 +01001110110 +0101011010 +0010001001011100 +1010000100011011001 +000011111000011 +11110111110110111 +11111101111 +0111111000 +1111001001011110011 +11001011111100 +100110110001100110 +1110100001 +1010100010 +00001011001010 +0111010001010011 +11010100110001111011 +0000010101111100 +1010001110 +100010101111000 +000000101101 +00001011010011000101 +1001111100110010 +100011101011101101 +111010101010010011 +1010101100001 +0111100110 +0111001101110 +110111100000110000 +0010100110111 +0101101001111001111 +01100111100 +1001101000010000 +00110110010110101110 +10011110101101001101 +00100101100011000 +110011000101 +10001010000101 +011011011101 +010010100001 +0010000010101 +010111101101101000 +000011010101 +111010100111111 +1011110001010001111 +111011000001001111 +10110011100011001 +1101000101 +111101010100000111 +0111100000001111 +10011010010001 +00100000000111 +11001100011001100 +00010100010000010 +00101001110010 +0001010001010 +11001001010 +101100100000 +010011111110110 +00011100011 +0110100100100100111 +0110100000 +00001101111000100000 +011001000111 +1100110110101 +11101110101111111 +11000111000 +001001011100100001 +1100000001010 +10011010000110 +10000001001 +00100000110010101101 +101111010101011010 +1010101110 +01010100001100100100 +110000010101001001 +1001100110 +11011111000011010 +1000111101 +11010001100010111 +0101100000001 +110010100101 +01110101001 +0010110110100001 +001010011010100100 +1100001011011010 +1111100110101 +11000010010001111 +001010101100001111 +1011110001010111 +1011000101110100 +11100001100110110000 +0111000001111 +1000111101101011 +1000100000111001111 +101011111010100101 +1000111000011100 +011110001101110 +11101110011000110 +11001010011100001 +1010101000110 +00000001101 +01010010001010 +001101111111 +11100110110001 +10100001111 +00111010010 +0101111011001010 +0101101111011010110 +01100011111010 +1000110000 +11000011101010 +01100100010 +01010110101011 +01110100000001110100 +00101010110011101001 +100001000100001101 +1010000011101101110 +00010000010100 +01000001101011101 +100101000100000001 +10011011100001 +000110101001100100 +0101110100 +111001001111 +010011011110011100 +10111011110110 +1111101110001 +11111010100 +11110011110111111 +010101110010 +00011111001110 +011100100010 +1001010001101011 +11000111000010101010 +0101011010100 +11101000000010001 +1110101001110111111 +1111100111000011011 +00110010001000011100 +1010010111101 +11010001011011 +0100100000000101 +1010001000110000111 +00011100110 +11110001000001111 +0001111100100001010 +0001110111110000111 +0010111010 +100111000110000110 +01111101000 +0111000001111100111 +0101000010011011101 +1000101110000 +1000110000101010 +11010101100010 +0001001000 +11100111010011 +01000100011101111111 +001111000110001011 +1100011010101 +101000011110111 +101101110111001 +01101010001010011 +0000000010000 +100011001110001000 +1011101101101 +111101111101000 +10101001000011000001 +001111010001010 +10110011001001 +0101101100011110 +1010101110110011110 +1110110010110 +0101010001001011001 +00000100000111 +01110111101101011101 +01000111001010111101 +11100010000 +10000110011101010111 +10100100101101011101 +0010000010110111001 +01110001101 +1101000000110110001 +1011001010100 +0101001101110101 +110110100000011011 +10110101110 +11101101010011011 +1100001000 +0111001001000100110 +011100001100101000 +01010001101111 +111110111100 +0100110010110100011 +111101001110 +010011101011 +000011110011111 +1010101010001011100 +0010001001100010 +00101001011111110110 +10001100111001111111 +000100100101011 +111000101100001 +0101111000 +0100000001010000101 +10001001001001 +00000100010 +100001000011010 +0000101011101100100 +0100101100001100 +11110110110011000 +11100001100111 +001010101110000 +01011011010110010 +0110011010001110111 +1011111100011 +10100010010111010 +01110001010 +0010100010 +0101011010010 +1110100010011110 +101111010111011101 +000010101110000010 +011110110011 +011100101011 +01111010110101000 +1100110100010 +100010010101 +11010001001001001 +10000100110101110 +011101110001010 +0111111010100 +10001101100001 +11011111001 +100001100110 +11111011001101001110 +1010101010110001100 +010111110110 +010110100110011 +00000101111000010 +110001110101001 +10011000111100 +10111000101010101010 +1100100011111010100 +11001000011110011 +0011110101010010001 +00110000011110 +00010001001010 +00010011111111 +1110010011001 +000101011011 +00010011001110010 +101111111110101 +0111010000110010000 +00111100001001 +00101010010100100 +11110110001110100 +100011010111101 +110100001010100001 +11000111100 +10101110010111010110 +000011111000001 +11101111110001010 +1000011111001 +100010000001 +11000010010100011100 +0010101000 +11101010100101110 +01000100000011 +111011000011001001 +100011110001001000 +1001010101001000100 +00001000000001111010 +10000011000 +11100011111110010100 +0111111000111 +0101100100000001 +1011100001 +1100011100000 +101000000011 +00011011011101111 +1010001001111100 +100101010001110 +1001011000101010 +01011111110101011 +110101100011000 +11110111000 +11111110110100111001 +1010111111000001011 +011011101011100 +1010000111011011101 +0001001000100000001 +01001101001001111001 +0011101001011 +1100011110 +1001101000110011 +0010100111001010000 +01111100001111011101 +100010101101110011 +110100100110110001 +01000011101100 +00010111100110 +11111100110001010 +1011011111001100 +1111100000001110 +01101011101010000 +0000001001 +00000010111011011100 +10001111100 +110010010111110 +00010000101 +110011111100010 +01011011010 +11110011100101111 +0001001001 +1100010101 +00011100101101010011 +1100011010010110011 +01001001110110 +01111111111011000 +001010110001100 +1010111111011011 +1111000100 +1110110101000111101 +01101100110001001100 +101001010010010 +0101011011100011 +110011011000000011 +111111100010 +110100000111 +00101000000101 +1101010110000001000 +010011110001111 +100100101011 +110010001101101000 +1001101111011 +1100001101 +0101110110011111001 +10000001011000 +001100111100 +00011110111101001110 +10011101111001 +0001101101001001 +10100101110010110101 +10000000011111 +01010100101 +111011111000011101 +010000011110111000 +0011100010011001 +1111011001 +0001100110 +011000111110101 +0100010111000111 +111010110010 +101111000101 +11010011101 +000010111001001100 +10101010010101100 +101010101001001100 +100011000111001 +00100001000111000 +100000000001100011 +1000111010111110 +00001101100111100 +010100001000011010 +10111001011000 +1100110101111101 +0001101010010 +11000100000000101101 +011011101010011 +110000111110 +1001101000000 +110110100111 +011010001001110100 +00111110111000111001 +100101001010000 +11010011001 +000011101010010 +0101100100 +0001001101100 +0001010000011010110 +111000110100 +000010101100 +000100101101000 +0001100011011000 +0100011001011011001 +1111001010000111 +101110111001 +0011000100001010 +10101100011010111111 +10101111000010 +00100010111100101000 +1100110011 +00100100101 +01011110010011 +00111100100101 +1101100000100001 +0111101100100 +10010111100 +1111000001110111 +1101001110101 +00111011100100111110 +110110101000 +011111011110 +111100011000100 +1101100000001010010 +1111001100001 +1010001110100 +101110101100 +1011111100 +101101010110010000 +01000001011000011111 +0101111010000 +11000011010101000 +00110101111 +00101001001 +0011110111011010 +00010010001 +0010000000111 +100100111110101100 +010010001101 +10110111101101001 +100100010011 +0101111100001101101 +00101010100000010 +1001100010000101 +00100001111110 +1100000110000000 +11101111001 +01110000110010011 +11010011110010 +11110000010100100 +11100000100 +010000011000000100 +01000110111101000 +0101011010 +1011110101100001101 +01111000000 +1100000010100010 +01000001001111011 +0100110000000111100 +11110010010110111001 +01100110111010010001 +0101101111001100 +01010010010111 +011010111101 +010100011000 +0110100010011 +00111111001100 +0110011010 +010110111011001111 +1111100110 +100011011000 +110000001100101100 +00111100011011000 +001001000111011000 +00000011001110101 +001110101100 +011101111100 +00110110010 +010010111100 +1101110000101010 +110100000100110000 +100111111111 +000111100111100 +10110111101 +0001000000 +1111001000001 +1010011000011 +00101010010010 +00001010001 +0100010100010110000 +010101001000101 +0101000111 +1111011010010001 +111011010011 +101001110010100 +00010101111 +01000010101010110 +010010110111100000 +11011100001110 +01110111001111 +11011110111101 +11000110100111 +100111000000101 +010010001111 +1011110101010011 +100110001000110 +00101100001 +00100000011100011 +10101010110110111011 +11001000100100011010 +101101011011100 +0110101010110 +101001010000011 +0100110000111100110 +100110011111011 +010111000110001 +1010111101101011 +10000111001101011 +011010011111100001 +111101000001110 +0001010100110010 +00011001100110010010 +00011011011100010111 +01010010001 +10101101000010011 +010100001110110 +0011111100010101 +1111001110 +000111100111 +0001010010 +01000101010011 +001101000101010 +0001011000 +00110111101100011 +10010100110 +10101000100100110 +01011000011 +1010011110010000 +1110101100100 +0010100100011001 +110101110001100100 +00111011000 +000110010100111 +100100101001 +1001000100100001110 +0010001000110110010 +110010110001010001 +1101001110001110 +10110000111010 +0110010110011 +001010111111 +01101001000000001010 +0100001000100 +0010101111110 +011010111111110000 +0110000100110 +0000001010001100 +11101001011100000001 +111110111110101011 +10000110101001 +10100101010010101111 +0110011110110000101 +110010101001110 +1100010010110010 +1101100000010111 +00000011010 +0000101110111111 +00110110001101 +001100110001000100 +1010111010000001 +11110000001110 +1001101100011000110 +00111100011 +010111101010010110 +00110110000110 +001000001011 +0000101010 +1010000010110001 +101110010010 +10001101101 +000000001101100 +1000100101010 +0110000100001110110 +11110011111011111 +110010100111100011 +11111101110011 +1011000100 +011111011001101 +01111110101101000 +10101111100001110110 +0010100110 +10101110011111 +01001100100 +1100110111001 +0001011100100 +011110100111111 +10111111111110100101 +1001110100 +1101100000 +1111110100000 +001001011011 +11111000110000111000 +10100001011100 +001100100011100100 +00011110000110 +0001100111010 +01110111000100 +10100000000011 +1101010111100 +000011110110 +110010100011000 +10000100101010 +11011100001011101110 +00001000111001110011 +1010101011 +1010001010 +11010100000 +000100100001 +100111111011010000 +10001100100010 +10010100111111111 +100000001100110100 +11001100110011011100 +1001000001 +110111001100101 +001110100011001111 +0111001001011111101 +1100000011010000100 +000110100000000101 +0101110000111010010 +101000110111001 +11001011110 +001001111000111011 +0111010010111000011 +00110101110 +1111010010011011 +000001010001101 +00101010010000100101 +0011111010111 +10100001100101 +1000100011110110 +001110111100001 +1110000110001 +111101001001111 +00011000010101 +011101010110000011 +01100000100110 +0110000110 +11100001000 +0011111101 +11101001111111001 +1110111101111110011 +11011011110 +1001001101 +01010010011110010001 +10110111001111 +11110011010100111010 +110111101111010 +011001011100 +01011010010101101 +1100101111 +10000110000100 +00111100110 +0110101000100001111 +11101000000011011101 +011111000010010100 +11101001010 +110010000000110101 +01110110001 +0010010010111 +00000010001 +0101011100 +10100101001001 +0110010000 +11001011111001101 +100000000011001 +11010011110101000 +11011000110011000001 +1010111000110100111 +01100111101101 +00000000101010 +1011111101000010 +0100101100011 +00100101000110100010 +00001100010 +101011010001101000 +00110101001100 +01101100110110 +001100110000 +01000001001100001 +01100000010100 +101001100001111 +1111000010 +01011111101 +00000000000001 +0011111100011 +1000010111110111100 +1111011000001 +111001111100101 +000110100110 +10011011100111110 +1011000111 +0101111010 +0010111010010 +010011010100 +10010110010001010110 +111101011111111000 +01110011010001110 +1100011101001010 +100100101100 +1001100111110011011 +01111001010 +10111111010 +100110100110 +11001101101 +0111010011110011100 +1011011001 +00110010101 +00011000111100100001 +1100010011100 +00001111111011001 +11001110011100 +1011100110 +11100100101011 +10001101000110001100 +0110111010100001 +00010111001010011 +1100011100 +010101101010100 +0000101110110 +1101010000010 +11000000111001 +101100110011110 +00000101111100101000 +11110101101100010 +10101101001 +11000101110001011 +01100110011010011011 +00101110110000001010 +0010011001100 +000001011110 +101010010000 +0110111100011100001 +1010101111 +011110011110001111 +00011001001001101100 +1001001010000110 +111010111000 +10110010000110110100 +000110011010 +001100011000 +01010010001001 +100011111101000010 +00111110101110100 +10010110000 +11111010101100 +1000100101100011 +01100100111010111101 +010110100111110 +01100110101000 +1111110011 +1010001000110 +1000100000110100000 +100001001101011100 +10100000010010010 +1110101001001100100 +1110001100101101001 +1000000101110110 +11101010100011 +0110101000011 +0111011010110111 +01110110010010110101 +10011110001011001111 +110101101110 +0101101110110110011 +00110001000101 +011100100111010110 +101000110011001 +1001101000000 +0111001010000101 +01000001110001111 +0001111101100010100 +100101101011 +01101110000101 +1100110101010 +00000101010110101 +0101001001011 +01010111100000101101 +100111110111 +101000001011010100 +1110101101101 +01001010010000 +000001010000011101 +01110010111111 +00011001110 +10001111110 +101010110111001010 +01011100100100001 +01001100110000 +01100111010011 +000110011110100 +0111110111 +011000010000110 +00001100100011010 +111011110110101 +11000100011100 +10111001001100010101 +010000001110 +11000100101100100011 +1011000011001 +1110001101100110 +00000000000110010 +0010110010000101001 +100000110000111 +0000011010011001 +100010001101000010 +11001101110110111000 +1010000001101111011 +111010110101111000 +1000011110000101 +01111110000011 +100001001110 +1111100101 +0100100011001100001 +0010111011101 +01100101100100001 +010001000111111100 +10111111101 +1000011111111011000 +10100111001110111 +0110100001100000 +11101110111001010111 +111011100100000101 +0101101011 +11100011011110010 +0000110010000 +000100110010 +1101111100111 +111110010001000000 +101111010110010000 +0011110010001101101 +0010110001000011010 +0100110000011101010 +1000010111001 +000010011110011 +01011101110011111 +111001110110 +1010101010 +0101010111101100101 +00001011011001 +01101001101 +011011110111 +1010001110011011 +10011110101110011111 +0001000110111 +01101100101 +101011110101011010 +1011010111 +0101011110111100 +010100100101000000 +1101000010100 +0001100101001111111 +11010110011001000 +01101011000110010000 +000101110100011 +1110010010110011 +10001000000 +10001011000010 +0000010001000001101 +0110010001 +10110001011 +10100110100011101011 +01101001010 +0101101000010 +001111010010110 +00110000011111001110 +0110010111100100110 +10001010000101100100 +01011110101 +1100000100101100000 +11101010100011 +11001111101110111100 +11011101101001111 +010111101110 +0011000000100 +0000001010 +01101110110 +01010010011110101111 +1110100101110101 +1010011100010 +1100000001000 +1101101010110100111 +11011101101111 +11010101111110101 +001101100000 +10101101101101000 +1110101111101000110 +11110110011110 +01011111101111 +00000010000011 +0100110100 +10111110110110000 +01100011111011 +1001100011001 +0000111100111010000 +00100101011111110 +01011111010010101000 +0011111001 +1001000101 +10111010110000 +0101010011011 +00101101110010011 +01100111101 +00110101111100101 +111101100000001100 +01110101100001000001 +11110101000010011 +010010110011101111 +0010101100000001000 +1110111111 +1000100001111110101 +011111101101111 +101111010111 +00100001011000001001 +011111110001 +10010010010111 +1110101000111001011 +1011001011101 +001101101010 +1001011010011 +0101111000001000101 +10101011110101011111 +011111110010110 +10011010110 +00100000000001110 +100110010000010001 +1000110111 +11100110011110 +11111010000101011 +10000000101101 +000010101000110001 +10111101110001100 +1000000011000110100 +1110100110 +11001101100110101001 +10101010010011111011 +1111110111 +0001100000101111000 +1111100001110000010 +11110011100001 +01001010110110110 +0000100100101 +11110011101111001010 +10110110001 +100101111100101001 +011110110101 +0100101011 +000100000110110 +101100011010011000 +00110011100010 +10100111100000 +00100101111001111111 +1011000110000011 +00010001100010001 +11100010010100 +00100100111011110011 +110000100000000 +010001001110 +111101101000 +001000101010000101 +10111101000 +00001110001111111011 +10010100000000100 +001001010010100100 +01101001110011 +10000000000100001 +101001101100 +011100000001111 +10001011000100 +101101110000111001 +110100101110111 +010000000011110 +0000111101 +0111110001100111110 +11000101010010 +001101110010 +01111101001001 +00011111110111 +10001000001110111 +11010000011001001001 +00110011101001001 +11010011111011001 +0011101101010111001 +1100110110000111 +0000011100111 +001111100100001000 +00011000000010 +00000000010 +01111011110001 +0100111111111 +01010100001100110010 +00010011100101 +11110110001011 +0100001111001101 +01111111110101 +00101001001001000 +00100100110 +00101101011110110010 +11000011100001100 +00100100111000 +11100110000000101 +1010001011000011110 +001000001010011001 +1101010110 +0111101100001101 +011100100001000110 +0001110000110 +110100111001111 +011100110100000 +10011000000001 +101010110001100110 +000111011011011000 +1100111011110 +000000100101100001 +100100100010 +001101000111 +11000010011000 +101111101000011111 +11010111100111101 +0101101010110101 +0111000001111 +0011011011110101110 +01101101110111000001 +110111011000 +1101001110 +0001011101 +010100000011101 +0001110101000 +0001100000100100 +10100011100011000 +101010110110101111 +0101010011110 +00111101011010001 +100100000100 +0101111110111011001 +001010111010 +10001010110111100 +00101100100 +10101110101 +001011000111110111 +111111000000 +111110100010010 +00110100100101 +101000001100110011 +0011001101 +10001001011010000011 +11110000111 +111101010001100000 +111101001011 +110110111011 +11001100111010010 +0110100011111100100 +01100100101001 +1000001010101001111 +11000000000010011100 +110100111101000 +00111001001010 +001101100111 +101110100000 +110000011101011101 +011111111011001 +0110000001 +10001111011011110 +100111011111 +010001000110011 +10101000111001 +01010010001001 +010110001010111111 +1010011000010 +10111100110 +111001111010 +11000001000011 +10101100111 +10110011100000010000 +000011000000 +1011011101011000 +00111001100100 +10110110001 +111010101001000 +00100110101 +001001000001111011 +1101011001 +0100100110001110000 +1011110100 +101011111010011010 +011101110011010001 +1110001000011 +100011100110100110 +00010101100110 +0010010110111 +11000110101 +1010001010000000110 +00100111000111 +00000011110010 +11000101110 +0100101011101011011 +1000010110111010 +11100110110011100 +1000010001 +1111010010110 +0111100000 +0010100011100 +0111000100100 +000000010001001 +1001011010010 +01111101100101100 +010010010011000101 +10010011011100 +0001110010011010011 +101010001000100 +11110001011110 +10111011101110100 +0100100001101 +01000010010 +0101100001100001111 +1101010001 +01010110000 +110001100100 +01111100100100101 +1111111001 +01011010000 +10110110110110100 +000011010000110 +0111010011100110100 +1000010110111011110 +01110110100100 +000001101011101011 +01011100010100000 +0001100011100111 +1001101000011 +101010011010001 +100011101101001001 +11001110001111 +011100000011000111 +00010110111010110111 +11010110000 +0110000010 +01000011111011111111 +110011001010 +1001010101 +0011111101000110001 +0010010110100000 +11110110110001 +11011000001001100110 +11001011000110100 +000110101111001 +10111001110111 +001011010110000110 +0001111110111100011 +10001000110 +00100000110000011000 +0010101010110 +01001111011101 +1011001110101111 +001010100111111100 +100010100001000110 +1111110001001011 +1100100101111 +000000000110010111 +00001101010 +1111100110010000 +101010010110010010 +0101100000011000111 +1111100110 +11011010101 +101000010101100100 +00001111010010110 +111111011011 +10011000010010 +0001110000010011 +11010101000110 +001011000111 +00110111100000010 +0011001011011110 +000100110101100 +000101110001 +10000000001 +01000000011010110101 +00110111001 +001101101110 +10110101011011000011 +10110110110001010011 +100011001100011 +1001001000101 +00010000110101 +111110100110 +0111010001110011011 +11010011111110 +11101100010010 +0101001111 +1110111000110 +10010010100100100 +10001000110100 +01110010101100111 +0110010100000110010 +110110110001 +1101000100101101001 +011000100100 +01011001111101 +110000101111 +000110000101011 +01010101100 +0000111101101100 +0011001001111100 +111011100011 +010100101101 +00111001000000 +0010010100100110 +10110000000100010000 +1101101010110100000 +001111000101010 +0001011101 +1110011101 +10001110110 +0010011010010 +011000110101 +01010000010011000 +00000110001010000 +0000011110000110010 +001100100001100 +101110101110110001 +100011111101101001 +1100101100101 +0100000000111 +011000010110010011 +0100011101111 +10011110001011001100 +01100001110 +1000100000100001001 +110100000111101 +1101100000000100010 +01110011111 +0011101011001101010 +0011101111001 +1011110010100000011 +100100001001001 +0011110101010000 +1010011101011110001 +111100111100001000 +00010111001111011110 +11111010101010001111 +00010010110001100011 +0010010001 +000101001110101 +0001111000011000 +00100110000111 +01100010100100010 +0101010010001111 +0110011110 +0111100001000011000 +101011101100100011 +0010001001 +01000000101111010010 +1111001111101 +11101011000110110 +110110000100 +1110100101010 +010111011101101011 +01110011101101011 +0101100101001100101 +1011100111001 +011101100001100110 +0001101111 +0001110111100 +100111010110110010 +1110100001110000 +00101010101010000011 +0101011000001 +1010101000101111100 +1000000010 +10111000111000001010 +00010000011000 +001001110001 +011100111011010 +10010000011 +10000011000 +110101101100110 +10000111001100 +1111001000001001 +01001011101111100 +101000101000000 +10101101110000011101 +0101111100010001101 +1101110011101011 +1011000011001 +1110110010 +101100010000110 +00011100111 +101010011101 +100000100000 +10011110100100110011 +1000100000100 +001000101011000 +0111000111 +0100100101 +0111010110100011 +000101100000 +0011110110000011 +0110011101 +00010000000001 +1010100011011 +011100100010110100 +000010101011001 +0010111100101 +10111000111011000110 +0110110100110 +11110000000 +0010110100001 +0000010101010 +0100101101111100010 +0011110001011110 +0110000010100010101 +0101110100 +10011010111101 +00101100110 +10101111101000 +1100010000 +101101111000010 +00100111101101000101 +101010000101000001 +1100000001100010010 +1001111100 +0101101010100101 +1000000001 +1010100001100000 +11010101011100 +0000101100010101110 +10000001011 +1100101101 +11111100010010000001 +001101111011101000 +111110001001001 +00110000111111 +1110110110011 +111101101111 +000110111110 +11000110000110001111 +101101001001000110 +1111111000110 +1000100101 +1011110011 +1000001010101011 +0011111010000 +110101101011000 +1100011011010100000 +111001000001 +01111110000011 +11101011010110 +111110000010110001 +11100001010001 +00111100010 +10101110111100000 +0000100101 +0001110111111000 +001101100110 +011000000101110111 +11100111011101 +01110101001 +101111110011011 +00011111001100001110 +00110111001 +01110001100 +0011111101 +0010111000111101100 +10100100010 +0011000100010010 +10100100001000111001 +1010101011100 +00001000110101000110 +1100010110010000111 +01100100001011100 +01100110100110 +001100010101001 +0001111101001010 +101101111111100010 +011111001110111 +11011100011111 +1110001010 +10100010001000000 +0110101111011101 +0111100100111000 +1001110010111 +10001101100 +100110001100010011 +11111000001001 +10111100001001111 +01100000111010110101 +010011110010110 +0010010100111010101 +100001101001101 +0011001101110001011 +100111010110 +011101011001 +100110101111011000 +10110110111010011 +101110101110010110 +0100001100011 +110001100100100000 +01011101100101101001 +10110101100010 +100101100111000100 +00111010100100000 +010000010101000101 +0011110011 +1100010000110110111 +01110110011 +1101010001100100 +000100110000011 +01000001000001110 +1111000101111010000 +01011101001 +1100011001101100 +011011100101000 +000001100100 +01100011011 +101000110111101 +0100000000011101 +01011011010101 +0011010100 +1000100101111010110 +101101011110011100 +0011100111000101 +00010011001101101 +00000101111011111111 +01100010100101101 +00011001101001 +1111100101 +11001001010111110110 +1001100001 +01000001010101100010 +1011101111101011010 +11111001100110 +110001011011100010 +10011000000000011 +00100000100001 +10001000110010000 +1011110111111111 +011100011000111111 +10111100101010001111 +11001101101010 +011110000011011010 +110000111001110 +111101101000011101 +1100010001100 +11011001111100 +00001011000111111100 +01111100000100 +01111001000010110 +11011010110 +10001000010010110 +0010001100100 +0001000010111010 +10111110100010101000 +0010101100110 +0110000110000011 +1110111111 +0001111001011001 +1010001111000 +000001000000010 +10010001110101111 +100101100001001000 +1101010011 +11011001100010100 +0101111101010110 +011100100000001 +0111001101001100 +01110100011011 +1111001111010 +1110101101100010011 +111010110100011 +01101100110111111 +00100010101100 +01110100011 +1001100010001010 +10010100010000 +01110111000110010010 +10000101001101000 +0010000010 +0000001100100 +000010001001 +1111011001 +11011011100010 +101000101011 +1100101111 +10110000001 +000110000011 +11010100011 +001011111011 +1010100010100 +111000011110 +000111111101 +1001011010101111010 +001001000101110 +01111100001101110 +110100001110010110 +01001101001100 +0000011110100011000 +00100101000000100100 +11110000110110 +0100100101 +000011111011101 +10110100110 +01101000010010100110 +0010001011101 +00111101010100 +1101000010100110100 +010000010011 +011000100100111 +11000110100000100 +11111100100110110 +0101001001010100100 +111100011001100 +01101110100 +110101001111001101 +11011001001100011 +110000011010 +10010001110010111001 +00000100000 +10011110011110011 +1110110000110 +100011011101 +1011001101011001000 +0010111111010011010 +01010011100000101 +1011010100110110 +10111010101010101011 +0111001010000101011 +1010101111110010 +11011111010101 +100011000010001 +01011110110101010 +01001101011000010011 +01011110110 +1001011000011101 +001110001000100 +01100010110011111111 +1101000010001100 +111001101111011 +0101111001 +1111010010100000 +001111111100001001 +01011000001001011011 +00000010010101110101 +1001000100100 +1100100001 +101110011101 +1101100110 +010001001011111 +1011101111010 +101101000110 +00000101111111011 +10111011101111 +00000010111111000 +011001001010 +0001111100 +1101001011010 +1000001011110100000 +10000001011011 +0101000011001 +111000001010 +01011010111110101111 +00100001000101 +01100110111101 +11110011110011111110 +01110110000 +000101101001 +0001011100111010 +100010111111000 +110101010100111 +101101100001 +1101000101111 +0010101111 +1001010010111 +01001111011111 +00100101111000000011 +001000101001 +001101101000101 +00100011010011 +0000011101010100001 +001001001100000101 +0000010110101 +0011100000110110010 +0110001110001 +11101011111011011111 +1111001011011 +0000000001 +0000110001101100100 +1110110011010100010 +1001110111110010100 +10111111110111 +100010101101110 +11110001001101100 +01000010101 +100110001001111 +0000111000100110010 +1011011000 +1110111100011100 +111110100001 +0000000101 +01111100111001111101 +1110011101101000101 +00011001101 +01010110001011100100 +00010111000001110 +00001100010010000101 +1011001111000 +001011110011 +0111001001000110000 +1000110110 +11011101011 +100010100110101101 +1100101101100010000 +0010011101100100 +11011000111 +01011100100101 +100101111110001 +1111010100100100 +101011000001 +101111111010 +0111110011 +1110101010100001 +1100011001100000001 +101011100001100101 +00010000110110010100 +0001111101100001100 +11011010000111 +0011100101010010 +000010001001011 +110010011000000 +0100101001011 +0011000001101 +01000011000101100 +0000001011101010 +0011100101110 +1001001011100011101 +1010111000111 +00100100101011110110 +01001010011111011 +11111001110100011 +0100100111100 +001011100001 +110101000110001001 +01111101010111 +100100110111010100 +11101111101010 +1010011010010 +100111110111 +0111001000000010 +111010101101 +1111000101011001 +001011111010101 +0100011001110 +1100001101 +111011011001001 +00111000000111011111 +011101100010101 +110100111011 +1100011000 +1000101111101110001 +11001011000110001101 +011010100011100 +1100001000011011101 +0110101111 +0111010001000 +110010001010 +11101111010110011 +111100000110 +1011110110110000010 +1001110111111000110 +1000001111110000 +1100101101 +010011011000000 +101100001001 +1100101101 +01111100111010011 +11111110100001 +1111111001100111101 +1000000010 +0110001111011000 +10110101111 +11111011000000101110 +00011111011000 +10110000101101101111 +1101101111011 +10010000100100 +0010110101101101101 +111001111101 +10110000101 +1011010111110 +0101010001111001 +00000010000111111100 +0000010011010 +01010101001001011 +1011111111 +101110111100101110 +01111000000011100010 +00111010011101011 +01000001011101010 +010011001101111 +01000101111000010011 +111000110110101 +00011110010010011100 +00100111010000 +100101111101111101 +00111000010 +101111100000 +11110101011110010010 +1000110000000100 +00110011000100011 +010111101010010010 +000111000011110001 +1111011110100 +0010101111000101 +0000110101 +11000110001110000001 +0011010000 +00001100011011 +001110000101111110 +1110111110101100111 +11001010110111 +101001001010 +100001110001 +010011110001 +11000100101011100000 +00111000000000011011 +11000010001110110000 +11100011000111110110 +000000010011 +100011100010110 +11000100001 +111111100111 +1011010010000 +111000010110 +1010011001111 +11011110011000000 +1100000101 +01000101100000110 +010111100101100 +1001110001110000 +00000011011001010 +0101011000010 +1101111011001010 +01111110000011001110 +101110111011 +1110010100 +0011101001010 +010000101010 +11110001010 +0101000110110111001 +010011110001 +110001011110000 +101110100101011110 +011100001110 +000101101100 +111110000101 +111010111001100101 +01110011100010 +0101101101101111110 +111000001000110 +10110111011111100 +00110100011 +1001101001010100000 +00001100010100001 +0011011111000101111 +00101011111101 +11100010010110 +01100111011 +0111011101011000 +0100001000010 +000101011111111 +01001011001100 +1001001100111100 +1010001001101 +00010100001 +101111010011100000 +0111101110010010000 +0110010110110111 +1000010101101001 +01010011100 +010011011010 +110111011111101111 +0110110001100 +0111111101 +001101110101 +01011010000110011011 +0100110110 +1110100110111100010 +11010100110110110100 +00100111000101001 +00111110110100 +101010100111110100 +10001010001101 +00100110001 +1110000010010100011 +1010011100011 +1001110101100101 +0101100110 +001010000111001011 +01101111011 +1100001101 +00011110010010000 +00101010001100 +1110011111100 +0011110001100101 +100101011100011110 +0101100100111110 +00111001100001111 +10011011000011001011 +01101000001111 +000100110110000001 +100000000101100001 +1101010011101 +011001001010 +01101000011111101000 +011000110111 +1010010101110011 +1010110111000 +111011111000 +111110010111001 +11101110110 +011111111111001 +11110110011100 +11010011011000 +10101011010 +111101110111001101 +0111111101100 +11110110001 +010011111000 +010111011110 +0111001000 +01001000111001111001 +11101000001010 +10010011101 +10000111011111 +1101100011101 +0001001111110 +1111010111101100 +000001101010110000 +1001011010 +10111101100111101 +11110110000101011010 +0111100101001 +001010000111001001 +100001100000 +0111101100 +111100010001011 +11101001000 +11010010001010101101 +000110110100111000 +10110000111111100 +0101001000 +01010010001110 +1011110111011 +01010001000110001 +100000000001010 +11111111110001 +11101101111111101 +101000101011 +110110010010000111 +10110110000011101001 +0111111110 +00001011010001110 +0010100100010001 +11100111000000100011 +111100010000010011 +100111010110100 +1111000001110 +1101101000101011 +00001101111001 +10001010011000100110 +11011101011010111100 +11000111111111111110 +0101010011111100 +1001111001 +01010110110 +10011001111010111 +10001000111010011011 +1001101001011100000 +1100100001011001 +0110000010110 +1111110111000 +1010001001001010 +100010110000010001 +00011001101 +10011100001100 +00111101010011001111 +00001000101110100 +1001100111011100110 +01011100010110001 +11100110001011010 +0100100101100100 +1100101000001 +111001010000111101 +100000011011111 +011101111010110 +11001111101 +100010110101101111 +101011110110000010 +0000001001101 +0011110000 +111010111010111 +10011011110001111 +11111101001 +0111101110 +0010000000011001100 +11011000111 +00110111111100110101 +1011110010010110011 +00001111101011110 +1101101011 +011000011011000 +11110001101001010 +011010100011 +01010001011111010010 +11011101100001111010 +110001011000001 +00110011101000111 +10010100110 +10110001110 +010101001101 +1010110110100 +0000010001011 +110010000001100 +011101001100001100 +11000100010 +0101001001000 +0111010100 +00100100000 +1100011111010111 +10111100011 +01011001111 +00001011000000 +00011100000010000 +000010000001 +0110010101 +010110110110 +10010111001011 +01001100001100 +100010000101 +01101101110011 +00000100001001011 +1010000101100100 +011111000011110 +10111101101010 +110110110011101 +11100001010000 +001000110110 +0101111001010 +11101001001010111 +0110011111 +0111011111 +1101000011100101 +1110101100110 +0000010100100101011 +0101100100 +1101000101011000111 +0110011010 +00000010110001100 +1011100010100000 +00100111001100110100 +1101101101110100 +1011100101001010 +000111001000100001 +101000011011001 +0011011011 +00111010100101111001 +000110001001011000 +10101110100 +101101001011 +0010101110101111 +11101111001011100111 +000000000010011 +1001011001001 +00100011001010110 +00000000101001 +000000110011 +11110000101000010 +1111001101001 +1110101000110110001 +100001100110110 +11000111010 +11010010011100 +111010111110101101 +110111010011111 +10011011010011110111 +01011010111111010 +01110111000000101011 +01011100100111 +0000100011 +111110010100 +0110111111001010110 +01011100100001 +0001101001110 +1110000111011 +101101100011110 +0100100010111 +01110100110101 +1010100101100 +110001001110 +11000000100 +1101110100000000010 +00100110011 +11111001000011110 +001110011101 +0100011000001 +01010010000011101 +1000010110011110010 +001100110011110 +11001101111001 +10010110100101110110 +01101100000000 +1000110111100 +00001010101 +1001100011 +11000001111 +000011111001001111 +001101010110110 +1010000010 +0010011011001 +00100011000 +11100000111011 +0011000101101001 +11110010001001011110 +01010110010010101 +11011010010 +1111111100110 +00010010110010010011 +1111001000100000010 +1111100000 +1100100100000111100 +00010101001100111 +1011001000101 +1000101011111101010 +11011110110000000 +10000010101111 +0011101010110 +00000001011010 +010100001010101010 +0001110010010 +011111011010 +110100011101 +011111010001 +010011010110101 +11111001010000 +100101011111011001 +001101011101000000 +010010001110 +0010000011111111 +1111000111101 +1000010001100 +110111111110001 +10001001100 +11000111111 +00110110100010011101 +0111001100101101 +101011111011 +10010110101110 +1001111110 +11110101110001110 +11011011001000010 +10101001100 +1011101011101101101 +00010000001 +01001010111110 +111010000111000000 +001101100110111001 +01111101111001010 +11000010001101 +00111001010111000110 +10001000000001 +00001011010011 +0101001011001001000 +10100110011 +10101111100 +0011110011011000110 +1100011110 +100010110010 +110101011110100 +000010111110 +010110011001 +0110111011000 +10010000101101 +000000111110000101 +00111100100110 +0111101000101010010 +1101001010100 +1011001101110100100 +010001101001 +11110111111110110000 +1001011011001001001 +0010101101100 +1010111011111 +10110001011000000000 +0111010000111010 +010011010000111 +11000001101101 +00100101001111111010 +10000100000 +0000100110000 +01011000011 +0110001011 +0011110101011 +0110101000001000101 +00010100111 +01011011111111001 +101110110000111100 +01010111011 +0000001000011101 +0110110011001000010 +00010110001110 +11000111010101001010 +11110001001001110011 +110000000001101010 +01110101100111 +11001000100001 +100110111101010 +00001000010110000 +011101101000001 +0111010011100110 +01101110111000110100 +0110101001 +011000001011 +1000001011010 +01001101100110011 +1001000111111100000 +000100011000000000 +000100011100010011 +0111000101110 +00101001101111111 +1010011011100100111 +01100101101001110 +0001111000101 +011011111001100000 +1111000011 +1101001100011000001 +11111101110111010 +100110010101111001 +111110111101001 +11100011110001 +00100111101101100 +01001100010100 +0111111111111 +101011010100 +01001010001011 +001111111000110000 +0011101010 +1010111101 +01110011101010 +10001010001101010 +10001101010 +1111111111100100 +1011111100 +0110001010010000110 +011110001110101 +001101001000001 +011100011011 +101001101111 +011001100110 +1101110111011011101 +00110000011110011 +01111011000101100 +0001011100110010011 +10001100011 +1011101011010101110 +100100001101001110 +110001101110100 +11000111011101 +0101001101001001001 +1010000111 +1001011100100 +1001011100111 +010110001100 +011001010011111 +0011011011010 +110100010100 +1100111010100010 +101000010001101101 +10010011010 +111001000000011000 +10111010001001101 +1101111001101 +1111101010000010 +11101001011100000 +01000000101001100 +1111010011 +0000100001110 +011000100000111 +10010110110011101 +111100010011 +00101110110111101111 +01001000111 +101110100110 +0111010101 +10101100001111 +00110011001011 +100000111111000 +01010011011 +00000011001 +1101101000100 +0001010101100 +01100001001101001 +11001110110010100010 +01101101110 +01110010100100111 +101111000001011100 +010111111111 +11101010001001110111 +01010100100 +100001111111000001 +01001111001001 +1001110011010 +00011110111100001111 +111010101000 +01010110001 +00000110111001001 +1000110010111111011 +11101010111101110011 +11010111100110 +1011111101101 +11011001001110 +10111100001010 +001010111101 +1111101011000 +10101000111110101 +0000010011 +101111001100010011 +0011101100100 +0100010000101011 +01000011000 +00100011010100100 +010100111011111 +1101000101 +0110101101011 +01010110100000101010 +011110010001110011 +01001011100011000 +1110111010 +1011111101101100000 +01000110100 +000101000110 +01111011010011101 +111010101001 +010011000110010 +11101101111 +111111011000 +100111111001100110 +10100100111 +11011100100 +01110101100000010100 +0001101111001111110 +111100101011111101 +0110000101100011001 +01100111000011101100 +000010010011 +101000011010111 +1001100110110100 +1010000011011111010 +01101101111001110100 +110000101110 +000111001111 +11111011001 +0100111011 +0100111100011101110 +01000001110010000001 +1100000001110101 +00010011110 +1000000110101010011 +011101110010011 +1100110111 +00110010101001 +111101000111 +10100000000 +1001011110101 +111010000001 +100111011111011010 +1010011001001 +10001011111010111 +000100111111 +11010111111010 +011000011001 +0001110000 +1100010000100011 +111111101011 +1010010001100000 +00000100111110011 +0001100100 +01101110110011011 +01100011101011011101 +10010010100100100001 +11000100000010011111 +011000001001 +0001010000111011111 +111100011111111 +0110110110 +0001100001001 +11010111100011 +101000000011101 +0010101111000 +01101000101110110 +100011011000111 +1000101010 +0011100111010 +0110100101110101 +1111011011 +1100001011111 +11111101101000000 +00111000011100000100 +10010000110010010 +01110100110010001011 +0000010000000110 +00000110011101110100 +101010111110100 +01011011000110 +0100010011010011 +001101000000110111 +00111010100001000 +101111100001010 +1000110010 +111001110000 +0101001011110 +011111010101 +100000011011010110 +11101100110 +011000000000110 +1010011001100 +111001110111001 +1110110000001100000 +0111010010011001101 +10111100111 +010011000010101110 +01101000101010 +10100100001110111 +00100101000000 +11011011111 +101101111111100000 +110101010011011 +11111011101000 +0110101010001100001 +1101100010110001 +000111011110 +011011010011 +001100111110010000 +10101010010 +001010000100111111 +01100000100011011010 +0101010000 +001011010000101 +01011001101 +00100110111101 +001110110011 +00110100011 +10000101100011 +1111101100001 +0011000100 +00110101100001 +1000010010010 +0110001001 +0100100000111101 +0110011110 +10101111001001 +0110101001011100 +001011000011000111 +000000110000110 +110110110100 +01000000000 +011000011110100100 +11110111100 +1111111101 +1011111110 +00010000110010101100 +00011110001 +101011011001001100 +11101111010110000101 +101101111111110010 +100110100011011 +11001011011001110 +0001100101100110001 +00110001101111011 +00000101100110001011 +01100100111 +01110001011111101 +0010110100110000 +01101000100110 +00111110111000111 +1001101111100101 +0101110001001011 +1001010011111010101 +011100011110 +001000110011 +110111000010110110 +010010101001000 +00110111101101100010 +01110000011 +1100100010111 +10111111000100010 +00101110100101010 +0000000011 +11010111111 +011011011111 +011000100001 +1010111001000011001 +0100011110111 +011000101111010 +0101111011 +110001101111010000 +0011100111111001 +10001000010001 +11110010001101011111 +1000001101 +11011010101 +1100100011100100 +0110011010110 +0110010010100101 +11110000010000010 +0011000001100 +110001110110 +0111101000111 +1100001011 +100001010100001111 +100110111110 +1101111001 +0000010010011011 +00101110100010101 +101110111000110110 +00100101100000101 +00110110100100010 +1111100011 +111110110001 +0101110011111 +01011010110101 +10010011001100001 +0000000100 +11001100111 +0100001110000010 +010100111011001110 +00011100001000001101 +011000111000 +001110010101 +0101011110111000000 +00100101101100101 +000111110011000 +00000101001 +01111110110 +0001101100 +010011110011011 +111011001000 +0010011011111010110 +10110101010 +100011000110010110 +011010110011 +0011000001100 +0110011110100001 +1010010010011100 +111101110000011 +11111010000 +101010011000110110 +111100001011 +00011010000110100111 +1100100011001 +000000100110 +10110011101010101111 +100110001011 +100111111111110 +01100000011101 +10011101101 +01110001100010111 +011011011001 +0110000100010 +0010000000101 +011111111011111111 +10010110111111 +1001001101101111010 +11000011010111110 +0110100001101100100 +00011001111111011 +10010011110100 +0101101110 +00011011100000100 +110110100001111101 +110010001101100101 +01000111101100100010 +0011011101 +011110111110010 +1101001110 +0010001101001 +0111000010011011 +0000011111111010 +10111101110100001011 +0011110101100 +0000110000111000 +001110011100 +00101011011011000010 +1000110101011101001 +0011001111110000110 +00110100001 +0011001000111011 +11001001111 +00111111000011 +0011110111 +1100000010110000 +1001100011110 +11101011000110111 +10110111001011010101 +0011010000110110000 +0011001010 +0000111011110 +0001010001010111110 +01000011111 +100101101011100 +0110000111110 +000100100011101 +01011110111011 +01100011101001 +11011100110110 +01110010001011010000 +1100101100011 +0101010110000 +11001110100011 +110110000000 +010100010011110 +0011000010111 +0011100000001001 +101001100000010 +100000011110000111 +000011011010100 +0010001100110 +10011010011101110110 +0111011111000101 +111101010011 +011110010101 +10001101000010000111 +10001001101110101 +1110101000 +10101011100010010 +0001011000001011 +011000010011010 +00001011010100111111 +1110010011001100010 +0110100010010000 +100000101010101 +0000000011 +1010110010101111001 +0010111110 +0010111001101 +100100011011001 +1100000011000 +11010001010 +100101010001101110 +111000101010011011 +010011101100011010 +1001100010110 +10011111010 +0010101010001000 +111111001110010 +110011001010010 +0110111010101010100 +100110010110000 +100000111100100100 +00011111000111000011 +100010100000 +110110110100100 +110111111010100 +1101010110110 +0101100001000101110 +11011100111011 +11101001110100010111 +0001000110010100101 +11010010100110000 +0011101101010111101 +0011111010110 +00110110111 +11000000110110010 +11110111001110 +1011011100111 +0101011010 +01001011001 +1001111100 +011111110001 +10110100000010001000 +1011010101110011 +0111100110101 +0101000111111 +00001100001000 +001001011111010 +100011100011101001 +00010101101 +11010001001001011 +0010110000001001 +1010000011010 +0111110001000110101 +1100110110 +01100110000101000 +01001100000111 +10001101001100 +01011110110001101111 +00011001101000 +0101001100010101 +1011000010011 +0011111110110011 +1100111111 +01111100011111000 +101000100000000111 +00000011111000 +1000001101001 +00001110101 +110010011110011 +011010100101000010 +111101010100 +011011011011111111 +00111110100 +11001001110010000 +01011110111 +0101101001000 +10111001111 +11110011101110101 +0011011110 +0000111110010001001 +00010100101 +00001101101000001010 +01100100100 +0000011000 +10100110001101000 +1011101110 +11001010001010 +111001000010000 +010000011000101 +11101101000 +111001100010 +0101100111011 +10001001010000101111 +11001110111 +110000111101110 +0110111111001110110 +0000001001 +0101010100101010110 +10010100111010100001 +0011110000110011101 +00011001001000 +000111010010101 +10110001100001111 +1111001100101101 +101010010110101001 +011101011001 +1100101011010110 +110001110110010011 +100010001001001 +11100101101 +010111101000 +10011001000000000 +001110100001011101 +110011001111 +100101010101 +10001110000011 +11000001110 +0001101000010100 +0011011101001000010 +11111110001110 +1110010010001101111 +110010111100011011 +011100110101 +11100010110100110 +1101000011101 +1111111101110 +1110010000011001001 +1110001111110101 +1111001001001 +01101101010100100000 +00010101100001 +01000100111 +110111000010 +111001111010 +011011100000100111 +01011110001101000111 +000100000101 +1111010010100 +01001110010111101 +11100010111100011011 +10100100101010 +110001110100 +011100001000 +11010010100110010001 +1001100111010001111 +10110100110111100 +0111100100 +0100000101110000 +11101101010 +1011100111100101 +001000100001000001 +10110110011 +1100100001100 +0001110100000 +0010000101111 +00110010011010100111 +00011011011110011000 +000111100010 +0101101000 +1010100110 +01001110000101001111 +0011101000110 +0101011000011110001 +0000000010 +11110101100011010 +110100001100101010 +00000001101110 +0110001110010 +101010010110100011 +10100110110101101 +0000001110 +01110000101001001 +1001011000011 +00110110001001001010 +111011111011010 +000101010010110 +0001011000 +00000101110 +1101111101000100010 +00100111001 +110100110001 +10011111101110110 +01001100101010100 +1101110000101001 +0100110110111100 +0110001111 +000010000000111010 +010010110000 +011000110001000 +01001010111111001000 +0001101110001111 +00000000010 +10110100000101 +0100001011 +111010000010 +001011100001101 +01100001100 +010000011011111 +11100100011 +011101000011101000 +001101000010000100 +00110001010111111 +100001111001001000 +10001100100 +0100110100110 +1100101011001101011 +1010001100101101011 +01000010000111001100 +0100101101100 +0110001011 +100101101011 +1101110110011 +0001011100010100000 +01100011010 +10100111000000100 +001100010010010000 +111110011010110111 +1010000101 +1101111110110110 +110001010010001 +1101001111 +0010011011001 +01001000100 +1001111111100100 +11001100110110010 +10011010101 +10011100001101 +1011011111111001001 +010001100100101100 +11111101011 +100000101011 +10010010001 +1001010110001 +100101110111001 +111101001000110000 +10000111100 +1011001101000010 +1101011011111 +1101111110 +1010010001110110011 +101010000000010110 +0111001011000 +0010101101011 +110110001010 +11101111011111 +001011010111010 +00010011000 +01111000011 +01101110111011 +11000000101000110101 +010001011010010111 +11011111001001 +00110111010011110101 +110000011100100000 +00010000101101001 +1110101110 +10010101011 +110001110010 +0110011001011010101 +1011000010010 +1100010101110000 +110011110011001011 +01111011011100001110 +01001111000001100 +010010010110010 +1010110100011 +001011001111 +110110100110 +1010100011000111 +11100001101001001111 +1100100100010 +1101000101101 +1110101010010010111 +000001011101000 +111111101000110 +01100001011101000 +00101111011000111 +11011111001001011 +00101010001011 +0001111000010000010 +010100110000 +01111110101 +1101001111100 +11100111000101 +0111010010101111000 +011001111100110 +100100111000 +1011100001100 +0101011111101000 +111000000110 +00011111101000101 +11001111011111110001 +010101000000111001 +00110111001001101101 +01111001011111100 +0100000110 +1101010101000 +0001011000 +11011000000 +11110111110000101001 +01001111100 +1111111111011 +01110110001010000 +1000110101110100 +00100000010010111 +10010001000 +010001111001 +01011010101 +011110100101110001 +11001010010010000 +0010001010001101 +0101001101 +00100011101101 +11001001110011 +000100110100 +110000100011110 +0100110100 +10111110000111010101 +01001010111110011 +01101110100001 +0010101010110 +000000110001 +1010001000010100 +1010101110 +0101001101010101 +000111010110100111 +110000000011 +1111111010011001 +101110000100100 +01001101101000001 +1001101110101 +10010011011000001 +1000011010011010 +111101100111001 +101110100011 +0011110011101001 +0111111111 +0101010110 +1100101001000100110 +100000010111111 +000010011000011101 +00010111101110 +011111010011111100 +0111100010 +10001011101010 +0000100001 +0111110001100001 +1111001100001 +011001000011100001 +011001101011110 +11001101001111011 +0000110001 +11001101111001000000 +1001110011110 +0011100111100111 +11000110010111100110 +10111101000101011 +0111001100010111 +1111011111101 +1110011111000010100 +0111101111 +10110001010001000101 +0011110001111101 +000000111100111001 +1100110001110100000 +01011100000010 +1100000010010001 +111011100101100 +011100000110 +001011010101 +11101110101100101111 +1100100011110 +1010111101010110011 +0111011101100110 +1100100001101010 +1011111011011110010 +10100111101001000 +10100101011 +010010000001 +0001100110 +0100010110011 +000000000111110100 +1011110101000 +110000011110 +010101001000 +1010111011101000 +1000001000110 +0001010011 +0101110010110101110 +11100110010 +0001001111110110 +0100011010010010 +0010010100 +01010101010111101011 +011100011000101 +1101011010 +11000010100011 +01010010000011 +1000100100110100 +0001111100001110 +11101110010 +001000111111101 +0010110001001000100 +100101100011 +10100110011111 +101110100110010111 +100010100110111000 +110000001011110 +0111110101101 +010001111000010001 +101110101000001 +10001101011110011 +1011000111 +01110000001010 +1001001100000101 +110110011101001001 +00110000100111101101 +01011010000 +10011110111100111 +0011110001110110 +11111111001101 +101101011010 +00011111011011101101 +01000001001101000 +0101001011110001011 +0010001011110 +001100010001000101 +01100010111110010 +10001111100011011011 +1001101100 +0111011011001110 +00100010000 +10101111000011111001 +11000001011 +1110000110000100 +00001011011001 +00011011111101 +00011010111001 +10110010000010 +1101100000 +1111101111100 +1100100100010 +1011101111001 +10010100101111 +1000101001011111011 +11011001000111111 +11011001101001110 +00111011001 +1010010101 +10011000110101 +000110101000 +101101000010 +101011101111110000 +0110000110000010101 +0110001111011001 +0101111011101000001 +11110111101111 +1011000011100000100 +1001000110100111 +100011011111110101 +01101001110111001 +11010111100011110110 +01110000011101101011 +1001010100110000 +01010111000111101000 +0110110010010001 +11100100110 +101001001101 +010110101110001 +0011101000000011111 +0000001000000 +000110000100010111 +1010111111010001 +000110110001010 +1000110111000001 +0001010101 +011001100011101001 +1001010000100010010 +111011011011110101 +00000101111101 +1101011110100101 +01101011010110 +0101111001011101 +10100010101 +1001111000000000100 +11001101001 +1010110110000 +0111101000 +10011011111111010111 +00001010101111010 +1110011100 +01001110111 +101101110010 +000000110001010000 +0000101000100100011 +1011100011 +01101000111001000111 +0101001110001111 +111011110011001 +00001110011110111010 +0001110011111 +1011100000 +10100111011010001 +010101001101110100 +110010111010100001 +000000100010 +001011011110101 +1011110101011 +0100000110100001000 +011000010101111 +1101010001001111 +10110110000101 +1000001001 +00000000110111 +001011110100110001 +0000110100111101100 +1110010001010011001 +10001000010011 +10111011011110000100 +11101001110100111000 +0111111111 +0000110011101010 +11110010010111011011 +00101001011110111010 +11001100011110 +0010101101 +1110101111 +11110111001111010111 +1101111010 +0001101100 +00110011010001 +010100011110 +100011110011 +01101000000111011011 +101100110001011001 +01111110111110 +1000011100010010 +0010110101101000 +01100000101110010 +011011000101 +1001111010110 +1111001001011000000 +001111010000 +101000111011111 +10010001100101101 +01100001010 +1111111110 +10101011111001101110 +1111110011101 +001011110001110001 +1000010001 +11000010000100010100 +111111010101010010 +010100100101 +01000101001 +111101000101100010 +1010000110001 +1100011010111001110 +000000100111111 +1101100000111000100 +01000111110110011 +0010110101011110 +1111001110101 +0101110110110100101 +0011111101010101 +10011110110011 +11000000101101000000 +1100100011 +0001101111011001010 +01010001001110 +0110110010111 +01000001100111101011 +1001010111100 +1010011101 +100011001101 +1111101011000000 +1001011111111 +110101100110 +00010000110110100100 +1101101011110 +011111111001 +100111110110 +1111101010101001 +01011111101001 +001010000000001101 +1100011001011001101 +00011110010110 +00000111111000100 +10010101110011 +11011000000 +1000011000000000 +11011101011100 +1101100110 +001110101100 +00000011100 +1100110111000100 +00110001010 +1110000010 +011010110101100 +00010011111 +11100011111 +00001110010101000 +0100000111011 +00010000011 +1111111100 +11110000011001010110 +1010001000010101000 +010100100010101 +1110000100100 +000100001111 +010010000100110110 +000111001111 +110110001110000 +0000100001011 +1010000111011011000 +01000100001011 +1011010001000 +0101000110001 +01111100001110 +1011110001001 +0111000111010101 +0101110001 +001000110010111001 +001011000001110 +100001111001110011 +0010011000001010110 +1000110000110100110 +0110101010110011110 +000001101111 +01101001100 +1100100010010 +11010001011010010011 +10111011011101 +100101000111 +1100110001 +1111000111100010 +010001111110111 +1100100001111001011 +00010101011101 +11110101011 +0001010010111000110 +001101110100101 +0000011010101010000 +0110011101 +0010100001101 +11011110010011 +10000111011001 +01101111001011 +00001001000001111011 +11100010111 +10100100110100000 +001000011010001011 +11011001000000001000 +101100101011011111 +1101100101 +0001101110001110000 +010100001010111 +0001000011 +11111010111100 +1011000011 +1111101011011 +011001101010 +000110001010001 +0011101001111000010 +11111101111011010 +10100111110 +100001100010110 +1101110111011 +1101001001101110 +11101110000000111010 +10001011000100100 +0111111010100110110 +0010111100110010 +10010000110100 +01111110111101111 +11001011001010101011 +011111000110110011 +010100010111110 +10000001100000000111 +1101010011010000011 +0100100001 +0100010011011101 +1000001100001000100 +10010010000011100001 +000000011101001000 +1001101001110000 +0110101001 +0100000101111100 +0001001100000010011 +1000100101000000 +01111000100011011110 +0110111000010011 +10111011111001011 +1100010011110110 +000100101110 +011100110100111110 +110011101100101011 +000001000011111000 +11111001111001 +011101111010 +10000110110100111001 +1001111010100011 +010001010000010100 +1111100000101110 +100111000110 +00010101011101111011 +011010010010001100 +1100110001100110110 +0110001000001010 +110010110000100 +011101011011101011 +11100001000001110110 +1010010011010101 +011000000010011 +111001111001101011 +10011010110 +100011011101010 +1001000000 +1001100011010 +01001101011110110001 +0110101110000 +1000101000001101 +01011101000100010110 +10111100001000010 +11100110010010000011 +01000100000001011110 +1000110100101 +101001000010 +111011101110000 +1011100000011001 +1110000001 +000001101010000 +0110110010111010010 +00100010100 +1010100101 +11111010110 +0000111111100001 +11100110010001100 +0011101101 +10010000000 +101110101101000111 +11010000010100011011 +10011101001 +11111001011110 +11111001001 +111100100010011 +01101110010111000111 +11100101001 +0101000011000100110 +101111111011 +10100000001010110100 +10000001001 +010101110000010010 +00111101001001010000 +0011110100000001100 +1110100101100 +01101011000101 +011110010011011110 +1101111010 +001100010001 +01110110110101101000 +100101001010100101 +001111110111101011 +10100000100 +111111011101 +00011101011000001 +010100110100100111 +011001000011111101 +0111110100 +0101110000011101 +10001100110001 +1110111101110101001 +000101000100011011 +00001110010001111010 +0110100100000011111 +1000011011001011 +1011011111010111 +01000110001 +1100100101 +0011100101110000110 +1111010111111 +10000100011110110 +1111011010110 +001100111110100 +111000010001010 +0000110000111 +11110110100111100 +110011000110000000 +100100010001111 +1010100110001111 +111001100000110 +011101111000 +00111000111111 +000000101111 +001110101111 +0110000001101101 +00010001101010110 +0011001001100110 +01111000000001110000 +10000100110010 +0001101101011 +0101110110111 +0010101010100101100 +010000101111010110 +001110011100100011 +01111011110101011 +010111000100110 +1100100110110 +0001000001111100 +111100011000101001 +111100001010110 +100101110010001100 +0010011000000 +0010010001000101 +10100010111 +101101100010 +10010001010 +100001011111100001 +0100100010010001 +0101001110100000101 +1011100100110000 +011001111001110001 +110001110110011111 +01001101110 +10000111111001001010 +0011001001110011101 +001011001011 +0010101101001001 +1000100110100110 +010111000101 +100111111101011 +11000100100110000101 +0101011100 +1001011110 +001000111010100000 +10010001000111 +1010101110010 +01011010011111000101 +01110111101011011011 +100000111000101011 +100101011101000 +0011100000101110110 +110110100011 +010110111110 +10110011010110 +00011011100 +101000101110111 +010111011101 +100001110110101 +11000101111011011001 +11100001001 +100010100110111 +00101111001101010100 +1010010000101 +1110100110 +00100100010111000101 +00101011111 +1001010011100 +11110000110001110101 +10101111001100111 +0010001110011 +01011000110101101 +10001100110100111 +01111101010100000101 +1111010011 +1011100110100110011 +011000111010011000 +10001011101010001 +110011110110100100 +110011110100101 +0011011000000 +10111011001 +0101110000000011 +0000100101000 +00011100011101000001 +001010110101011010 +111010001011011000 +00011100111001100 +1000111001011001 +1001101011100011 +0110111100010100 +100011101011100 +100000010101010 +0000010111100000 +00100100000001101 +0101010011 +111001001000000000 +1100000000111111 +00101100001001 +01011111011101001 +1010111101100000011 +10101001011101 +01001010111110001001 +01100111110 +101101001110 +0100000111000101001 +010101100010001 +0111010110001 +11110110000000111111 +0111011101 +01111101100001111101 +011111100101101100 +01101100010111010 +01100100101 +1111101001011111011 +100111111010110111 +011110010011 +0100100101 +10010100101111111001 +0111100111100000001 +00011000011111 +0101001011011011010 +100101000100001 +001010000100 +100000011010 +1000001110001011011 +101100011010000 +0111001100110000111 +0100101101111 +11001000011101100000 +00110000111 +1110011001000 +110010011100 +010001101100101 +10000110111 +01011111110001010100 +10000100011001 +011100010001111 +111110110011000101 +11000000110 +1000110100100011011 +1101010100101110000 +01101010000001111001 +00011000111000001 +1111010101111100000 +11001111011101 +10000100011 +1000001001101100001 +1000110011101110110 +101000101011 +111010000100 +1100100000010100 +01100101000 +01111100000011001 +101010000111010001 +1011011001 +0001011001111100111 +100110000001110011 +0010011000111111 +101111000110110 +10010110111011110 +1110001010111000 +1000110010 +0000010000000011 +01100011000011010 +001101001111 +010111101110 +11101001011 +10110110010010 +00011101100 +10101011001 +10110000101100 +01010011101 +01011010101 +0010001000001 +011111000011 +011010100100 +1000011111010 +110100101010010 +11001010000110000000 +01010001100100101 +101011110010 +100100101010 +011100000110001 +10110110000100 +000010011001111 +0111001100011101110 +000000011111001 +00011101011 +01000010000 +100010000001 +000001100101 +100010000111 +0001111100010 +11010001000100111100 +0101011000101 +0000010101 +10100001010101 +1101110101110 +00000011010010010101 +0011011100010 +10000010010100111010 +11101101111000011001 +10111011011010 +010100001100110111 +01010101000100 +11101100101000 +01100001000100100010 +01100010101101001110 +1101110000 +1001111100101010111 +0000101011001000111 +101110100101101011 +1101110001010010 +011101110001001 +101100110011011 +000100110001011 +1110100101 +101101111000010011 +11010110101101001011 +011100101111 +10100110000000 +01111100100011001 +1110000111000000 +1001001110001110 +0100101111 +0001100000100 +00100001111011101100 +110011000011110 +001101011110001111 +11010011010000011 +1000101111 +0100100110000001001 +1000010101 +1111111111110 +010011011010011110 +101110010101 +001100101100 +010110001011100010 +0011010110111 +001110011000110010 +1111000101011001 +11110010000011011010 +01111001000011101001 +1010011101100 +01000001110 +11000010110101111 +10100001010 +010011110010110000 +100001010010001 +0101110101101000111 +111100001010 +0111111001 +11110000111000011 +110100011110101010 +000111011001 +0001000111000001 +110011100110011001 +001101100101 +1001001101111000 +101011000010 +1000001101000010101 +0000101110001 +110001000000110100 +11010100110100000 +100010100110 +10011111100110111001 +11010100110101 +111001011001 +110100110111001 +11101101011 +0100001010000110 +01001010010 +010011100010 +1100111000110000 +011001001001100110 +010010111110010000 +10111101001 +00110001100011000 +01101001011 +0100000001 +11111101001110 +0011011111101 +10010000010 +11010011100 +0001100110 +010101011101100 +001011011111000 +0110110000110110 +10110111110000100111 +1100100011010 +10010100110011 +010110110100111110 +110010010111001 +011000000010010000 +11001101101100011 +010010111111010 +001001001000101111 +111100110001000 +101100110111 +1100101010101000 +11100100011 +001011000011110 +11011110011100010100 +1011010001011100100 +111101010100 +11000101110000101 +01001001100011111 +1010010010101101000 +11011011000111011 +1010100010011000000 +1101100100101 +01010101111110 +000001010111100001 +101101110101000111 +01010111111011100101 +110011001111 +001111001101 +1000100011000 +0111100001 +01010001110110111101 +00000111011101 +1100110110001000011 +0101101001110101 +11000110001 +00011111110100000010 +1001000001 +00111111010000101 +0011011101100011001 +00000101010101010001 +10011000011000000 +1000101110 +01000100001111110 +1001010011011001 +1111101101100100110 +0110011011001001010 +001001100011010 +000000000100101001 +001011000001100001 +001011011011101 +1010010001011 +1111110101110110010 +011111000010000 +101000101101110 +10010110100100 +01100011001011101 +0100100101 +0101111000010111000 +01000000000100010 +1011000111011010100 +1100100111110010000 +0110001000101 +11110100110 +00111111110001 +1011011110 +011111000000011 +10101110111110 +01101111100000010010 +01000101111010 +1101001011111110 +110111010110001 +1010000111011000110 +001111000000 +10111111111100 +0111001100 +0011001001 +0011001100001001 +001010100010101 +1011110100101100 +111010100111010011 +000010110100011 +010101100101 +11001100000000 +0111101110 +1001111000100010010 +0100011010000000 +0011000000011001 +011110111100 +00010100111 +00100100011 +0101100001010 +010111101111011101 +100000000000 +0111011100 +1111110110 +11011001011 +01101101101 +10100101010 +1110011001010111 +001001101101011 +0001100101100101 +00001111010 +10001000000 +101001001001110010 +111100011000 +01101010001111 +11101010100011 +10100011011010010 +0110101010110000 +01111011111 +1100011000 +100111101001 +10010011100001011011 +0111101000011 +000001110111101011 +0111100001000110 +101100000101001001 +11110001110001110 +11011101010001110011 +0000001110011100011 +10110100100000111 +0101100100100110101 +0001011000000 +00101011001010 +00001010001000000101 +001010110000101001 +11001001000011100 +000110110000010001 +1101001110111010110 +0010111011 +1000101110110010011 +0000011101100 +0101010001 +111001011011 +110110001100000 +0011001110101 +0101101110000101 +1000000110001 +1110101010100001111 +00111001100 +111011110110 +01000010111 +1101010011001 +11111011011 +1101111001010110111 +11100100100111 +0111111001011101001 +00011110011 +00000010000101010 +100010001000111 +1111001010011 +00000100101111010011 +01101111100 +0111110010 +000011101110100000 +11100000010111 +001111010001010011 +01001011000000 +01101000100101001 +101110010111 +01011010110110010001 +100011110010111 +11111101110000000100 +00101101010101000100 +11010001111001 +1000011100111010001 +10110011110110111100 +111000100000000001 +110010011101 +1001100001001011 +0111011110110000001 +01011011010100 +10110101100110011 +11010100001 +0110110100100111100 +11011111101001111111 +10000011110100 +1010100011 +00101000110111000110 +0000110111 +11000110110000 +0110000101000 +1001101110101110 +10101101110 +00111010101110 +11000111111011 +100110100001 +111000100001101 +101001010100000 +00110001001111001 +01101000011 +1110000000000001001 +01010110110100100101 +101110000011 +1100011110 +00010011111000110 +0000001111100101 +10000111100011101 +01101101010001001110 +1001000110 +1000011011010011 +11110001001001 +01001110010 +0010111011111011 +11011010110101010 +1010110101110110010 +101110111100 +00111010011010 +1111111001 +0111101001011101 +10110101001 +1011001011010101 +01001010101011101 +110011111000110010 +11110111101 +01101000010 +100001000111100 +00001000101000 +100000011110 +010101110101011100 +0110100000000101100 +001011101111 +111111101100101 +1111010110011010101 +001101110011111010 +10100100101 +0000011000010110101 +01111111101 +00101111000 +010010010100100001 +0111111100011 +101101000010100110 +01000101001101 +0111100000001 +100111101100101000 +10011110010 +1111000001 +100101011100000 +110100001110 +111001001010110110 +00011000000100001 +010110100011010001 +1111000010010 +1010111101010 +01100011001 +000110010111110111 +01011011101001010 +1011100001101 +0111010101100001111 +0010010010 +001011011100101011 +10011111100011 +010001011011010101 +010100100101010001 +01100100001000010100 +00101010100001 +000111101110 +1110011101011100 +001010110010011101 +10000001101111 +11000101110101 +000001011000 +01011111110110010010 +0001100000010111 +01011111001010101 +11000000100100100101 +0100000011 +0100111000011110 +000010000011 +010010011100000011 +11011101010 +1011110101000001100 +1001011101011 +10100011110110010 +11101010000001 +1000000011101111101 +1101111000011110 +10101001010001010011 +10100111001110 +100000000001010 +000110011110001110 +110101100010000 +01111001001011 +0011011100 +0110010011110101 +00000010001 +01100110001011011010 +11011011001010110 +00001011011000100111 +1010000001 +111111001010010101 +000000100001010110 +11100001100010100 +100111001001 +1101010000011000 +11001101110111 +01010100100110110111 +101101110010001 +011001011100011111 +000010111101100001 +11101110000100 +1011100000000110011 +1101010001001001 +00111101001 +001000101001 +000011100010100011 +100100100101100110 +000111110000 +010001100001101101 +10000011110 +11001001010101001 +11011001101100 +1111010000000 +000110110010 +111110001101100 +01100010001 +11100001100011001 +101001110001 +0111000001101 +11001011110010 +1011011100101 +01010010111000001 +1001000011 +00110100101100010 +01000001101111110 +111001010011101 +00101110100010 +100010101001100 +11100010011000 +101110001000111 +1010110000 +00001100110011 +00010010011000 +10110111000011010011 +111000001110111011 +11001111010001 +1001011110100001101 +00110111010000 +001100101100000 +10001001001010 +00000011001 +110101100011100 +11010110000000 +01001110110101101 +0111110100000101000 +0011100110101 +0001101100111010 +011101110001100 +11001010011111111 +10110111100100000110 +11001001010 +10001010010110011001 +0101101000011100111 +11111011110101000100 +0001110100011 +01000000110001100 +1100111011100101 +10001111111100 +011011100101 +101010000001000 +110110110010 +11001000110010 +01101010110000110 +11011010111100100001 +1111111111110100100 +01010101011011010101 +00000011100 +00100101101101 +1111000101001101001 +00100100100010011111 +100110011001 +10111110111001110010 +1010100000001 +00101001110011100011 +11110000110000100 +11001101100 +101000100001100110 +0010100100 +101011100111 +0111010010 +1111001010 +001110000111010 +001001100111110 +001011111010010 +001100111101 +1111100011101 +10110111101110001 +110010110001 +111010010010011000 +0000000010101001 +11100101011111 +01111100101011010011 +0101110001111010001 +00000110001111010 +01111100111010 +11101011111011 +1000000100 +11000010001011010101 +10001011101010 +1011101100 +101110100010010 +000000110110010001 +10001000100111100110 +0001100110011011 +1001100001 +110010011011110 +1101000011110001 +0010110100101010000 +100110011000100 +10011110110101111 +10110000110001 +1101001000001001 +001100110101010100 +0111000011001001 +10011111111000 +00011101101101 +11010101101101000110 +0111110111010011 +10001101011000011 +110100011110100 +0010101101110110 +1010100010 +011001011111011 +0111011111001100010 +000010010101010000 +011010100001 +010000010101 +111100110001000 +00011101000001010110 +110101101011110 +11010011101101110111 +1011001000 +0110101010010001110 +111100111111011100 +1101001001010001 +001100011110 +11111001111111100 +1100010111000100011 +10111101100001100 +1101101010100100 +110010111001010011 +101100000101001000 +10011101011 +00011110000000010 +1010010111110000 +10100110000011100 +01011110001111101 +1011111101010100110 +11110110001000 +1110001110 +010100001100001001 +01001100011 +111101110011101010 +11100101100001000 +000011101000010100 +001011011011111 +11000101010101011 +0111101011 +01100011010111100011 +000101010111 +10001100111111110 +011000011010 +00110001000 +00001010010001101111 +0000111011001 +001011101010100 +0110001010110 +1101111111110 +101111010010 +111001100011111 +0110000111101100000 +01011010001 +01111011011100 +00000110101 +00101111110001 +01110101010100 +0001100010110101 +100011000100011 +011001010100010111 +01111010011101010 +0100111010101101 +111000001010010011 +1110001111110001001 +011000011100010011 +111111000110 +00111010101010 +000000011111 +10000010100101010011 +011100101111 +11011100101 +100011011110001000 +0111111111011110 +100001100101100001 +010101111110 +0100011110110000101 +1011111101010100010 +10110000101011011 +1010111101010011111 +00010101101000 +000101010011110011 +1011100100010 +01101110000011010010 +1000111101 +0100101110 +1010111111 +101111110100011 +1010101111 +0011110110010 +10111000101 +1110101011 +011101110000110101 +1001111110110 +111010110110001 +0001010110101 +01000000010 +111010110010010 +10001011101 +0001001111000000001 +000001000011 +110000000100011 +11001110111 +10000100100010001 +0011001100010 +111111011011 +001000101111000 +01110011011011011000 +11111110001110 +101000001101 +1111000110110011 +1100001101110 +100100101010100101 +1101001111001011000 +11000100100110011110 +010100010111011100 +0001101000100111 +0111010110 +1010011011000011000 +1010001100111 +011111100001010 +01011111110111000001 +100111010111001111 +01101101000 +11001010011 +110101010000100 +111010010011000 +0000111011001100010 +011101101001110111 +010101010001100101 +00100011111101 +10011111001 +0100000011010001011 +001110000100101111 +11011010110010001001 +01110110011 +010001001111 +01010100010111000 +0100001110011111001 +11001010101110 +0110011001 +1110110010001001011 +1100111100100 +010101100111 +00001000100000110000 +000010010000 +110001001111 +00101001111010 +00000100001100 +00100011011 +0000111001 +11010010101001 +10010001000111 +1011110000010101 +0110100001010011 +10000111110001010010 +1011110010 +00011010001101101 +0000110110011011 +1001111100001101010 +11011101001111 +1100100011100111 +11110010001100111 +001001011111001000 +01011101101011 +000110111010101000 +011000101100 +1101101010001 +00110100100 +111110011100001 +000000001101010000 +1101010011101111110 +001101100000 +1001011010001110 +1100001001000111010 +0000110000011 +00100000010011010 +00000110100001001011 +011101010100101 +0000110011011 +101110010000011 +110110111011100 +00100001001 +001011111001 +0101000001101001 +1000011001 +0000010001110000 +100110110101111 +1010010110110111 +0001011100010000 +10001100001111111 +111101111100 +01001110001 +0100111010101110101 +1011110010010110100 +001101101011010 +0010111100 +111010011100010 +11010111101001001 +10010101111100111111 +001101111111101000 +110001000110 +0110100111 +110011101010100001 +01100011000010101 +01111111101101 +1000010111011111 +010111111001010100 +01010000010100100101 +1000111101111010010 +000001110001 +101110011111000 +000011011101000 +011011111001 +11101111110010 +01010101001111 +010110101111101 +010100111010010 +1010110110 +00011011111110001 +10100011100001001111 +001000100010100 +11101101010 +001110100010010100 +111110100110101 +100111110101 +101001001000100 +1000100000011111111 +1000101101101011 +1110110010 +10110011000 +00110110001110111 +01000110100100 +101100001101100011 +0111011010000111 +101010101001111 +11111110010010011111 +11111011101010 +0111100100 +1011101011011 +010101100001110001 +1101000100 +11101110100011100 +10000001001 +011000110100 +0101110100111111 +010101110000 +10001010001110110 +1010001001010 +111111110011100 +0010111101100111 +00110000101111 +0110101010101001111 +10100100110 +111100001110101 +110000100010011010 +10101000011011 +11110001100001 +0110001010010 +100010100000010111 +0101101111011 +1101100011010 +001001111100110 +11110011111 +101100101001011101 +11101111000000011 +110000000010 +100010111000 +100010110101 +011000000010011 +1000010001010 +1000000100111001000 +0011010100 +001000010111011 +0101111101 +10011110111 +111001000110111 +11010000101000 +001011000111 +0111100011101000111 +1000001010101001001 +000011100100100010 +11100101111111001000 +100001011100100100 +0111111110111 +1100001110 +011000111111 +110101110001110010 +0110010111111001110 +101001011110 +101011000011010 +1111101110010 +100001100001 +111101000011001 +110000011101010100 +01110010011011 +0001101000 +1010100011 +00110100011 +0010101011000100 +11011111011101 +101001001001000111 +11001011000001101100 +10101111010001 +1111100000000100111 +110010101010110 +110111101001101 +110010000100011001 +00110011011100 +11000101100100000 +01110010100111111 +0101111001010100000 +1000001111110100 +1000001110110000 +00011010010 +01000101111 +1100001100111001011 +001100110100 +00010101110100100000 +001000010111111 +1101011101 +010010100100 +110110010100100010 +100101000001 +11110000010100001 +0011111001001 +01000001011000011 +0000110011 +11111001100101000111 +1111111100 +00011100110000000101 +1000001110100101 +0011000110001111111 +101110101111010000 +00011111010 +10100000010 +0100100111 +01011001010100 +10001110111000001100 +0010000111 +0011000100001011 +1111011001011 +1011101001 +1011110111011010001 +0101000011 +10001100110100011 +1010101010100010111 +10101000011 +0001001101 +1000011100111110 +110101001100101111 +01101111010010 +00101011010111 +001010101110 +1010001101 +00001001000 +1010110010111 +0001011110010000111 +000101101011000110 +1111111101110 +100110011000110 +1011100000011 +01111101001000000 +100001111111110 +11010100001010 +110010100101 +1111001000 +0000101010110 +101101011011111011 +1010011010110010010 +100000011110 +10001101011110000 +11001000101110000000 +010110110001111 +111111001000 +1000001101010 +10111000111000011110 +01011101100111001110 +0111110111 +001111101011011010 +00110010001011101 +10101100110000100 +1100000100011101 +1010011110001001 +001101111100011010 +1100001001 +111110011011000100 +011010010110100 +11001111101 +0000001110001010 +000001111010 +011100000010111111 +00011110100 +101110101011011110 +0110011011000001000 +1101111000 +0001001101011 +1011111000110111 +1100001111001000 +000011000011101101 +000010100101 +001011100010110011 +1000110010011010 +1000111000100000011 +0100010001111110 +0000110000010101011 +0110001000101110111 +10100000100000110101 +10110111111001100 +011111100010101011 +0001101111110000010 +0011111001101 +100011110100100010 +110000111010 +1010010111101011101 +11010010111111110010 +010110111011000111 +1111101110000 +11000111111 +00011000000 +011100001111 +00101110000100010 +00110111011 +1001111100010000011 +0001100001101101010 +11010111100000011 +0011101111 +01100010110110 +11100011011000010 +000000010111011 +01001110010 +0101011000 +00011011100 +0000011110 +100011111010001 +100101011101100 +1011001111101 +1000101101 +01000111111010111000 +01100111101101110 +111001011111 +01100110101 +11101111100000110100 +0011000101110101 +100110110010010111 +111010100011011 +00100100111010101 +001011111101 +00000111110010 +0001000100 +101011110010 +01101010000010 +100100010001 +00110011011 +0001101111001111 +1010101111 +1111001001100000111 +01011111011111 +011001111010000 +000110001101111101 +0101000100010010 +0111001100100 +0100001111 +000100111011 +1101010001000000 +011000101101000100 +100100010111 +10111000111001100000 +1110100000001110 +11011000011 +0111000001101001001 +11001011100100001110 +0011000100011111 +111001111000111011 +0100110110101 +10000100101001 +011010100001 +11100101011 +000011010101000001 +00101100110011100 +1100011111101 +1011111101011111 +1010001010001001010 +000101111000100 +1100011010 +10111110111 +01001000001000100 +10011111101100110 +00111110111101101 +100111010001 +0011111101001 +01110011110 +100111000010111001 +0000001111011010 +1010000111 +111001000111001001 +1111001000010111 +1000111001 +0111001010011100 +011111000001110 +001011010001 +10001011011100 +00010110100111100011 +1010111010000000 +10001001010 +1000101101001 +11001101111110 +01000011111101110 +0111110110101001 +0100110111010000 +0101001000 +00111100010001001 +1001000010 +000010110101 +11111000000110111 +11110101111101000000 +1011011011111 +0101011000011 +1101101111011 +1001111111010 +10111001010100001101 +1010100000110 +110010111110101 +1111111101110110100 +00000111101000 +0110111010 +01011010100 +100001001010 +0100111100 +01010111110 +0001111100 +1111000100011 +11111110010111011 +0101000110100010 +0110111101000100111 +0110111101100 +1101001111111 +100001011010000 +1011100111101101 +010101001101001000 +0011000100 +00101111000110000 +01100011110100 +01010110000 +110001100001111010 +10101000111100011 +11111100011111 +10011011100000111 +0110000010 +11001001001101111 +011110011001 +10111110101110100 +0011001111111 +1011111111101101 +11110100001111111010 +000110011000 +10111000111011100011 +1010000101 +1110110101010000 +1111110000110000110 +0100000111001110 +11111011110110100 +011011011000101001 +0010001000011001100 +1011111010001100110 +1111100110 +0000101000110000100 +1011110010100010011 +00101011101110011 +001001001011001000 +10011010000001101000 +00000000010 +1001001110101011100 +0100000000 +1010111011101001 +0111111110 +01001011001 +0001010100011000000 +1010100001110001010 +11000011011 +1101001001 +11000000000100000100 +1001100100001110011 +0000001101011 +10100000001000101001 +0000101111010110 +110110111110101 +0100001010101011 +110010110101001 +1100011011110 +011001011001001 +0111111010110100 +0001101111 +11010000100111001 +0001001000101 +01101010110 +001000101001000 +011110111011010 +00100100011001000100 +0010111100000010000 +1111000001000011 +10011000110010101010 +1001100111000101 +0000110001101001 +01000101010111 +101001100101 +11010011110011110111 +0001111011 +0001101001 +00000000100101111 +01010111000000101001 +110110000011111101 +1010010001100100010 +11110111000000101100 +0000000000100001 +00100011010100 +001100111101010011 +01111000001110001 +01001001111000010111 +011101000000 +0100010011 +10101110111100010100 +001111110011011 +0101010100010100101 +1110010101000 +011100011011 +11111000101110 +10010000011100110 +111000000101011 +000110111000100 +10001001011001 +010110011110 +1100011111010 +0110111100 +1000111111100101 +111010111000001101 +00010010100001001 +011100001101000 +11100110111010001 +00000010001001 +10111111110011000000 +10010110111100010010 +00101110000 +1111101001001 +1000100110011000110 +11100000010 +00000001011 +001000111000001 +11110001100110 +101000110000011110 +00000101101000 +0000100001 +00011110101010 +00101100011100110110 +1000001101010 +0100111011001 +1011100000 +010101101101001 +1101111000010101 +1100010001010 +11010010011110000011 +001100011010011000 +010011011111 +10011001011011 +0001001100011010010 +1100101011100000001 +11110010101111011 +1101110100011 +10110001110011111001 +11101011011110000 +0000010100 +01010010100100010110 +101100011010000010 +00111101011 +10001001010001110000 +000000111001011110 +111101101000 +1011101101011 +011001010100 +100000001011001101 +011010000111101101 +0011100111 +011100101010 +10001011100010 +110101101010 +10011101100011100001 +111011111000100101 +000111011000111011 +01001000100 +0000011000 +00001000101100111011 +1001110001000010 +1101111101100100101 +11110111100 +1110101010010011 +001010000000000 +1010001111 +11111000100110100011 +10110011101000 +101001100100 +10010101111 +01011111001011001000 +1111001010001101011 +100100110111111 +111011001100011010 +1101010000011100 +010001000100010000 +0110011001101 +111111111010 +000101101110001 +1100111011001 +011110101000111 +1111010100 +001000011110110 +01011000010 +0110001010 +0110011000001 +1011011010 +110011101101110011 +10000001010 +1000111111110 +101101010111111000 +1111010101100110111 +0001100101110 +110101100111 +1111000000110 +110001101111 +11011001111010 +001010101011 +100110001010011000 +1111011110 +10111001110111 +100110011110110101 +01110001100111000 +0110111011100000110 +00000011011111111 +0100100100010 +00100001000 +01010010011100110 +010101000001101 +0100011101101010 +00001111011110011101 +110001110000001111 +1110110011010011101 +100100101111 +1011111100111101 +1100000000100101 +00111010010101001001 +1011000100 +1010111111001100111 +1011000010010 +10100011011101 +11110101010111 +00101111001100000 +100101010001111001 +10010100001 +0100110001000000 +0111011111001101 +011101111000 +111010000011101 +11011000011 +110110101111010000 +0111000111110 +00010000000 +1000000100101 +0011100011010001 +10011010111101001011 +01001001100111 +1010010000011011110 +11011100001100000 +0101010110101011 +01010000011111 +1100111011000 +11011111110000 +000101000110000001 +1011101110 +00011010001111010011 +00001010010100100 +00001100111 +0100110110 +0011101101011100100 +10101100011 +011000101101001 +01010100011 +11111001110011001110 +010111011110110 +0001101100111111 +0000110000100 +10100110010111 +1000110010 +0101111010011101 +11110111110100011001 +01001010000 +00110011010110011111 +00000000110111110 +0011000000111010010 +00100101111101 +1010001111001 +10101101010011 +0011001000 +11100000100010001111 +11001010000 +11000001001100001 +011000011111010001 +111010110111 +0111010111 +1111001010 +1100011101101010101 +11101011101111 +001110011000011010 +10111000101101001 +000000100100 +1111101101101100 +110110101101 +1100100000100110 +01000100100001 +0110101110101101 +000101100110000 +0001000110001 +1100011011000011 +1000010110 +1110001001011111001 +110001000111001110 +1100101111111110010 +0111110011101 +1100100010110 +1110010100100 +10010100100111 +0101000001 +1011000001 +10001100000 +101100111011 +0111101111010 +0100110001011000 +1011101010 +01000010110000 +01110100010001110010 +01001101001100 +001111100101000 +0001110100011000111 +110110001010010100 +01001101000110011 +00111000000010 +010001111110110 +01001011011 +11011011100100100 +1100110100 +0000111001001100 +01011110111110 +00001010101001101101 +100010001001 +10011000100001101 +0111110110010 +1100101110011111 +11101111011010 +00010011000 +0101110001100010001 +011001000010101100 +0001100000010101101 +10110100010101111 +1011000000010100011 +011011100100 +1010110100001001 +0110001001011 +1011111011000111 +000001001100 +000100011111011101 +1110000111110000 +11101100001 +011000111011 +0001111100000100 +10110111111 +01111011101 +011101001110 +00011010000011000 +10100001010 +01111110100100101001 +1100111000011110 +110111101111101 +1001110100010111 +111001011111010010 +1010101101101101 +100111111101 +0111010001000 +11100000110101010101 +11100000100 +01110101010100010 +1101000111111 +10110101000010 +1000100101110 +1110000010 +00010010000000 +000101010101 +00111111010110001 +01111001011111011011 +10101001011 +111100111100 +00010010110 +00011111100 +001111000101111111 +01111010001 +1100010001 +1010110111110 +101011000100110 +11011110001111001111 +0101001010 +011110100011 +111101101111111101 +10011001100110110 +11101010001 +011001000111111 +1100011111101 +1101111111001100 +010100100010000 +010101010110101 +11000000000110011 +0111110001110 +010000101110 +0101011011000 +1110110101111011 +10011111110 +11100010001 +00001111010000011010 +11111110110010010 +010101110111000111 +110111010000101111 +1111000100 +101111011110 +000110011010001 +00111110101 +00011010101100001111 +0110011111001110 +00011100111111000001 +01100000110010100 +10100111111000110 +1011110110010011 +10000101101101111 +01111000111101011100 +01011101001001110 +010111010100010 +010111001110110101 +0111110011010011 +1001111011000 +1111101000000001101 +1111100011 +0010111010110001 +00111101001110111100 +1100110001110101001 +001101110110011000 +1010011010 +0011001111001 +10111100011001010 +001011000101 +001100110000011000 +01111000110001 +00100100100111100 +101011010100100 +110111010100011111 +10111011100100 +010001001010101 +101011100001000100 +100110100101 +110110100000000 +00110011100011110 +01100100100 +0010100001000010001 +10100111100100011 +01101101100111111011 +001110110011011000 +1010001000 +0110101011110111 +101101111111111110 +110010101010 +0110010001010000 +100011101001000 +010011000100 +0010100010000100 +11101011011110110 +11011110000101100001 +1011110111011100000 +1001101100010001001 +0111011010001000110 +000111011111110101 +00100010100011001 +1100111100011010 +01000010010001 +00101000001011001110 +1011001110 +10110110110 +0011110111110 +0111001010011 +10101011010110 +110111010010 +0100100101000 +0010011110011 +1001100101 +111000110011111011 +1101111000010011000 +01011101001001110011 +110110110101 +1101011001011 +000010001001000 +11011100011001 +01101000011010101100 +0000000001000011 +00000111011 +10100010101 +01010001001110110 +11010111000110000 +00000010111110000 +11010110001 +11010001101001000110 +10010010100010 +001000010001101 +11001010101101 +01110100111 +100111111001 +0000000000 +10001001011101110 +0110111100100011 +101001010101 +010010000010 +01101011010010111 +0001101010110000100 +0000111010001 +1110101110 +011000100101111101 +010101101010100011 +0110011001011101110 +011100010000 +10100011011111000000 +10101100100101000100 +01011100010001100 +011111011100001101 +00110010000101011 +001100110110 +01000110100 +011101000110110110 +110100011110 +01001001000011100001 +1111111001000001110 +00001010100100110110 +00101110000011010 +00000001101 +00011101010100 +1011011001011100 +11111011010110 +01101101110 +000010100101010 +1011100101001110000 +01111111010011 +0100010010 +101010110001101 +011000001111001001 +1000010100111 +001101011000000010 +11101010001 +0110000111010 +011000101010110 +1000110111 +001101111001011001 +00011011011100100111 +100010011101 +001101101101111 +001001010100011 +10000010011010 +110000011001011000 +0011000111010 +010100100110101101 +0100100001010011111 +010011111000010000 +1110011000 +1001010011 +010110010110010 +001101000101100 +00000100100000 +100111010110 +10100010001010 +0010000000 +00111010010000111 +100100111000 +001011001011010110 +10111011110001011000 +10110101010001101111 +0001010001110101110 +011111000001111 +0001100001001001000 +00011011111100011 +10010010110011011 +1111010010110111 +0100101110110 +0101111101000 +0110101100 +10101001101001110110 +0001011101 +011100100110110111 +00010010101 +0101110110 +011110111010010 +00010110000000110 +1010100101010101100 +01010001010111111011 +10111101010101 +1111110001100011101 +10101000000 +0000010001 +01010101010010000 +1011010110101011 +1001011111001 +1010011110100101011 +0000110010 +101010001100100000 +00011111000001011 +00100111000101 +11000001101010111000 +0011111110100101111 +010110000110100001 +01110000100010100101 +01011101110 +01110000101111 +11001110100 +0000000011010110 +00010000110 +110010000001000 +101011100100010 +000011110000100001 +11101101100100 +10011010111010011 +1010011101100101100 +110111010010 +100010001111100010 +01001000111 +010000010011010 +00011110101 +00001110001111000 +01100010011010001100 +0100010001001011 +11110111101011 +01101110111101 +10100011011001 +110110100101100010 +00001110001011 +1011010010110 +1110010010 +001001111110100100 +11010011110010011 +111100011101101 +00011100111010001 +11001000011111010001 +111101110100000000 +00110111000110011 +0111101100000100101 +011101000111 +0001001001101110 +111100001101100 +100011010101001000 +0110100101011 +01100111101000101 +0001010111010 +001100101111000000 +0111110100 +1111001000001000 +1101011001 +00001100110010 +111011110001100 +100111110001010 +010110100010111100 +0001110011011001 +011011111110 +111101101000001 +101001111000 +0001010011111 +1010101100101001 +110100011100 +0111010101100010111 +00101010001010 +1100111000111111 +1000000111110 +101110100100101 +10001111101001 +110101100101010000 +1100011111000001010 +1010100110011 +0010111100100100001 +01110011010011 +010101000010100010 +00101001001010010101 +11010000111 +10100100010111110 +00011010001 +11101010001 +01001100000 +0001100100000 +010101001001100111 +0110111110000010 +000000111111101 +001110100101 +10110001101101010100 +111110111101011001 +00000011001101 +1001001110 +100001001011011111 +0110011100000111 +10110111000 +1000010000 +00110111111 +101010001111 +10101111111100 +00011011001110010010 +0110000111010000 +1111010010100 +11110110110010110 +01011001011011011011 +11101010010111 +01100100001011 +11111011010 +010011001001010000 +11010110000 +1010110101100001 +110001111111111 +01101110010 +111111000101111110 +01000010000010110101 +0101011010100011011 +10010111000001000110 +1001001111 +1111110000001000 +01110000010101111010 +01101100111001000110 +10111010111110000 +01101001111000111 +10001111110 +100000011011 +0001010011000000111 +001100101001000111 +1111111101 +00110001000000000 +011100011011 +0000001101010110 +11100111100010 +1101011111 +0010011011001 +1110110101100 +0011011010010 +101011101110 +0101111011100100 +010001100100100 +0001111001010011011 +01011000100110011000 +011001110100101111 +10000010000001110 +110011100111 +11000100011100001 +0011111100110 +01111010111 +00101111000100010 +0000101010001001000 +101110101100 +101000011000110 +01101001000 +1111000010 +0011011111101 +01100111101001 +11011110101000100 +1000010011011 +10100001001 +0011011100100000 +000111100110100 +01011001001011 +101000101111000 +000001010100110001 +00011000011001011101 +111010110000 +1100110101011 +10010011101 +1011001000101111110 +111100011101110001 +111100001110100100 +0111000111000010 +1100001010010100110 +10110001011011 +101110000000 +10011100011100110110 +110101111010 +10011001111011100 +0011100110 +00010110011001 +10111101110101111 +000010111000000 +00001110011010 +0101001101111110 +00100000110011011 +101101001011110 +0111001101011100101 +0101110001101 +0111010111 +1001110111011001101 +11100001111 +010111010011011 +0101100101111011100 +1000000000001010 +01001111010100101011 +000000111110100 +110100100000010110 +00101000000110100 +001001111110010 +00011110001010111111 +10010000011011 +110000101110000 +0100001011010 +1000011011010011 +1111101100100 +100111101001110010 +110111010101010 +000100101110100101 +010101000101010101 +1101010101110 +1000011010 +100100110110111 +000111011100100 +1111101010000110110 +111001010000001110 +00011001111110 +11000001111 +111101110100011 +00111011100000101 +10000111111101010000 +10000011111110011 +11010111001110 +0010101011 +0000001111011100111 +001100100010 +001111110010010 +0001111101100010 +1110001101000001 +01000011111101101 +000011110011 +001001110101 +10011110000101101110 +01011011000111110 +1101011110010000100 +010011100010 +1000101010111010 +001000101101 +0001110010 +100110010111100 +110101010000011101 +0111111100110110 +1011000011 +101111011110111 +101010111100110 +111100000010 +11101111000 +101000010100010 +11000011110010111110 +0100000000010 +10101110000 +011100000011101001 +011101101001100 +11100011101111110 +000010001001 +00101011011111 +1011010011 +1100111110011 +1001110011101000 +000101010000110 +1010010001100010 +111001111110100110 +00110010011 +011001100100100010 +001011000101001101 +0010011100000001100 +0101011000 +0110101101001 +1001101110101 +110001110100100 +110110111000 +1010010110 +10100111001011 +011110010001101 +0100011010100110 +01001110101010111 +111101010011101 +1101111110110 +01010001110 +0101100011 +00100110111 +111101001110 +1111001100000011111 +001000111000011011 +0000000011100110 +10011011011110111010 +1100001001011 +1010111111011 +1001111110 +0101110010011001 +001011110100100101 +001111011010110 +1101100110001001111 +10101100100000000111 +00000100100 +001001000010110101 +1011011011000110111 +01111001100100101101 +01011100110011 +11111000111100 +11001001010011011101 +001111001001011100 +1011110011001101 +0111100010 +11010010011111010 +01100010110011 +10110100010011000110 +11010111001101 +001000101110000011 +10110000101101 +1010011011110001 +110000100100010110 +10110100000001 +11111011110110111 +1011000101 +00111010110110 +001001000001111010 +11111111110100011101 +00001011001011 +010110101100 +1111001110011 +10000111100110101001 +0000101001010 +00100111111001101001 +111010010111011010 +000111011111111011 +100010111111 +1111111000101 +10010000000000011110 +100001100011101 +11110111000100101100 +1001000001010101111 +10100100000100001 +1100010111 +00010000011110000 +0000110001011111 +00000100011 +0100111000 +0111011100 +1011110001101100 +1101100000111 +00010110110 +001100110110101011 +110111000101011110 +10000001011001000 +000101011011 +101011011011110 +01111100011 +001110000000011011 +110110001001111100 +01100011110000100011 +10011000110 +10010010001001 +0101011000011000100 +0000111111001111 +001111011011101 +010010001010100 +01100100110111110100 +1101011101 +010100101101110 +1010101100 +01010110101100 +0011011100 +110010001100010 +000001100001 +1110000000111 +0001001111 +0101100111000100 +01101000001 +1100101100011110 +100010101011001 +000111100100010 +0100000011101 +1001000111 +0111111000000111 +11011101000011 +0110110101111001 +00100010000 +101101111101010010 +1001100110111000 +0100101111011 +1010110100 +010110110100 +0000100111001 +11010000110010001110 +0100110101 +11110011011000 +100011101100011100 +1011101000 +01011000110000001 +000000000111 +010001001011110001 +0010101101101000100 +0111111001101 +1000111110 +00110110101010 +10000000011000100 +100111111010111 +111101101100000000 +1010010111 +11000111001010010 +1011110000011010 +10101110011000110001 +001110001111 +0010101001111111111 +0100000101111101011 +0101011100010 +11100100100 +110100001011110101 +0001101011001111 +000000110111 +011001001011 +001010110000 +1100100010011000100 +1010110010110101 +01101101100 +0001001101100101 +1110110101100 +0010100011111011100 +10011100100110 +10111010100000000100 +010101111110011010 +100101001100 +101010100100000000 +011100111000 +010011100010001010 +1001010000100101111 +0011010110 +10000001111010 +110010010100101111 +11000000111100000 +0000100011111 +111000101011101 +01001100111 +0001110110 +1000111111 +1011000111011001100 +0001100011100011011 +0000110011111000 +1101001010000111 +0000011000001110101 +01010101111100 +00110110011011000011 +0100110001101 +1011101001010 +1101101011111101111 +01100111010110000000 +01010001110111001 +01000101111 +01100000110000001001 +01001111010000 +10100111000 +111011110101101 +001111101000000111 +0110101011101001 +1001101001101 +011111110100001 +1110001010 +101010010001010100 +111110110111 +11001000101100 +1110101111010 +1000111011101011 +1001111000101 +01011100101011101 +00011110010011010000 +1111111101011110 +1001001011101101001 +10111011011000110011 +01011001101100 +00000101011 +10011011010 +01000010011 +1001111110110100101 +001001110010110011 +00100001101 +11010000111101000 +01011110000 +0110111011110011 +0101111101110111100 +10110001110 +01000100011000100 +1011101011001 +1001100000011 +10010111101011001 +101011100001111011 +1011101010 +1100100001000010 +0000000010010101 +1110001010101101 +0111011101111001 +1000111000101010101 +11101100010100001101 +10101110110000 +1100000001110111001 +01010100001 +1101111010 +1000100001110110 +001100011100010 +001101111100111 +10001010100011101 +1000100000110 +000001011101010 +010100101001110 +10100011111011111 +01001111110100 +011101110111 +111010101101001 +11000001100100100111 +00100110101100010001 +01111011011101 +1101001100010000110 +11110100100 +000111100100010100 +1110011101 +010001100001000101 +00110110110 +00100000110100 +00010111110011000111 +1000110101101110111 +101101001010 +00110101011010 +11011000101000000111 +0001010100010000 +100000011010 +110100101110111011 +111010010010000010 +100000111100 +10010100101000101 +0011110101100 +110111011101000100 +00101110110 +1110001111000 +100010011111 +110100000000111001 +0101101001111101 +011101100000110 +110010001100 +1000110011011011 +101100001110 +0101100000111010001 +011000110011 +11001011101000 +011100101001000100 +00100111010101101000 +101010001111 +11010100100000001101 +111100100110101001 +011000100001010001 +01011100101101000 +101001111100 +1001100100 +1001001111111101111 +010111101000 +0111011101001 +011110111111010000 +010111011101000111 +0010011111010111 +00010000010110001101 +0000010011111000001 +010100001110101011 +1111101101011111010 +1010011101011101 +000101001010 +1101011111110010 +11010000000 +10011010001010 +11011100100011 +10101001111011010 +11110011101 +10100100001110 +110000001001 +1100100110011 +0100000100110001100 +0111010001 +1101011101100 +10100001001101 +1111000000010100110 +00101001101101010 +0100101110000011000 +10100100000 +00101011100000011110 +11111110010011110010 +1000110010 +10000001100100 +010110001110 +0101000000 +0111111000 +0001110011101010 +110100111110 +01001100101 +111101011000 +01011000001001 +0001000110000001101 +01101010111100010 +001011011101111011 +11111110001101011010 +01010101001001010 +000000001110100 +00111101000100 +11001000110100 +100100011111 +0010100110 +01101011100 +1010000001101 +1000110000 +001111111100110 +100110001011010010 +01110101011 +00010000010111010000 +00001100101000101110 +00010011110111001 +1001001100001010 +1111101101101010000 +1110111000111010011 +100010011000100 +1000000001 +1101010111 +0000100101111 +01110100010 +100001010101 +111100101111001011 +0010000100100101001 +00111110100011000010 +101111011111 +1011111110110010 +0101110111100001001 +11111010110101010 +1011111000011010 +111101010110 +11000110100110111 +1000100111000111 +11111100101 +010110100110 +01001000100010010100 +11011001100 +011010111110001 +10110000010100101 +00000001011101000 +1101010000110 +10110001010111 +101111011110001101 +1000011100100011110 +10111001101001100000 +01000001111001111 +011100110101001111 +1000010000011 +1000011001010 +100110010010011101 +1100110001010 +1110100010000111101 +10011000101111000 +101101101100 +10010111110001 +1011101100011000001 +0001110000110110 +001110011111000110 +011101100001000000 +011111101111100 +001110001110100011 +0111110010 +000010101000 +01011011000011101 +01000000001000 +01010011101011110 +100010100010 +0110000000011 +0111010110101111 +10000100011001 +10001000110011000010 +00011000011101 +0101000000000011 +00111111100 +10110111001110101010 +001010110111 +000010110011 +00001110010110110100 +0001111101010 +1011110100110110111 +01000000101 +1011110001111 +01101110110 +0100000000100011101 +00011100000011110110 +0110001100111111111 +11101100010101010010 +1010011011100111011 +0100001000110111111 +10010010100101010111 +1100010100001000011 +11100000000101110 +11101001101 +100110001001100100 +111101001101101 +0100101001111100101 +00101011001 +0100001001 +1100101001000101 +00111001111010001 +110010010001 +111001001011100110 +0100101011000011101 +11101011010000 +000111010011 +00011100111000 +1101110101001011 +1001100011 +1001011000110 +00011100001100100 +1010011111111100 +0100000011 +0111000010100100 +1000110011100100100 +101000111000100 +0100101110110011101 +11101101011001001 +0111000100 +0000000111 +11000010010000111 +000001111111110 +01110000101110 +010000000000000 +010001010100100000 +10110101111000 +001001100111001101 +0111110100 +110001000100 +0110110110100101000 +0010100110 +1101100111011 +100000101101 +1101111011100 +00110010010110110001 +0000100011100100100 +10110100110001010 +0001011001100 +1010101011101011101 +0000001111100011 +1110110110 +1010010011010 +11001100100 +11010101000111000 +110110110010110 +111111100100110110 +01111111000010011 +10110101010 +00111101011 +10100011111 +010010101000010010 +01001101011111010111 +0011010001 +1000100001001101010 +01001000100010010 +10010101001001000111 +11000101111111100 +11100000010010000 +001010011111010111 +10010001011010110110 +010010000001100101 +10100001011011000 +1001101000100 +000000000110100 +10111010111101 +0100010010 +110111011001000 +11011011101 +0111110101111010 +00110000000101000010 +0011100011010010100 +00110110011111 +00011100011111101 +011011000111 +000110110111110 +00110011111000 +01001111011100001101 +001001111001111010 +0000001101010 +1101011001001100 +00101110110101011 +01011100010110 +1110101001000 +101000010011 +1110011010000001 +0110101110 +10001000111010011 +0100010010 +0110101011110 +01010010011 +1100111110100101001 +10100111010110110 +11110111111111111 +11010001000111011010 +1001100011 +0101010101001011 +10101111110 +00011110000100111100 +0000010011110 +01110001000010111 +011001001001100001 +1111101101 +0000111110110 +11000111111000 +11000101110011101 +01011001011010 +100100010110010 +1110000110111001111 +0010110011000110 +1110111110 +01011011110101010 +00100111101111010 +010101110000100000 +011011010010100110 +10000100001010011 +1101000101100 +0110111110000010 +0101100011011 +00001101001101 +00011010110011 +0011101011010 +0000111111110 +101100111101 +1100101001010 +010100111100001 +1101101111 +1101001011101001 +1001000000101101110 +100010110000 +01110011110 +01001111111001 +0100110010010 +11101000111 +0011100100010011000 +01101001110 +10110010111110 +10011010010 +01110001011000 +00101101001010110 +00011101001111 +101000100010011111 +0110110111100010110 +1100111010101 +00100110101010000100 +10001010110001 +01011000011 +110101110101101011 +11000111001010100 +01001100011110101 +001100111000000000 +01000011101101 +1101100010011 +1111010011111 +101010010100 +00101111110001011011 +0111001110001110 +00110101101000 +1011100110100011001 +0001101111000101 +1111111001 +000010100010011011 +0000111011 +1111111000 +0011110000111001 +1011001001111010101 +10010001011000111100 +00001000010110010 +001000101001100 +01101101100110 +001001011101 +01001100100 +1111011000001010 +0101011111 +11010010100 +110010100011101111 +00001010100010100111 +00110101111011101001 +1101011000111011000 +11111100100 +011000000010101000 +10101111111111101 +1101010101010011 +00110100110000 +1110010011 +1011001101100010011 +1101001111 +001001111101100101 +10010001010 +00101001010100101 +00100111001000 +0100001010110 +1100001011010010000 +11011011001110010 +10101001010111100101 +01011010100100100 +01111100100000 +010110111011 +1010011010100 +1011010101010 +00000010111110000 +10010000010 +0100000001100001 +1101000001 +10001000110 +010001100001001 +011001001010111000 +0001110010 +0110110111 +10111111100 +10001100010110011011 +11111010111 +11101000011000000111 +00101000000 +011010100000 +1111110101 +01101000000011100011 +11000000011101000 +0111111001001 +110010000011111 +111101100010 +01010100010011011 +0110110001100000111 +010000111010101101 +0001010100110100000 +01110100010000000011 +10001010011 +11010011100 +01101101011 +11101111111101 +1101000100101 +10100011110001111 +0000010111 +10001111110 +11111000010101111001 +101000110100010 +11000100101010101 +001111101000 +1010001000 +010001001100 +01001010111 +1011111011100100101 +110110110100 +0011111010011 +010010010100 +0001111010111111 +0011110001010110 +1011111101101011 +10000100110000001 +1101010001 +101101001101010101 +110011101010 +100101111100 +111101000100 +01100001000101011 +100011011011 +0011000000101010 +1011100101010000 +110011100011110111 +011111110110101000 +111010110110001 +11101011001 +00011010000111010100 +010010101011001010 +01101100100101000101 +1000000100 +1100111111010 +0100010110 +00111010011101000001 +0111101110100 +00101011100001001 +1001110101001110101 +011000010100 +10100000011 +1010100011011010 +0100101000 +0010110000011 +000110000100110 +0000010011110001 +011100000100 +0101011111 +011101100010101001 +1101010110101 +0101111110010010 +111111101000111001 +011010100111 +011111011100000100 +1110010010 +10000110010001001 +01000010110011001001 +00011001001 +1010001000101 +10001011011111 +1100001100 +01001010101 +110101101111010 +01110010001 +1100111100 +1010001100011110 +00100110100 +001101100011100 +100101010111011 +1101101000111 +101001011000 +010011101101001100 +01111110111000101111 +000100110011 +101010111111001000 +111101000001101100 +00011000010 +0110010011111 +1111010110100100001 +00011100000000 +10011000110101101 +10010001011111010101 +01111001110100 +111111011000111 +0001000101 +10001000101000 +1101001100010 +10100001010 +0111011111000 +11110000111101001001 +0110100100 +0001001101101110110 +001001101000100 +10100010111000 +011010110101100 +100110111001 +0100110111011111100 +01000000110001 +00000100010111 +0100110110010 +00010101100100101010 +01110000110110 +100011010011010001 +001100000011010101 +11001101010010 +1011011101010110 +11000010110110 +10011110100011111 +001001101111111000 +100100111000 +1011100110011000101 +10100011010001000110 +111001111011 +10101011011111101 +11001000100 +1100111100111100011 +0100111001010011 +11111111111001011 +10011100010100 +000110011101000100 +011100011011111 +10000111011110 +1000100111000 +101100100000 +0100000100 +110000101000 +101111011011000 +1011011001100101011 +111101010110000 +0110100101110010001 +1011100100111 +1110110101110 +00000001000 +1001000101010011001 +1010011011101 +11111000011001 +001001000100001110 +110110011101 +01111001011100 +100001110000111000 +01011100000000001010 +0010011111111000 +00000010101011111001 +11101100100111111010 +101001111111011101 +00110000111 +100100101111 +1010010111100100001 +110100100011010 +0001100011 +1010100000 +010110001001100011 +01111101111001111 +10011001100 +0100001010111010010 +111100111101101 +0010000100000 +10001100011100001110 +00000101010010000 +100010101001 +00011001111 +001000101001101010 +0001111101 +01101010100111 +010101100111100010 +0100100101101 +000000001110100010 +1011010000000 +011001000000 +0000010110001111 +0010001100111101111 +111100100010 +01101000101011011110 +01010011010010100011 +001001101111101 +1100010001100011 +001101011010110001 +11111101101100 +000001101000 +101100100110100 +01110011011 +00111111100 +11111001011000110101 +1110011100110110 +000100010110111 +011010011111010000 +100110100110010001 +1001010100111100010 +01001110100100 +10001110011111 +110010100000 +1000010010 +00100111110100 +111000100001010110 +0000101111010101 +0111010100 +0001011011111 +01100000101110110011 +0110100001110000 +10110100111001000010 +1000101100100110001 +011101111010010001 +010100111011100110 +110100001001000101 +1111000011 +11101001000100 +1001100010101110101 +10000110000011000010 +0101111101000111111 +01101101101010 +111100011011 +0010011111101 +11000111110 +01110011000 +10110000001 +1010001100000 +011100101110010 +0110101011100 +1110000101001001 +1101000101010110 +0000011010101 +110110110111 +11011100101001001111 +1101110011011111 +0000001111100 +011001001101111 +111110011000010100 +110011101001011010 +110010110110011000 +110110001010010 +000101111001000111 +1111101010 +0110111000100100 +010011100000 +010000010111110010 +10111101101100 +1011101110000 +1100010000010101 +11110111101100110101 +0110100000000001 +0000101100 +10101111010 +01010001101001 +101011001000011 +11010000110011100010 +0011110000011 +1111100101 +0011001101 +001100010010011 +0101010110 +1010010111110111 +1001111001001 +01111110111001101010 +10101000001 +11001001100110 +10010111011110100 +11110000011011111 +011111000010 +011111010111100111 +010011011101010010 +101001001000 +010011001100 +0100101011000 +01011010010 +00000101010010 +0111110111000000 +11001100010100 +0011000110111001001 +011111100000 +1010111110000 +11000010000111000 +110111001110001000 +0010110001101 +111000100101000101 +101111110101011001 +011010111011010000 +11100010110010 +100010010001001 +1010001110011000111 +001010010110001010 +00010101000 +001100011101000 +0011001010 +0001101011 +0001001010 +1000001000100001001 +11010100101 +0001101010100111 +10000010000000100001 +1111001011000 +0111111011100 +11101101001101000 +01011001111000100111 +0110011000000 +100010010001 +1100101011 +010010010110011 +1011101000111110000 +1000011101 +01111110010001 +10110011111100 +1001000111000110 +0111001000 +0110011010001100 +0111010001000101111 +0111101001111010 +001001010011011 +10100110010 +1110100110000101 +001011010000101 +01111001101 +01011110010001110 +0010100110110 +01111111000110 +000010101010001110 +1100101011111 +010001010101 +110000100011100 +1111011100 +0111111100111000 +001010011010 +00110011001001001 +0001010011111011010 +010100101100111 +010111010101001 +0111000101101000 +10111101101 +01000101011001010 +011000111001000 +0111000010000100100 +01110010100101100 +1100101001011011110 +1011100001101100011 +1011101110111 +1011111001 +1010100100011100 +1011101111111 +000011010101111 +100000101110101000 +01001000011 +1001100111010111 +111101101100000 +10100111101111 +000011011101101010 +1111010010100101011 +1101110110001011000 +1100101101 +1011110111001101 +11111111100011010111 +11100000010101 +0111010100101 +011110101101 +00000001100001100111 +1001101100 +11000100101110 +110101101111000 +100010001010100111 +11110010000 +10110011011 +011011100101 +001000100010010010 +111011101111000 +1001000111011010101 +000001001000 +010010000010 +11001001011110001 +00110011000111111 +100100011011110 +0011111001011 +00111001101 +10001010101 +110110001010101110 +101001011001101 +0011011101000 +01111001111111100100 +100100111001 +1101111101 +110111010011010 +000110110101111 +011001110111110101 +01111001111000001000 +1010010000100000111 +011101011100011 +000101101110100 +110001111011110010 +101100010010 +101011100110101 +1110110110 +101110100101101 +1100111000111010 +0011101011111 +00111101010001010000 +111101001010010 +1110101000110100111 +0000110000111 +1011111101011111 +00011000111110010111 +11110101011110111001 +0010011110 +0000101011110010100 +10011111000101111 +10010111001000001 +01111000010000 +0111011001001 +1110101110111 +1110011011 +0101110101 +0001100011010110 +01111101111010101101 +011001010100 +01110010011 +00011010011010000 +11110001110101101010 +0000000011000010 +0100110111000101010 +1101111011101 +11101001000011111 +1100100011101001001 +1010010000100101110 +1011110111111010101 +010011100101001 +1000010110 +10101110011011001 +11001110110101010010 +001001011110100010 +0100001010111 +100011010001101000 +11000100001101 +000101111101 +011000111000 +1011111011111100100 +1011010010 +100100011001 +100010110010011101 +11011101001001 +11001110001100001111 +0010011100011 +10000010101011011110 +00011000101 +0110011000 +100110101010001 +110010010100110 +110010011001 +01111111101101 +1100110110 +1100100010011 +111111001111 +0000011010 +000111111111010 +1001010111100000 +100111010111 +00110001001100110110 +11000001111 +110101010111 +00110101110000100 +0111010010101100 +01110001110 +0100110111111 +110100000001100001 +10110100101001010010 +110010000111010 +011001000101101 +10001001100 +01001110001110 +0000010011110 +010000101110100011 +011111100111010 +01101100111001000 +00110100101111001010 +01100001101010000010 +01111111011011010 +011101010000 +001001111100 +0100000000 +0101001001011 +111110111000000 +10111010011000110 +11000001001000010010 +11110010110111000 +10011100111111000101 +0110000111011010011 +01001100010111011111 +1011010011 +01111001100001 +11101110100001 +0100111101011110010 +00101000010000 +10000011011011010 +000100110100 +11011000101011011 +1100110110101 +1000001010011111011 +00010110101 +00101000111 +100111010100 +1100111110001 +10111011100011100001 +0011111011101 +10010001111001010010 +00110010001001000 +100011011111110 +000011111101 +0011100101 +1000100011 +10110011001101 +1110101010010010 +000000111110110 +1000011011011110 +100011011111100 +10010101011110101 +11111111110010 +001101001101 +0000110011100 +0111010001000 +01110000000110110 +100100101000 +1011100001010 +00001010111 +1011111010 +10010001001001 +00100000111111001 +0101001011000001 +00011010000 +1011001010110110101 +010101100000100 +011111011101 +0011010010011101001 +1000110010010000011 +00110100110 +010110100010 +01011101011111101110 +011011111000010100 +011011111110000101 +111100000000010 +001110110000 +10100001110110000 +01101011001011 +00111101111110110010 +001100010011001010 +010101110101 +011111001111 +1110010011110101010 +10111110100011010101 +110010001001000010 +1111010011110111000 +00001010111 +1001001100 +0110101000000 +1000011111000 +110001010111100 +00101010011 +11100011101 +10010100001101101 +10111100110 +01001000001 +1000000111 +1110100011001001 +00000011101011 +011001001111100001 +01001100011 +1111010010100101 +0100101000111011 +011010111010111 +100011011000011 +1000110011100 +01100100101 +0110010000110000101 +0011111101101111 +0001110110011 +01111100010011110111 +0110010101010110 +00100101000000111000 +0010001101000111001 +1100101101 +1100110001111010101 +1011000100 +1110111000 +000000101100 +100000010111111 +000011011111 +0100000000 +0001001001 +011101001000110 +0010000101100010000 +10100110000101 +011111011110000011 +1011111110 +11111000100110001 +000010001110101 +10111110001000010011 +1110100100011 +01010110011 +1011001000011000110 +1111000010010 +0100001101110110 +0111100001010 +0010011101101001 +1001110101 +0010110110 +000011100011111 +00000110011000 +10001011000111110000 +1000100111011010 +0100000011100110010 +0110000011001 +1110000111101010001 +010101011010110100 +111101011000 +1010101100001000011 +00001000111 +0111100100 +1110110010101 +10101100101100000011 +100001000111 +0110010110010011 +00011010011 +011010110110010 +0000101110101011 +011000001001101 +011100000111110011 +101010101000100100 +1111001110100 +001111110100101011 +000010001100100 +110101101111111011 +1011010101110011 +001010100101110 +10110000001 +00111100100011 +0101010011010000011 +11101011011101111011 +01001011100101 +010101110111001111 +110110101000 +00100011000111101100 +1001111101001110010 +1110010101100 +11111000101010110000 +10000100101001010 +11010101001 +11101000000011 +111101101000101111 +01000010001 +1001110100010000 +0011100101101000 +010110100001000001 +01111110010011 +010000010100011 +1000011110 +1001001000 +11010100111 +11000010010111010 +00100010010100 +101011000101000 +100101001001111001 +1000010000011011010 +01100111000011110110 +101001111110100101 +11001101010011101001 +111010110101 +101011001111101001 +010100000001 +1100010111000 +01010101111010011 +011011011000 +1011011100101 +1100100100111101010 +0111011010111000001 +101100110001001011 +10110110011011101 +00101111010111 +0001000100000001100 +01011000111000100 +100110010000 +00110100111010 +10011101101111110110 +01011000000 +10010111100110110 +110111011010111000 +110110000011000 +00110110110 +00010110000001000010 +110001110000 +01110111111001 +11101000110 +0110101001001100 +000010001000 +11100001000000 +1110000010 +0100101010000110 +0101110001000 +01110000101010 +10001011110 +00010110111100111 +1011100110 +011001000110000010 +0011011001001101100 +011101101100 +00000011010 +100001010100100 +001011110100101 +1101100011011 +11011000101001010 +100011101011 +10001011111 +110110110010 +11101000110110 +00001100001011101011 +0100101110101011010 +00001100000001010 +111000010000 +110111101000000000 +000110011100111 +0011011001001001 +111010000100111111 +01101011101 +10110000101011101 +01100001110000 +1111100000101101010 +01000110100 +1101100101110111111 +0011000110110011 +101111000001 +01010101010000000011 +0010000110111 +1010001011110 +01010110100001001 +101011101010011110 +01011101110 +110011111010 +10101101001111100 +11101001010 +1011100100100 +00100011000 +11111100111011100 +0100011100 +1000000101111101001 +110110001111101011 +1110110010110101001 +10110100101010000 +00000101010110 +0110101111 +11101100100111110101 +0000001101000 +00101000100111 +0101101001111 +11101011101110000 +000100101010101 +01100101000011 +10011110101000010100 +11000001111000100 +10010011110 +011111111000111 +110100110011000 +1011101011000001001 +00001111001101011 +11001000101 +1100100010 +1000110111 +01001011001101 +1101110010110 +000010101110001101 +01000010110001000011 +01010111101010 +11000010100000 +100110101100110101 +100110001010011 +11011101010001 +100011100101100101 +0111011011 +101111111110110 +11110000000011 +10101011100000001 +0100110100000111101 +0101001101001001 +1000101010000 +0111100111011000101 +10000100100101111 +01010010111 +0001001110111 +0100101011111000101 +101000111010001 +1110111000010111 +111001000100 +1000110010100 +00110000000111 +1010100011 +110010010111110 +001010101100010 +10100111000001100 +01001010010 +000111110011 +10010111111011111 +1001110011000 +01111001101100111001 +000011110010001 +0111111011101001111 +01001000101 +10000000111001 +10111000111011011 +00011000001001000111 +1100011000101001100 +111001010011111010 +0111110111000011111 +1111110011011100 +1011010011 +1100101101101 +001111011011001 +10001100111100010 +10111101011 +0101010011000 +1100001011011100001 +00110110011100 +10101000011 +010110010111 +111011100000 +1010001001110111 +1000001011 +01001000110100 +0001111100 +001101110001100 +11010100110110101100 +00100101010101110 +00100111101011010110 +100100001110 +00000111101111100001 +010111011110011011 +01010010001 +00001000111000100010 +0110000001010 +1110110110 +0100010001 +11000001010001010101 +100110010000110100 +1001011100001 +1111011110001000111 +010101000011 +001001111010001100 +111001010100010011 +11010001100110101101 +111101010001 +111010010010 +00000010010100010 +0011001110010 +0010010110000 +11101111111011000100 +1110111010011011 +01010110111 +00110010101011 +01010000110101 +10100110010100101111 +000001100000101 +1001100101100101 +100100110011110 +0001110001110001111 +1001100010 +1010000010101000 +1111010110011 +110110011111 +010111110011 +1011100001010110000 +1011010011 +00101010001010010 +01001110100 +01101011110011 +1001111011010110 +11001110101 +0110001001000 +1011101110101111 +0100010100 +101111010101010 +11011110101110 +11100010111010011 +10101001001001100 +1101000101000 +10110000001100 +10000010111010 +01111000111101 +100011010110011011 +01000101001101001110 +00110000101000000111 +1001001010 +011000000101100001 +10111010100011001011 +0010010010101101100 +00100000100 +00001001011111 +11110001101011010011 +0100110100111010 +00001000011101 +0111111001101010 +1110010100111 +010011111010101000 +1111000010000011 +0010100101100 +10110010100101001 +01111010001000000101 +011011001110 +001100010100001 +1111000101011 +11111010000 +10100110100 +10011001111111 +00011011110010 +0100011011101 +1110100110111 +011100111101011111 +110011010010001110 +011111111100011 +0011110000001 +010010011111001 +010101000101111 +0111101011110100 +10000111011001 +000101000111010 +101001011010 +1001001100001011000 +0111010000010011 +101011110100 +00110010101111011100 +01000101110 +00101111011110100 +00001101111001000 +0110100000100101 +10110001111111110 +11000000111010111 +00001110010 +01110100100001010 +110100101101100 +00100001111010 +11001011000101010 +100011100010101011 +0010001010100 +01010010011101000 +1011100011 +101100100010000 +110100111011001 +10010100011101111101 +0110111001110 +10111110100100000 +0000100001110000100 +0011001010000101110 +100101001001010001 +00100011000 +01101000010011010 +01001100011001110 +0111101110110001000 +1111001011101 +00101000101101101101 +10100000011010011 +110000110100101 +011111001101001 +011001111101000 +0011011111100101 +001110110010110100 +011000101011000000 +1111001000011011110 +0110100101011010 +1010010001101011111 +1010000100 +01100101111 +01111100001101111101 +100101001111 +01001101010001 +1001101001011 +1010101000001000 +01010001101111001011 +0110011010011000 +01001001100 +01001000010101 +11010001000011 +1100111110 +11010101001 +00100111010001 +11110110100010001000 +00011000001 +0000101111 +1011001011011100001 +1101010011110011111 +10100010010000110010 +00000011011111 +00100001111010 +101101111001011 +000011101111 +11110100100 +00010110110100 +011010001000001 +010001111110100 +1011000010100001101 +010001010011010011 +10001101110001001101 +01110110000101 +1011011010010000010 +0110110111 +1011011000 +110000110110 +1111011111101000110 +1011000010011000101 +10011111111 +0111111101011110 +1110101100 +1100100110101011 +0101100010100011 +1010111100000101100 +0111010000100111101 +10001001101110110001 +011111100111101101 +010001011110110100 +10000101001111111100 +010001001111010111 +001000001110 +0111101110101 +10100000100101 +11010001010110111000 +10101100110000111011 +0001100100011 +110000001111 +110110111110110 +100000111001 +00110100101101011 +1001001110110 +10101101101000 +01010101000 +1111001100100101100 +01001001111 +0000000110011101 +0010100011011111 +010000110101010 +10100001011011110000 +001010111010000 +001011001000010000 +1111010011000100100 +11110110101100 +101101010011111100 +1010010011001011 +101101110101001 +1110101111111 +00000001001 +0011110011100110 +10001110111000100 +01000100000001100 +0101110010110011101 +1110010000111111100 +1110111000010000 +0011100100 +001101000000100111 +110101110110001 +10011101101011010 +10000001110000110110 +10101000110001010 +01110110110100110010 +0001111001 +01010110000 +1010000001110 +0001111111 +10110011000111010 +10010101111 +0111101010000100001 +11011010000100111010 +01110011100010 +0100000101110111 +1001000100100 +010000010101110001 +00011000011100 +010010001101001 +1100011100001 +0110011001 +11001111110001011 +00111111111 +110010101001000100 +1011000010101010 +00110110010 +1011010111000111 +0101110011111 +00001101100110011 +0000001011011101 +1010010110111101 +0101001111100000 +000011110101 +10111000011111101 +000111111101100100 +0111010001011010000 +10000110110111 +010100001111010100 +00000101011110 +1011010011110101100 +11011000000 +11100010000010010 +000100100101010000 +00001010001000 +0000101101011110 +010111101011101100 +00001101000 +11100010000111 +01110111001 +110101111001110000 +111001100110 +00011010111100 +01111101111 +0010110101110110 +0011101001 +11001101010 +1110100011 +1010111101100011010 +00110001011000 +10100001000111111001 +0101111111 +101110010000101 +10111110000000100000 +010101101010 +000111110001000 +111011011001111010 +100000111101110 +01010101011000010 +1011000000100011011 +1010000100001011 +1110011001 +100111010011001110 +10101100110100 +10011101100111111 +0010111101100111110 +0011111011000100 +011111111111 +0111011010 +1100111000 +1001000110100 +00111001001001001 +0010001111100 +1010010000000100 +10111010001011 +0011010011110001 +010010001101000110 +01101100011 +10010010011100011110 +00101001010 +1011101011100100 +000001000001110 +1111100001111110 +0000010010100110011 +0010110000111000000 +10000011001010 +01001010110000101 +1100110110100 +111110100001 +111011110101 +0001100110 +00001010010 +1101111111111111 +0011010111 +0010010011000011 +0101111110000010 +01110000111100 +101011111000000 +01001011110101000111 +001111111010110 +010100111001011 +0101101010100 +10011001101101 +000111101110011101 +01101000001100110000 +1100110101 +101100100011101 +111101110000110 +1000101011001111100 +10101010000011111 +1011111010011101 +10111010100100101110 +00101100001101010101 +00101011011 +11001001110100001 +11001001010 +11001100110100101001 +11110011000 +1011011110 +111110100110 +1111000110011 +10110111110 +001010110010111001 +100000101000001 +1010001110101 +1111100011110001100 +100010111010111 +0101010011011 +00001100111001 +10110000000100110110 +10010101100100000001 +1010100010111110111 +011000011000100000 +01101011110 +0011000010111 +10011110001010111101 +110011111111 +101011100100111011 +010010011110111 +011001010011101 +01110101111011101010 +110000111001110010 +0111101001101000 +01101011001 +01011010000001011100 +011110001011 +010000111111011000 +110001101000 +100010101110 +001001101101001 +1101011100100110011 +1011110110100 +111010010010 +11110100101111101000 +0001101111 +1111011100011 +0011101010100111110 +101101111001011 +0001101010 +11110000010 +1001010010000 +01101010111110 +00000100101 +0001001010111110110 +11010100011000001110 +1100110101100100111 +1111101011001 +11100110111100110111 +110000011100 +01010001011110111110 +10101011000111110111 +0111101011 +11110001010 +01000011101111111110 +1000110010001101 +101011011011110101 +0111110000 +0011000111101110 +1111000010101 +11001101001101 +11110100110010101 +00000101100101100110 +1111010100011000010 +1010010111 +101100101001 +010101101101001001 +000000100010 +101111001110 +00101001011010 +101000100100000010 +11110110000101000111 +101001001101001101 +11000101111010100101 +00010111011010 +100011110100000111 +1001100101111 +001000110001000001 +100101000001101 +110000011100011001 +00111100001111110 +110011010111 +0010101111100011 +100000110101 +11111001011111111100 +000010101100011 +001110101111011 +1111001011111 +010001101000000010 +11100001110 +101010011010 +00010010001110110110 +0101101101 +111001100110011110 +0101110010001100000 +00110101000011000011 +0001100111111001000 +0010110010100 +00100100001001101 +01000001111110110 +000111111101 +10010111110010011 +01110101111110011 +010111000011 +1100010000000111 +1110101000011 +100101011000 +010100100101100000 +010110100011011 +11001111101 +01101000011101000 +1110111111001 +00101001100100010 +0000000100 +110010010101011011 +01001010110 +0010001011000111 +1101111010101111 +000011010101 +01110011101 +11000110001010011 +0001111111100001100 +0001100101000001000 +0111000111110 +11001100111101001 +1110111000011001 +011001010110101101 +0011111101111000111 +00001001001011 +00000110011 +00101010101011001000 +011001000001000001 +11001110101 +010100011001110101 +001000101010111 +001011111000111000 +10110011100100101 +0001001110111110 +01101010010001111101 +0100111101001010001 +0111111001111 +1110100010 +1010010001100111 +01010011111111 +00111000011111000011 +000110111100010010 +01011100000 +01111111010110 +0010000100010 +011111111000 +1101101100000 +010111010000101 +1111111111 +011101011010101 +00011001010 +1001000100111010001 +0011100010010 +0101110101 +11001111110 +011110001110 +01111000000 +011111110101111001 +0011001111100 +100000010110101010 +110011110001010111 +01101111101001000000 +110010101110 +11110111111001110000 +11111101100010 +11100010110101101 +111110000010000 +1011101011 +01100100001110000000 +001100010000 +01101000000011000 +1111111001 +0011000100101 +011010000001110000 +011101000110100011 +101000101001 +1110111100010010000 +00110110101001101101 +1110110110100110011 +100011010011011 +100000110001 +101001001000100000 +00101110100011011110 +1101011010 +001110010011011010 +110001000001 +100111010000011 +00011010110 +00001111111000110011 +001100101001 +100001001011111110 +010001101001110 +01001000001001001110 +1011100010011 +10010001001 +0101000101000011 +1010001111011 +11011001110 +001011110111100 +1100110101101 +0100010100011011 +11011000011101 +01011100101010000 +001110110001011 +11100110111000 +1101011001 +110010110000110001 +01110010101111010 +1110100101100011101 +01110011011000110 +101110100000001110 +1000111001111001 +000010101001 +101011000100000 +01010110010110011001 +1011011111001100 +001011010110 +00101001011 +111110100011000111 +0110111111 +11111000011011110 +1011001111000101010 +1100011010000001100 +1100101011100 +10001000011010110111 +001101011011011110 +000101010010001 +111010001011101 +0100101111100 +0101100100 +0011111011 +10110101111111 +111101011011000 +11011110110000111 +110010000010000 +10111011100001111111 +0110100111100101011 +00001010011111 +010001100001000101 +110000100000101111 +0010111111110001111 +101101100000110 +11101011001001 +011101100010001001 +101111100000 +100110010000100 +0101111010110011 +0110000100000000 +10111100101000100101 +111010010001001101 +011111010001 +0100011001111010 +1011101101101 +10010011010 +0100111111100111001 +1110101011001 +0011001000001011001 +0101010101 +00111101000001111101 +1100001100111111110 +1000101101110010010 +1011110001111011 +1001101011101000110 +110011111100 +101110101111110 +01111101101100 +011001000001010 +1110011101 +0100101000011100 +00110101101 +10100000111 +1010010110010 +10000000101010110 +10100101110000 +110100100101 +1001101010 +10111101000 +111011011011011 +0100101100010 +0010100001111010010 +11110100000 +001011011110110010 +1100101011010110 +1000000001 +11011011000 +001110110000100111 +00000010011111 +11100100000010 +1110101001000001 +0111000011000100001 +10010110110011100000 +00010101101 +00110011001101010 +11101000100 +10110011110010 +000010101001110 +100001001100 +1111000001000 +100110111110100001 +11111010001011000 +1100000010 +10110110011101 +11101101111001110 +10111100110 +1110100000 +001111000111010 +1111111001 +11001001001100 +1001000011010010100 +00011111010111100 +1101010100101 +00111000100000 +0111101100000000011 +10010100110011010 +00001101110001 +010001010110 +011110001000010100 +100010100101110 +010111010000111010 +111010100011 +1100001100111 +1101000000010100001 +0001010110010 +101010000110 +0100001001010001011 +111110111010101001 +1101001000011011 +010001011111 +0000001011000011001 +0110001100101010 +0010000000111101100 +0010001110010 +11111001111011101 +101110001000011 +01101111100001111 +001001000010101 +01001110000 +0000100111010111101 +10110010011000011100 +101011001001 +101000010011 +11100010011010010 +10101100110 +1001010111 +00101100010 +00010101101101101101 +01001001110100 +111100101010 +11000100101111 +0100101010000 +1001101000 +00110111111101 +01000000111 +00101000011010110 +1101000100110110100 +1111111011100 +01110000110100100 +01111011100101011 +1000100111 +11110011000 +11111111001110010 +00101000111010100011 +110001001001 +0111110110 +10010011110100100101 +11110000111010010111 +10110110010100000010 +10011001111000101101 +0011101101 +11011101111001110110 +101110010011 +10001001110111011111 +10000010110001101 +1010010101110100 +11000011110111110 +011101010010 +001111011010 +1011111101100101000 +11010111011010101 +1000001100011001110 +011001011110 +0111011000011 +00010001011000 +01111100000111010 +11000000010011000010 +1001001101000000 +00010000100010 +00101100101001100100 +01101111111 +110100000101100000 +0110011000011110101 +11001111100110 +11111001000100 +1000011111001000110 +0101100110010 +110110000010 +0000100010001 +0000110010111 +010011100100110 +110010101000010110 +0111001100110000010 +00111000100101010 +10000011001010000 +000101011100 +1000001001 +00110011100100001 +0011100010000 +01100011111100100 +0111101111101 +001000100010010 +10000100010010111 +111101100101101000 +111100000001 +010001111100011001 +00100011100 +000110010101001 +001001110110 +1100010101000 +0001011100001000 +10100011100 +001100111010010 +10101011101111 +10111010011 +1010100111100110 +0011110111101000001 +11001101011 +10111110111111 +00010110101 +00101011001101110001 +1110001101111 +1111000011011 +01010001010111 +0000101111101000011 +010010010101001100 +1001001101100000 +110011100110 +0000111100011000100 +00010111100101100 +010000001011011111 +0110010111011010 +001000111011000111 +00101011101101100 +1100001111011110 +1011101010110110 +001011000011110 +0100101110000110 +101100111100 +110100010110100 +0001110001011111111 +010111011000 +01001010100011001110 +11010100000111101000 +001011010101100 +11011000000000 +00001001100 +00111001000110010 +00110111011011 +11001010010 +111010101100 +0001111100000011 +111000111000 +1010110010101101110 +111001100101011 +100001000011 +0011001000000 +100000000100 +101110011111 +01010000000110 +1101010110 +01100001001011 +00110011000010110 +0011111011010010110 +1001010100110 +10010011110101110100 +11111001110010101 +010011011011110011 +11001111100011 +1010100001111100101 +1110011010100110101 +01101010110010101001 +01010010101101 +0010111101100100 +1110100010 +101010010111011101 +01001010111010 +001000111010100110 +0111101111 +001011010000101 +0011101110111101101 +110110101001 +1100001110010110 +0001101111110 +1100010111 +001010110000010 +1110101011101 +0001110011111 +11101011110 +000110101010011 +10100100100101000 +001000101111010 +1110001010000 +00011001110 +011110010001100 +0010100010101 +1101011010100111001 +111000011011 +110011100100001 +10000000101011000011 +011110101100 +01001010010011000100 +00100101011111011 +101111110000 +01011110111001 +111110011010 +0011001101100 +111100000000 +11110110111101110 +1000110100110000 +0110100001100010000 +00101010101110 +110010101000100010 +0111010000000 +1011100001100 +10000111101101 +0010110100100010 +1110001111 +01000000000010001 +0010001001000 +0100001110001 +11000110011110010010 +010110010111001 +11001000001001 +1111100011110110010 +0011111000111 +10010011010100110 +110001100011100 +0101100100 +110100111010 +0000011000 +10010010110001 +0110011110010 +1101010010 +011001001011010 +0110000011000 +1100100100 +00110000100011100 +0111000000 +0100110110000101 +1111010110 +111110000110 +011111100110 +0000101011001 +1000011100101101 +01001011000 +0001111011100 +01110000111011010100 +0011011110010 +1011001000001000 +1110010111 +00111100100101010001 +11001000100 +00010000000010001101 +1110010010000111 +0111100001110110001 +01100010110111001111 +100011011100 +010000101110000 +001000011001001 +0000111010010001 +001010000110101101 +1001011111110101 +11111010101000101110 +01010010101011111101 +00001110100111010 +0001101010011101 +10011100111100011110 +1110010111010010 +000110001100101111 +010111001111110000 +01101011111010 +110011001110 +0000000100100 +111110111010100110 +000110000000 +00100100010111100 +0001100111010100 +00001000011000011100 +11010010110100110 +010110000001100 +011101100000000000 +110001100100110100 +010100001100011 +11011100101000 +00001000100110110 +1100001110001101110 +10111011001 +000001000101 +00000001011100 +0001000010000000 +11001111111101011000 +0000011010101001 +0111111000010000111 +1100111011111000100 +0110001001 +1101010101000011 +0010011001111 +1111101111101 +001000010110 +1010101110001001010 +00010101011100101100 +1111110110101 +1010010100010010 +0010111010100 +001110110111110000 +11101101111 +01011010101111 +1100110110110 +11001011001 +10001001100000010 +0011110000011010 +01010001100111110 +11011011001001111 +011011110110 +011100100100 +1011000110011001000 +001100010001100111 +10001001101 +1100001100001111001 +0010110001000 +10101101100111 +11110101110100 +101001010000100000 +1101010101001001011 +111001001110 +1110000010011001110 +010001010011 +111000110101 +1110111110111 +10001000010111110 +011110010001001 +1010100010 +01000001111 +110000000001111 +00001000001011101 +1010010111111100011 +110111100111 +00110110100 +10100110101101010110 +001011010110 +0101100011000 +100110111101001 +11111111011100111110 +101101111101 +011110111101 +0101011011010 +0011011111110111111 +101100110100000 +110010111110 +0000011010 +0110101011 +11111010001 +0101010101110001 +10011011111011110 +0110000010010110 +0010010100011011011 +001000100011100 +101100100000101 +010011110001100101 +1110110100101100 +0001111011 +0000011110 +0001010101010011111 +1000011110 +0101010100101010 +00000111001110 +011110110001 +1010001011110011011 +0010000101101001 +0001101001010 +0101111000 +1101100010001101111 +1101110000 +0011001011110001100 +010100011111 +101101011000 +001100101011 +1111110010 +00011000001010 +1111101011000010011 +01000100100001001 +100101001111 +1110111111101 +00001011100110011010 +0000011111000 +01110100001111111010 +101001001110 +01110010110 +10111101000010011110 +0101110110111 +1110100110111110010 +0101010110 +101111101001 +00011111011110110010 +1010100101 +001101101101100 +101000111001 +0110100010101 +001010010101 +00110101101000000 +00001010000100100 +00010100010000110 +10110010100101 +111100100101111001 +00111010101111 +010100111010111 +11101010010 +100110011010 +00000101101011101110 +11101000110011 +00101000100010 +1101110110100 +00010010101010000101 +1101111110000 +0101110101 +00001110011001010011 +10001100110 +001111001111 +11111111101110111 +1110000100011101111 +1100011010010001011 +1001101111001010011 +011000011010100 +11101100110010 +01011110101001111 +00111111001 +1010111011 +0001110001001101001 +11011010110110001011 +010110000010 +0111011111011101 +1011011111001 +10000011011111010000 +1111001111101000 +00101010010100110110 +0010010001001 +010010011010101110 +0110110101111 +101000010001 +1011000000 +11101100111 +00101111100100 +11110110010001 +01100000110 +00001110011001 +11011010111100110100 +0101011110100100 +10001010000 +1111010110111 +01011001001111000 +100100110101 +1110111101000011110 +1010110111 +01011011110101110 +01101111011 +1001000001100000000 +0101101101101110 +00001110111110 +1110000101101001 +1011110111101111 +011101011101 +1011010011110101001 +1110001100100111 +00011111000100001101 +011000000000101 +11001100110001 +10101111001111 +11010001000000101 +10010010011111111111 +00001100111 +11110010001111 +100111000101001 +01110100010101110 +000111001010 +010001010001100110 +100001000001 +10010111011 +10101110011100 +1011011000011 +1101000101 +100011011000010011 +10010011110010110100 +01010111101011001000 +1011100101001010 +1100101010 +000110100000 +01010101010000011 +100000100100011001 +0111100110010 +01110110110 +0111010101 +0010001100101110110 +01100001000001100111 +0010000111100011 +10010100001101010000 +010001001111100 +1001100001001111011 +1010000001111011001 +0100000010 +01111010010011 +11001010011 +101001100000 +00101110011101 +10111000110 +0001100100011 +01110010101011011110 +0101111111100101 +11010101110100010 +0010000000 +0100011010000 +1010101011 +00000000001100100 +000110010101 +11100100100000001 +0001100101001101 +0011001001111010111 +0110110010011 +1111100110010111100 +110111100010010 +0001011101111 +010010100000 +0001000010110000 +0111101111 +00000101011 +00000101111 +0010110110 +00001111001 +0110110100110000111 +01010110101010111 +010011100010001101 +00110010000001 +001101100100 +0001101010010000 +100000001110 +000111111000111010 +1011001011 +1100000101 +100101011010100 +10000100110011 +11110010101111110 +110110101011110111 +101100000001010 +11100011001100100 +101111011010000 +011100011111 +00111100001111111 +0010101000 +011011111110 +00101001111 +100101110011001 +01000001011 +11000010110110000 +01111011110010 +0001001100 +111111000000010100 +10010100000101 +001111101100001 +01011001000 +1010010011111111101 +10111010000101110 +1111011011100100011 +01010001111010001 +1100100110 +100111110010010 +010101010100110100 +011101111010111 +000011110011101 +1010111101111000011 +100100110011111 +11111011101001 +000010011100001000 +000100100100000 +1100010010010111000 +011101001101 +110111011111110 +111110100100 +110100001010111101 +1000001100110010100 +11000000101011 +1110000011 +00011111001001101 +10101010000101 +100100101100101100 +1100001111001111001 +00001111000 +0101100001110001 +000111000011001001 +01001001101000 +0010001010010001111 +011000011011110 +11100101110 +00110010000 +00011001110011001 +1001001011 +00001100001100000110 +111000100000 +111010000001100011 +01101110001100000 +100011101000011101 +101101001110 +11010000000 +0110000011 +0111111100001010 +00010000111010001 +11101100110111101110 +000111011001 +0101000011101000111 +10110011000111000 +01010111001001000 +11000011010000 +110111001101101 +11000100111101 +1110000010100 +1000110010 +1001001001 +0111000100 +01000001110111001010 +01010100010110 +01101000010000001100 +00101101100011 +111110001101100010 +00010111110 +0000100100001111 +10100110100110 +000001010100010 +110111000010111 +011100000111101100 +100111110001000 +1101101111100110010 +0010000110110110 +001001111111111 +1011111111100100011 +0111010001111 +00011001000101001101 +10011111000000110001 +110000101000110010 +00010000010011000 +011001001101000101 +11110011111001100 +0000010110011110110 +1011111110010 +000001110110011100 +00001010011 +101101100101 +11010111111001101101 +01110000101010 +111101010001001000 +101100110111001101 +111000101101001 +0000001010101110010 +000011000100 +010100110100001 +100011101101101010 +000011110101101 +100111110111 +10110110000010 +001001011010001101 +1100101101001 +000110101011101 +001111111111 +111101111100 +1010101011010 +101001011001 +10101011111 +010110111000110 +101111100100111 +100000101110000011 +100100110011100111 +0101111001 +1001001011011 +11011010101 +0101110111011001010 +0010000011 +00010001111101 +0000110100111010 +00110011111010001000 +101010010111100101 +0010110101100110001 +0100010101 +10110000101100 +1010011001 +011100100110011110 +10111100111100 +110011110010000 +00010011001100000110 +1011011000 +0101101110010 +1100101000101011 +0111110010 +0100111100001010011 +1111100010101011 +10101010111 +101011010011 +001000111001110 +001101001000 +01111000001 +00010100111 +001100111101110 +010111000111 +010000101111100011 +00101100111111 +11001001110 +1010110001110111010 +0010111110000110 +0101001001110010001 +11111100111 +110010011010110 +0010001100000 +1101101100 +1001111100010000011 +1000111011011000001 +111110001111001 +001101110011 +011000101010001 +1000001111010100 +100100100010000 +101111001111011 +0000011000 +000100001101000000 +0110000110000 +111111000110111 +1010000010100000111 +1011100111101101010 +11101001010 +00110011010011110 +101101111100 +011101111110 +101111101111000101 +00100111001011010 +001001101101 +01111011101011011 +111000100001001 +0110101011100110 +1110001011 +011111010100100000 +0101011101001100010 +11100000010 +11111100000111100111 +101111110010 +011010111100110 +011011111001000 +0000101100010001100 +001110101001 +100111101000 +100101001111001 +101011001110010111 +01011011001 +110100000100110001 +0000101110011001001 +101001100100000 +10000101100101 +0100000101 +0010000100010 +11011101010110000 +11100110100001 +0000011111 +1010000100 +1000010010100111 +00100001110101000101 +010111011101000011 +1100001101 +01010000010010111011 +11101101001011000001 +1101000010101101110 +00001000101001011101 +1011001011 +00101110010010 +11110001010000000100 +1110011101000 +10111101001011 +001011110111111 +1110111110 +100100101010000 +110011111010111110 +0001110101 +0111110011001111110 +101111111110011110 +0101101100000011111 +10010110110001000 +00001010011100010 +0001110010 +01100100010101111000 +0000000111000110 +1000001001101011 +00111111100011 +111011000000111111 +1100111110000101000 +101110101000001001 +10111000110 +0000010011101 +000011111000 +0100100001101 +10010000000000111110 +11101111111001 +1000011011010 +0101100011101 +01001000101101000011 +1010000110100001011 +100001100001000111 +0010010010000010110 +11111000111 +0010110110111001110 +011110101111 +01101010101 +111100101000111 +0011010100111011110 +1100110101111011101 +110101101100111010 +10010100010010 +1110000111 +110001000101001010 +0000001111000 +100010001000 +1000001001001100 +01001111010001110 +10111011101001111011 +01010101000110100101 +01100100001 +001100101001011011 +00110111110100 +11001100101 +0100110000110001 +10111101000110 +1101000110011001001 +1101110010111 +10100111010100 +0011100111 +00011101001101100 +11001000010 +00000110101100 +10111001111111100 +1101110010010100 +01001000101010 +0011101010 +00000101111 +1011110010 +01000001001001 +1000101100001000 +1001100000000011100 +10000111001101000 +010100001110001111 +010011111101110 +1001010010010101100 +1111111100010110001 +110001001000111 +0101011110101101 +11001010110010011100 +00111001011101111100 +01111011011 +00110000100110010 +001111010110011 +101000111011001 +1100010011110101 +010111010101 +011110110111000 +00011101111 +100110101001 +111110111000000000 +10101110000011111011 +1010111001010101 +0010011011010 +101001101101000 +11011101111 +111001011001010000 +010101001000010 +0101011011100100111 +1011110100110 +000110011001001 +1100111100110 +10010001100100101 +00011100110 +01010100110000 +101101010111100 +100011111101010 +10000000100101000 +1100001111 +00111010011 +110001000110101 +100111100001010 +0000010101111 +1001100010111 +00001111101110011010 +0100111010010011000 +0111100010 +00010000111101 +00010011100 +11111011111110 +1001001110 +100001001101011011 +01011001110110000001 +11010100001000000001 +110101111100 +11101110010100101 +1110101100001010 +1010101000100 +0001000111 +0100111100 +0101001010101011001 +0010010000010 +110010100010111 +11110100111 +0110111110100101011 +10010111111 +00100010000110 +1110000111001 +1111011111000 +11000110011000101000 +000111000000111011 +011001001000100001 +0010101111 +010101011111 +1100100110100011 +1101010010 +10011001100001010001 +0001111100100011 +01110100011100101 +0111101001111111 +11101000010010001100 +11111011111001010 +11001011111100 +011111111101 +011000101100111011 +000000000101 +11100010100111 +111000000001000 +00010011000101 +11000010110110110010 +11100101101110 +0011001010111111010 +0000111010011 +10010011101111100 +0111101110001 +11000110100001110 +10010111101011111111 +00000000010 +010010111001 +10001011101111 +01100010111001010 +1111110001010011111 +1111000011 +1001010011010010 +00111101000111010100 +0111100100111111 +01001010011101111 +1011001111100110010 +0001011111011010101 +00101111100 +11111011111 +001111100010 +01000000100 +10111110010011000111 +100001010010 +1001111111001 +10111110000 +01110001010 +11010001110011010010 +00010000110111000 +11001110011100111100 +11100110011000 +01110101111010101 +0100001001 +1101111011000101101 +1010000001100000111 +01010010110101 +00100100100110 +01101000101010 +11101000000001111101 +1010110010 +00100110000000 +0101001100100011100 +000101011010 +100100100111101010 +0010111110101100101 +100101100000100 +000010000010 +000011100001001 +000111100010 +00110001000010000 +110010010011110 +011100001111000 +0111000111010011 +01000100110000 +11001100011 +110000010101010010 +001101100111111100 +10011011111101 +11111111000101101101 +11100011011101001 +0001001000 +10101000101 +0111110100 +0010011011011 +10111111100101111 +011010010010010110 +10110101010101100010 +111000100100 +0001011100 +11100110100001011 +000010100011 +1011100111010010000 +1100101100 +01111011011011110 +0100010100110000111 +1001100111001 +0010110110001 +0000001110110110 +111100111001110100 +11000110101111111101 +0000111000100111 +1100010000101000110 +0100111001001001 +001010111111000001 +001100110001 +111101111100011001 +0001110011 +11110110010 +011001000000110 +101000111101110010 +11110110011001 +00011101010010111110 +000010111100 +001110000111100 +100010110111 +1100011101010111 +110110111111 +101011011111 +10011011010001010 +011011010010111001 +0110101111 +10101011001 +0111001011 +0000001000100001111 +100011110001 +11111111110 +00011110111000100 +10110101110 +0111110001110110111 +000110110110010111 +1010110111001 +1000011101001011 +111001101101 +0111010110000100 +1011001001110111011 +11011001110 +1101110010110 +100011101011011011 +1100000010 +0111100010 +0010111010100 +10111101000011 +00000110000010 +10100010101110101010 +11000001111101 +001100101011 +01110011011000111111 +1100111110011 +10101000101101011010 +1011100100010 +110100111010 +0100110110001101001 +00101011110001110 +011010001011101110 +100111010001010001 +11100011011100 +101011000010 +0110010010111000001 +101110100101011 +110010001011 +0001010101000 +0110001111000 +1111011110100 +1011010010 +0010011110000 +11100110100100100 +0011100100000010 +0011101011110 +00000110000 +101010010111101 +1101011110011010100 +11001100001010 +1111000111111000 +1101111001 +01001110111 +011100010111110000 +1010101100100001111 +00011001100011011110 +011011110010011111 +1011001011000 +001111111011000 +101010000010 +1001011110111110 +010000100100100 +1101010011001111 +11010011010000110111 +101011011011010011 +1111000111111100010 +10001100000 +00100010110000110111 +111111110110100110 +00000110111001010110 +1100000011111011001 +11110110010001010000 +1100101110101001110 +101111001111011000 +00010100000001001 +0110001111 +0110100111111100 +110100000001 +00000000111111 +111101111011101 +1010001100 +011101111011100111 +00111010110110000010 +111101001011000 +001001011100011 +11010000011 +1111101000101111000 +110000101111 +11000100110 +11011010100 +111110101011010 +10111010110100 +0000010111000 +10001001110111110000 +1010101100111 +01001110011011100010 +10000010010001001101 +1110000010011 +001001111100011000 +011011010011011011 +0111000001110001011 +1001101110111010111 +11001001001100 +00110001111110 +10111000000000 +11001110000 +0000001000100000100 +01010011110011101 +0000000111010100 +001010000101010100 +111110111101011 +11101000010101010 +10000101100101110 +1010010100000101 +110111110001010 +0101111000100001011 +0100010000 +01011101111101011 +10011100011100101000 +0111111110111010 +111011101100 +1100111100101001 +11111100111000110 +110101000101 +100100100100 +00101100110000111100 +01110010001001 +11111111100 +1100010111101 +101011010100 +10100000010 +0010011000010 +11110000000100100 +11010000011101110010 +1011111010101 +0101100100 +1011111101011 +00010010001111000 +1001111011101100 +0110010011001101 +00111000011010110101 +001001101110101111 +1001011101 +1001001110010 +01000110011 +01101111111 +0011100011101 +0110100011101011010 +001111111101011100 +11001011011101100110 +011100101111 +1010110011000001001 +1010111101001 +001111011101 +1011000000001010111 +100100110110010 +01011000110010010000 +1111000100010000 +00101111000100 +00101000001000111110 +100101100001000101 +10010011011001 +0110011001110100 +010001001001100000 +0011000110000 +010000001111110 +00001001110110101 +101000011101000 +0100001011 diff --git a/Programming/The Adventures of Boris Ivanov Part 2/Concatenate.py b/Programming/The Adventures of Boris Ivanov Part 2/Concatenate.py new file mode 100644 index 0000000..1aa9fc4 --- /dev/null +++ b/Programming/The Adventures of Boris Ivanov Part 2/Concatenate.py @@ -0,0 +1,13 @@ +from PIL import Image + +listimages=[] +for i in range(0,500): + listimages.append(Image.open(str(i) + ".png")) # Make a list of pointers to the 500 pictures. + +concatenate=Image.new("RGB",(500,500)) # Size of the concatenate picture +Y_offset=0 + +for i in listimages: + concatenate.paste(i,(0,Y_offset)) + Y_offset+=1 # Add 1 at a time , Because the height of each picture is 1. +concatenate.save("concatenate.png") diff --git a/Programming/The Adventures of Boris Ivanov Part 2/README.md b/Programming/The Adventures of Boris Ivanov Part 2/README.md new file mode 100644 index 0000000..efb2ec5 --- /dev/null +++ b/Programming/The Adventures of Boris Ivanov Part 2/README.md @@ -0,0 +1,52 @@ +## The Adventures of Boris Ivanov Part 2 +The main idea finding the flag using OpenCV library and Python. + +#### Step-1: +After we download `confetti.zip`, we see that we have 500 photos. + +Each dimension is 500 $\times$ 1 and according to problem statement, the image size is 500 $\times$ 500. + +#### Step-2: +So basically, we have to concatenate the 500 images in **vertical** fashion. + +#### Step-3: +Make a directory to extract all 500 images and set your `pwd` to that directory containing all images. + +After that only work is to join all images. + +#### Step-5: + +I executed this simple `Concatenate.py` script and it worked. + +``` +from PIL import Image + +listimages=[] +for i in range(0,500): + listimages.append(Image.open(str(i) + ".png")) # Make a list of pointers to the 500 pictures. + +concatenate=Image.new("RGB",(500,500)) # Size of the concatenate picture +Y_offset=0 + +for i in listimages: + concatenate.paste(i,(0,Y_offset)) + Y_offset+=1 # Add 1 at a time , Because the height of each picture is 1. +concatenate.save("concatenate.png") +``` +#### Step-6: +We get the output as `concatenate.png` after the above script is run. The image is as follows: + + + +We see a hex code in between. + +#### Step-7: +The Hex code is as follows: +`66 6c 61 67 7b 74 68 33 5f 4b 47 42 5f 6c 30 76 33 73 5f 43 54 46 7d` + +I converted it to text online to get the flag. + +#### Step-7: + +Finally the flag becomes: +`flag{th3_KGB_l0v3s_CTF}` \ No newline at end of file diff --git a/Programming/The Adventures of Boris Ivanov Part 2/concatenate.png b/Programming/The Adventures of Boris Ivanov Part 2/concatenate.png new file mode 100644 index 0000000..e7d9695 Binary files /dev/null and b/Programming/The Adventures of Boris Ivanov Part 2/concatenate.png differ diff --git a/Programming/The Adventures of Boris Ivanov Part 2/confetti.zip b/Programming/The Adventures of Boris Ivanov Part 2/confetti.zip new file mode 100644 index 0000000..4bd83e6 Binary files /dev/null and b/Programming/The Adventures of Boris Ivanov Part 2/confetti.zip differ diff --git a/Programming/Weird Android Calculator/README.md b/Programming/Weird Android Calculator/README.md new file mode 100644 index 0000000..5c3a08c --- /dev/null +++ b/Programming/Weird Android Calculator/README.md @@ -0,0 +1,13 @@ +## What could this be? +The main idea finding the flag is knowing Programming in APK files. + +#### Step-1: + +I couldn't solve this challenge. So I had to look up for writeups, and this was very good. + +https://github.com/EladBeber/CTFlearn-Writeups/tree/master/Programming/Medium/Weird%20Android%20Calculator + +#### Step-5: + +Finally the flag becomes: +`FLAG{APK_4nalys1s_1s_r4th3r_3asy_1snt_1t}` \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..1ba724c --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# CTFlearn-Writeups +CTFlearn writeups of all the challenges I have solved. It covers all the domains including Cryptography, Forensics, Reversing, Pwning and other misc problems. + +https://ctflearn.com/ diff --git a/Reverse/Bite-code/Bruteforce.c b/Reverse/Bite-code/Bruteforce.c new file mode 100644 index 0000000..32db029 --- /dev/null +++ b/Reverse/Bite-code/Bruteforce.c @@ -0,0 +1,26 @@ +#include +#include +#pragma warning (disable : 4146) + + +void BruteForce() +{ + int flag , x1, x2, x3; + flag = -2147483648; // The biggest negative value of 32bit. + x3 = 0; + while (x3 != -889275714) + { + x1 = flag << 3; + x2 = flag ^ 525024598; + x3 = x1 ^x2; + flag += 1; + } + printf("%d \n", flag - 1); +} + + +void main() +{ + BruteForce(); + system("pause"); +} diff --git a/Reverse/Bite-code/README.md b/Reverse/Bite-code/README.md new file mode 100644 index 0000000..6b160e1 --- /dev/null +++ b/Reverse/Bite-code/README.md @@ -0,0 +1,115 @@ +## Bite-code +The main idea finding the flag is reversing the function approach and brute forcing the flag. + + +#### Step-1: +After we get the link: + [https://mega.nz/#!qfATFaKR!zaTNExq3Bm1MjJnePjTGQyvnvLX_xZxhbGaMv_ypaxo](https://mega.nz/#!qfATFaKR!zaTNExq3Bm1MjJnePjTGQyvnvLX_xZxhbGaMv_ypaxo), we get the `bitecode.txt` + +#### Step-2: +The contents of `bitecode.txt` are as follows: + +``` +public static boolean checkNum(int); + descriptor: (I)Z + flags: ACC_PUBLIC, ACC_STATIC + Code: + stack=2, locals=3, args_size=1 + 0: iload_0 + 1: iconst_3 + 2: ishl + 3: istore_1 + 4: iload_0 + 5: ldc #2 // int 525024598 + 7: ixor + 8: istore_2 + 9: iload_1 + 10: iload_2 + 11: ixor + 12: ldc #3 // int -889275714 + 14: if_icmpne 21 + 17: iconst_1 + 18: goto 22 + 21: iconst_0 + 22: ireturn + LineNumberTable: + line 3: 0 + line 4: 4 + line 5: 9 + StackMapTable: number_of_entries = 2 + frame_type = 253 /* append */ + offset_delta = 21 + locals = [ int, int ] + frame_type = 64 /* same_locals_1_stack_item */ + stack = [ int ] +``` + +#### Step-3: + +Clearly, it is a program of Java Bytecode. For those who aren't familiar with that, you have to read and explore before you continue. + +- [Java Bytecode Crash Course](https://www.youtube.com/watch?v=e2zmmkc5xI0) +- [A Java Programmer's Guide to Byte Code](https://www.beyondjava.net/java-programmers-guide-java-byte-code) +- [Introduction to Java Bytecode](https://dzone.com/articles/introduction-to-java-bytecode) + +#### Step-4: + +Now, I have added comments in front of each instruction to understand what exactly is going on there: + +comments + +#### Step-5: + +So basically, this is easy when we understand the sequential operations involved. + +$x1 = flag << 3$    `Left Shift by 3` +$x2$ = $flag$ ^ 525024598    `Flag XOR` +$x3$ = $x1$ ^ $x2$    `x1 XOR x2` +If ($x3$ == -889275714), then $flag$ is $x3$. + +#### Step-6: + +We write a simple `Bruteforce.c`C program to implement a brute force attack to find the flag. + +The C Program is as follows: + +``` +#include +#include +#pragma warning (disable : 4146) + + +void BruteForce() +{ + int flag , x1, x2, x3; + flag = -2147483648; // The biggest negative value of 32bit. + x3 = 0; + while (x3 != -889275714) + { + x1 = flag << 3; + x2 = flag ^ 525024598; + x3 = x1 ^x2; + flag += 1; + } + printf("%d \n", flag - 1); +} + + +void main() +{ + BruteForce(); + system("pause"); +} +``` + +The flag will be obtained after we compile the C program by `gcc Bruteforce.c` and then execute it by `./a.out`. + +The output is as follows: +``` +-1352854872 +sh: 1: pause: not found +``` + +#### Step-7: +Finally the flag becomes: +`CTFlearn{-1352854872}` diff --git a/Reverse/Bite-code/bitecode.txt b/Reverse/Bite-code/bitecode.txt new file mode 100644 index 0000000..c0187f6 --- /dev/null +++ b/Reverse/Bite-code/bitecode.txt @@ -0,0 +1,32 @@ +public static boolean checkNum(int); + descriptor: (I)Z + flags: ACC_PUBLIC, ACC_STATIC + Code: + stack=2, locals=3, args_size=1 + 0: iload_0 + 1: iconst_3 + 2: ishl + 3: istore_1 + 4: iload_0 + 5: ldc #2 // int 525024598 + 7: ixor + 8: istore_2 + 9: iload_1 + 10: iload_2 + 11: ixor + 12: ldc #3 // int -889275714 + 14: if_icmpne 21 + 17: iconst_1 + 18: goto 22 + 21: iconst_0 + 22: ireturn + LineNumberTable: + line 3: 0 + line 4: 4 + line 5: 9 + StackMapTable: number_of_entries = 2 + frame_type = 253 /* append */ + offset_delta = 21 + locals = [ int, int ] + frame_type = 64 /* same_locals_1_stack_item */ + stack = [ int ] \ No newline at end of file diff --git a/Reverse/Lost In The Binary/Crack.py b/Reverse/Lost In The Binary/Crack.py new file mode 100644 index 0000000..24595a7 --- /dev/null +++ b/Reverse/Lost In The Binary/Crack.py @@ -0,0 +1,14 @@ +from z3 import * + +a = Int('a') # qword_602148 +b = Int('b') # qword_602150 +c = Int('c') # qword_602158 +d = Int('d') # qword_602160 + +s = Solver() +s.add(-24 * a + (-18 * b) + (-15 * c) + (-12 * d) == -18393) +s.add(9 * c + 18 * (b + a) + -9 * d == 4419) +s.add( 4 * c + 16 * a + 12 * b + 2 * d == 7300) +s.add(-6 * (b + a) + -3 * c+ -11 * d == -8613) +print(s.check()) +print(s.model()) \ No newline at end of file diff --git a/Reverse/Lost In The Binary/README.md b/Reverse/Lost In The Binary/README.md new file mode 100644 index 0000000..8047a99 --- /dev/null +++ b/Reverse/Lost In The Binary/README.md @@ -0,0 +1 @@ +https://github.com/EladBeber/CTFlearn-Writeups/tree/master/Reverse%20Engineering/Hard/Lost%20In%20The%20Binary diff --git a/Reverse/Lost In The Binary/lost_in_bin b/Reverse/Lost In The Binary/lost_in_bin new file mode 100644 index 0000000..4c6d765 Binary files /dev/null and b/Reverse/Lost In The Binary/lost_in_bin differ diff --git a/Reverse/PIN/README.md b/Reverse/PIN/README.md new file mode 100644 index 0000000..c541a20 --- /dev/null +++ b/Reverse/PIN/README.md @@ -0,0 +1,16 @@ +## PIN +The main idea finding the flag by IDA. + + +#### Step-1: +After we get the link: +[https://mega.nz/#!PXYjCKCY!F2gcs83XD6RxjOR-FNWGQZpyvUFvDbuT-PTnqRhBPGQ](https://mega.nz/#!PXYjCKCY!F2gcs83XD6RxjOR-FNWGQZpyvUFvDbuT-PTnqRhBPGQ), we get the the binary file `rev1` + +#### Step-2: +Follow this: + +https://github.com/EladBeber/CTFlearn-Writeups/tree/master/Reverse%20Engineering/Medium/PIN + +#### Step-3: +Finally the flag becomes: +`CTFlearn{333333}` diff --git a/Reverse/PIN/rev1 b/Reverse/PIN/rev1 new file mode 100644 index 0000000..304a22d Binary files /dev/null and b/Reverse/PIN/rev1 differ diff --git a/Reverse/PIN/rev1.i64 b/Reverse/PIN/rev1.i64 new file mode 100644 index 0000000..26f166e Binary files /dev/null and b/Reverse/PIN/rev1.i64 differ diff --git a/Reverse/RE_verseDIS/README.md b/Reverse/RE_verseDIS/README.md new file mode 100644 index 0000000..801fafb --- /dev/null +++ b/Reverse/RE_verseDIS/README.md @@ -0,0 +1,41 @@ +## Lost In The Binary +The main idea finding the flag by IDA. + + +#### Step-1: +After we get the link: +[https://mega.nz/#!XOwVmCSC!ut_5r6b32j2kD6EvlvsvJhmm58pbswusUXF08yI93Zo](https://mega.nz/#!XOwVmCSC!ut_5r6b32j2kD6EvlvsvJhmm58pbswusUXF08yI93Zo), we get the the binary file `problem`. + +#### Step-2: +After opening it in ida64, we get this code, + +code

+ +So its pretty clear that we use Anti-Debugging Technique for which hints are given in the question. That leads to `LABEL_2`. +We will avoid from that by changing `jnz` to `jmp` in `ida64`. + +#### Step-3: +ptrace
picture url
+ +As you can see there is output "Input password" and our input go to the variable `input`. +After that the value in key that is `IdontKnowWhatsGoingOn` `mov` to `key2`. + +#### Step-4: + +In the next instruction we put in `msg` the result of "str[4 * i] ^ LOBYTE(key2[i]);". + +Later we are going through every letter in out `input` and checking if this equal to the letter ing `msg`. + +So our only job is to break before the check and see what in `msg` . + +#### Step-5: + +First thing find our address to break. + +Using Radar2 and accessing the data stored in RAX, +we get the message in `0x555555755140` RAX's data. + +#### Step-6: + +Finally the flag becomes: +`AbCTF{r3vers1ng_dud3}` \ No newline at end of file diff --git a/Reverse/RE_verseDIS/problem b/Reverse/RE_verseDIS/problem new file mode 100644 index 0000000..e034a40 Binary files /dev/null and b/Reverse/RE_verseDIS/problem differ diff --git a/Web/Basic Injection/README.md b/Web/Basic Injection/README.md new file mode 100644 index 0000000..15519d0 --- /dev/null +++ b/Web/Basic Injection/README.md @@ -0,0 +1,42 @@ +## Basic Injection +The main idea finding the flag using basic SQL Injections to insecure web page. + +#### Step-1: +After we go to the given URL https://web.ctflearn.com/web4/, we are asked to submit something. + +#### Step-2: +Inspect Element the blank and try to check the code. + +We find a line there. + +`` + +#### Step-3: +When you try all of them, none of them give the flag. So try basic SQL payloads the existing database. + +I tried `' OR '1' = '1` + +I got the following output. +``` +Name: Luke +Data: I made this problem. +Name: Alec +Data: Steam boys. +Name: Jalen +Data: Pump that iron fool. +Name: Eric +Data: I make cars. +Name: Sam +Data: Thinks he knows SQL. +Name: fl4g__giv3r +Data: th4t_is_why_you_n33d_to_sanitiz3_inputs +Name: snoutpop +Data: jowls +Name: Chunbucket +Data: @datboiiii +``` + +#### Step-4: + +Finally the flag becomes: +`th4t_is_why_you_n33d_to_sanitiz3_inputs` \ No newline at end of file diff --git a/Web/POST Practice/README.md b/Web/POST Practice/README.md new file mode 100644 index 0000000..b407b61 --- /dev/null +++ b/Web/POST Practice/README.md @@ -0,0 +1,25 @@ +## POST Practice +The main idea finding the flag using different methods of requests like GET & POST. + +#### Step-1: +After going to URL http://165.227.106.113/post.php, + +I foremost tried to Inspect Element the page to checkout other dependencies of the page. + +I got a credential there: +` username: admin | password: 71urlkufpsdnlkadsf` + +#### Step-2: + +So here is the idea. I tried to do a POST request to get flag if possible. So I tried with the following command. + +`curl -X POST http://165.227.106.113/post.php -d "username=admin&password=71urlkufpsdnlkadsf"` + +#### Step-3: +I got the following output: +`

flag{p0st_d4t4_4ll_d4y}

` + +#### Step-4: + +Finally the flag becomes: +`flag{p0st_d4t4_4ll_d4y}` diff --git a/Web/POST Practice/Web_Page.png b/Web/POST Practice/Web_Page.png new file mode 100644 index 0000000..19a94ee Binary files /dev/null and b/Web/POST Practice/Web_Page.png differ