arr = [
"00111111", "01010010", "01101001", "00000100", "00111000", "01010101", "01111101",
"00010010", "00010011", "00011111", "01101101", "01100110", "00111111", "00100111",
"00110011", "00100011", "00001110", "00100011", "00010010", "00101000", "01111100",
"01010101", "00011101", "00100010", "01101000", "01111110", "01111011", "01101100",
"01101011", "01000101", "00001101", "00100010", "01101000", "00000000", "01000111",
"00010100", "00001101", "00111100", "01100111", "01101101", "01101001", "01111011",
"00111010", "00111110", "00011001", "00000001", "00110000", "00101000", "00001001",
"00001110", "00111110", "00010011", "00001001", "00111011", "00110000", "00110100",
"00111000", "00101000", "00101000", "00001110", "00111100", "00010110", "00101000",
"00101011", "00001010", "01110010", "01010011", "00110011", "01100111", "01111111",
"00110101", "00100010", "00001101", "01100010", "01011111", "00110000", "00000010",
"01101000", "00001101",
]
flag = "T"
# result = ""
# print(format(ord("N"), "08b"))
# print(chr(int(format(ord("N"), "08b"),2)^int(arr[0], 2)))
for i, bin_str in enumerate(arr):
# Get binary of current flag character (cyclic if needed)
flag_bin = format(ord(flag[i]), "08b")
# XOR as integers
xor_result = int(flag_bin, 2) ^ int(bin_str, 2)
# Append XORed character
flag += chr(xor_result)
print(flag)
YXJyID0gWwogICAgIjAwMTExMTExIiwgIjAxMDEwMDEwIiwgIjAxMTAxMDAxIiwgIjAwMDAwMTAwIiwgIjAwMTExMDAwIiwgIjAxMDEwMTAxIiwgIjAxMTExMTAxIiwKICAgICIwMDAxMDAxMCIsICIwMDAxMDAxMSIsICIwMDAxMTExMSIsICIwMTEwMTEwMSIsICIwMTEwMDExMCIsICIwMDExMTExMSIsICIwMDEwMDExMSIsCiAgICAiMDAxMTAwMTEiLCAiMDAxMDAwMTEiLCAiMDAwMDExMTAiLCAiMDAxMDAwMTEiLCAiMDAwMTAwMTAiLCAiMDAxMDEwMDAiLCAiMDExMTExMDAiLAogICAgIjAxMDEwMTAxIiwgIjAwMDExMTAxIiwgIjAwMTAwMDEwIiwgIjAxMTAxMDAwIiwgIjAxMTExMTEwIiwgIjAxMTExMDExIiwgIjAxMTAxMTAwIiwKICAgICIwMTEwMTAxMSIsICIwMTAwMDEwMSIsICIwMDAwMTEwMSIsICIwMDEwMDAxMCIsICIwMTEwMTAwMCIsICIwMDAwMDAwMCIsICIwMTAwMDExMSIsCiAgICAiMDAwMTAxMDAiLCAiMDAwMDExMDEiLCAiMDAxMTExMDAiLCAiMDExMDAxMTEiLCAiMDExMDExMDEiLCAiMDExMDEwMDEiLCAiMDExMTEwMTEiLAogICAgIjAwMTExMDEwIiwgIjAwMTExMTEwIiwgIjAwMDExMDAxIiwgIjAwMDAwMDAxIiwgIjAwMTEwMDAwIiwgIjAwMTAxMDAwIiwgIjAwMDAxMDAxIiwKICAgICIwMDAwMTExMCIsICIwMDExMTExMCIsICIwMDAxMDAxMSIsICIwMDAwMTAwMSIsICIwMDExMTAxMSIsICIwMDExMDAwMCIsICIwMDExMDEwMCIsCiAgICAiMDAxMTEwMDAiLCAiMDAxMDEwMDAiLCAiMDAxMDEwMDAiLCAiMDAwMDExMTAiLCAiMDAxMTExMDAiLCAiMDAwMTAxMTAiLCAiMDAxMDEwMDAiLAogICAgIjAwMTAxMDExIiwgIjAwMDAxMDEwIiwgIjAxMTEwMDEwIiwgIjAxMDEwMDExIiwgIjAwMTEwMDExIiwgIjAxMTAwMTExIiwgIjAxMTExMTExIiwKICAgICIwMDExMDEwMSIsICIwMDEwMDAxMCIsICIwMDAwMTEwMSIsICIwMTEwMDAxMCIsICIwMTAxMTExMSIsICIwMDExMDAwMCIsICIwMDAwMDAxMCIsCiAgICAiMDExMDEwMDAiLCAiMDAwMDExMDEiLApdCgpmbGFnID0gIlQiCiMgcmVzdWx0ID0gIiIKIyBwcmludChmb3JtYXQob3JkKCJOIiksICIwOGIiKSkKIyBwcmludChjaHIoaW50KGZvcm1hdChvcmQoIk4iKSwgIjA4YiIpLDIpXmludChhcnJbMF0sIDIpKSkKCmZvciBpLCBiaW5fc3RyIGluIGVudW1lcmF0ZShhcnIpOgogICAgIyBHZXQgYmluYXJ5IG9mIGN1cnJlbnQgZmxhZyBjaGFyYWN0ZXIgKGN5Y2xpYyBpZiBuZWVkZWQpCiAgICBmbGFnX2JpbiA9IGZvcm1hdChvcmQoZmxhZ1tpXSksICIwOGIiKQoKICAgICMgWE9SIGFzIGludGVnZXJzCiAgICB4b3JfcmVzdWx0ID0gaW50KGZsYWdfYmluLCAyKSBeIGludChiaW5fc3RyLCAyKQogICAgCiAgICAjIEFwcGVuZCBYT1JlZCBjaGFyYWN0ZXIKICAgIGZsYWcgKz0gY2hyKHhvcl9yZXN1bHQpCgoKcHJpbnQoZmxhZyk=