#include <bits/stdc++.h>
using namespace std;
int sum(string s){
return ((s[0]>>1)<<1)+1 + (s[1]>>1)<<1;
}
void printFlag(int a, int b, int c, string s){
string k="";
k += to_string(char(a));
k.push_back(char(b));
k += to_string(char(c));
string A="";
string B="";
int p1[] = {29,40,-12,-21,19,-19,1,33,21,40,-12,49,29,-4,-8,-8};
int p2[] = {130,103,90,152,123,121,107,155,131,83,86,135,130,120,132,94};
for(int n:p1){
A.push_back(n+sum(s));
}
for(int n:p1){
B.push_back(n-s[0]);
}
string ans = k + "{" + A + "__" + B + "}";
cout<<ans<<endl;
}
int binTodec(int n){
int a = 0;
for(int p=0; n!=0; p++){
if(n%10) a = a + pow(2, p);
n = n/10;
}
return a;
}
bool check(int a, int b, int c, string s){
if(a!= sum(s)) return 0;
return (a+b+c == 218 && c==70);
}
void func(int n1, int n2, int n3, string key){
char a = binTodec(n1);
char b = binTodec(n2);
char c = binTodec(n3);
if(check(a, b, c, key)) {
cout<<"Is the flag really correcnt though?"<<endl;
printFlag(a, b, c, key);
return;
// cout<<""
}
else{
cout<<"lol";
}
}
int main(){
int n1;
int n2;
int n3;
string s;
printf("Enter binary number: \n");
cin>>n1;
printf("Enter binary number: \n");
cin>>n2;
printf("Enter binary number: \n");
cin>>n3;
printf("Enter string ! To get Money $: \n");
cin>>s;
func(n1, n2, n3, s);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBzdW0oc3RyaW5nIHMpewogICAgcmV0dXJuICgoc1swXT4+MSk8PDEpKzEgKyAoc1sxXT4+MSk8PDE7Cn0Kdm9pZCBwcmludEZsYWcoaW50IGEsIGludCBiLCBpbnQgYywgc3RyaW5nIHMpewogICAgc3RyaW5nIGs9IiI7CiAgICBrICs9IHRvX3N0cmluZyhjaGFyKGEpKTsKICAgIGsucHVzaF9iYWNrKGNoYXIoYikpOwogICAgayArPSB0b19zdHJpbmcoY2hhcihjKSk7CiAgICBzdHJpbmcgQT0iIjsKICAgIHN0cmluZyBCPSIiOwogICAgaW50IHAxW10gPSB7MjksNDAsLTEyLC0yMSwxOSwtMTksMSwzMywyMSw0MCwtMTIsNDksMjksLTQsLTgsLTh9OwogICAgaW50IHAyW10gPSB7MTMwLDEwMyw5MCwxNTIsMTIzLDEyMSwxMDcsMTU1LDEzMSw4Myw4NiwxMzUsMTMwLDEyMCwxMzIsOTR9OwogICAgZm9yKGludCBuOnAxKXsKICAgICAgICBBLnB1c2hfYmFjayhuK3N1bShzKSk7CiAgICB9CiAgICBmb3IoaW50IG46cDEpewogICAgICAgIEIucHVzaF9iYWNrKG4tc1swXSk7CiAgICB9CiAgICBzdHJpbmcgYW5zID0gayArICJ7IiArIEEgKyAiX18iICsgQiArICJ9IjsKICAgIGNvdXQ8PGFuczw8ZW5kbDsgICAgCiAgICAKfQppbnQgYmluVG9kZWMoaW50IG4pewogICAgaW50IGEgPSAwOwogICAgZm9yKGludCBwPTA7IG4hPTA7IHArKyl7CiAgICAgICAgaWYobiUxMCkgYSA9IGEgKyBwb3coMiwgcCk7CiAgICAgICAgbiA9IG4vMTA7CiAgICB9CiAgICByZXR1cm4gYTsKfQoKYm9vbCBjaGVjayhpbnQgYSwgaW50IGIsIGludCBjLCBzdHJpbmcgcyl7CiAgICBpZihhIT0gc3VtKHMpKSByZXR1cm4gMDsKICAgIHJldHVybiAoYStiK2MgPT0gMjE4ICYmIGM9PTcwKTsKfQp2b2lkIGZ1bmMoaW50IG4xLCBpbnQgbjIsIGludCBuMywgc3RyaW5nIGtleSl7CiAgICBjaGFyIGEgPSBiaW5Ub2RlYyhuMSk7CiAgICBjaGFyIGIgPSBiaW5Ub2RlYyhuMik7CiAgICBjaGFyIGMgPSBiaW5Ub2RlYyhuMyk7CiAgICBpZihjaGVjayhhLCBiLCBjLCBrZXkpKSB7CgogICAgICAgIGNvdXQ8PCJJcyB0aGUgZmxhZyByZWFsbHkgY29ycmVjbnQgdGhvdWdoPyI8PGVuZGw7CiAgICAgICAgcHJpbnRGbGFnKGEsIGIsIGMsIGtleSk7CiAgICAgICAgcmV0dXJuOwogICAgICAgIC8vIGNvdXQ8PCIiCiAgICB9CiAgICBlbHNlewogICAgICAgIGNvdXQ8PCJsb2wiOwogICAgfQp9CgoKaW50IG1haW4oKXsKICAgIGludCBuMTsKICAgIGludCBuMjsKICAgIGludCBuMzsKICAgIHN0cmluZyBzOwogICAgcHJpbnRmKCJFbnRlciBiaW5hcnkgbnVtYmVyOiBcbiIpOwogICAgY2luPj5uMTsKICAgIHByaW50ZigiRW50ZXIgYmluYXJ5IG51bWJlcjogXG4iKTsKICAgIGNpbj4+bjI7CiAgICBwcmludGYoIkVudGVyIGJpbmFyeSBudW1iZXI6IFxuIik7CiAgICBjaW4+Pm4zOwogICAgcHJpbnRmKCJFbnRlciBzdHJpbmcgISBUbyBnZXQgTW9uZXkgJDogXG4iKTsKICAgIGNpbj4+czsKCiAgICBmdW5jKG4xLCBuMiwgbjMsIHMpOwoKCgp9