#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <unistd.h>
void cubic( ) ;
int main( )
{ int i; // menu integer
sleep( 1 ) ;
sleep( 1 ) ;
sleep( 1 ) ;
sleep( 1 ) ;
printf ( "[##########]100%% \n " ) ; sleep( 1 ) ;
char back, q;
float a, p, b, n, t, c, j, g, v, sum, totalinterest, bhag, biyog, goon, r, area, x1, x2, password, total;
//integer is shit always use float
printf ( "welcome to idk what calculator(v6+)\n \n \n " ) ; printf ( "************************************\n " ) ; printf ( "designed by saif at 4am \n " ) ; printf ( "#don't enter anything besides numbers.\n " ) ; printf ( "#can calculate negative numbers.\n " ) ; printf ( "#should be able to calculate near infinity.\n " ) ; printf ( "*bug bhalluk: u tell me.\n \n " ) ; printf ( "************************************\n " ) ; printf ( "navigate by entering numbers\n " ) ; menu:
printf ( "[1]jug numbers(+)(max 10 numbers)\n " ) ; printf ( "[2]bhag numbers(/)(inf means infinity)\n " ) ; printf ( "[3]goon numbers(x)\n " ) ; printf ( "[4]biyog numbers(-)\n " ) ; printf ( "[5]area of a circle(m^2)\n " ) ; printf ( "[6]quadratic solver(nan means imaginary)\n " ) ; printf ( "[12]cubic function root with 1 real root given" ) ; printf ( "[7]interest calcuator(normal. not compound)\n " ) ; printf ( "[8]very much hidden menu(very hard password)\n " ) ; printf ( "[9]sum of 1 to n th number(idk what's the term for it)\n " ) ; printf ( "[10] random ASCII art \n " ) ; printf ( "[100] given up projects\n " ) ;
if ( i== 100 ) {
printf ( "Given up projects-\n 1/age calculator(can calculate only years not days)\n " ) ; printf ( "2/ GUI. one day with c++\n " ) ; printf ( "3/ building a apk. kotlin is too tough\n " ) ; printf ( "4/optimizing this shitty code.v6 has 216 lines. easily can be made under 100. but this thing is useless as c is to restricted\n " ) ; printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; }
}
if ( i== 0 ) {
sleep( 2 ) ;
if ( i== 1 ) {
float g[ 10 ] = { 0 } ;
printf ( "┏━━━┓╋╋╋╋╋╋╋╋╋╋╋╋┏┓╋╋╋╋╋╋┏┓╋╋╋┏┓\n " ) ; printf ( "┃┏━┓┃╋╋╋╋╋╋╋╋╋╋╋╋┃┃╋╋╋╋╋╋┃┃╋╋┏┛┗┓\n " ) ; printf ( "┃┗━━┳┓┏┳┓┏┓┏━━┳━━┫┃┏━━┳┓┏┫┃┏━┻┓┏╋━━┳━┓\n " ) ; printf ( "┗━━┓┃┃┃┃┗┛┃┃┏━┫┏┓┃┃┃┏━┫┃┃┃┃┃┏┓┃┃┃┏┓┃┏┛\n " ) ; printf ( "┃┗━┛┃┗┛┃┃┃┃┃┗━┫┏┓┃┗┫┗━┫┗┛┃┗┫┏┓┃┗┫┗┛┃┃\n " ) ; printf ( "┗━━━┻━━┻┻┻┛┗━━┻┛┗┻━┻━━┻━━┻━┻┛┗┻━┻━━┻┛\n " ) ;
printf ( "sum of upto 10 numbers. entering 0 stops and sums all given numbers.\n " ) ; printf ( "your 1st number here-\n " ) ; if ( g[ 1 ] == 0 ) {
goto hard; }
if ( g[ 2 ] == 0 ) {
goto hard; }
if ( g[ 3 ] == 0 ) {
goto hard; }
if ( g[ 4 ] == 0 ) {
goto hard; }
if ( g[ 5 ] == 0 ) {
goto hard; }
if ( g[ 6 ] == 0 ) {
goto hard; }
if ( g[ 7 ] == 0 ) {
goto hard; }
if ( g[ 8 ] == 0 ) {
goto hard; }
hard :
sum= g[ 0 ] + g[ 1 ] + g[ 2 ] + g[ 3 ] + g[ 4 ] + g[ 5 ] + g[ 6 ] + g[ 7 ] + g[ 8 ] + g[ 9 ] ;
printf ( "************************************\n " ) ; printf ( "************************************\n " ) ; printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; }
}
if ( i== 2 ) {
printf ( "=====================================\n " ) ; printf ( "|| DIVISION CALCULATOR ||\n " ) ; printf ( "=====================================\n " ) ; printf ( "enter your 1st number here \n " ) ;
printf ( "enter the last number and let me rest\n " ) ; bhag= ( float ) a/ b;
printf ( "here you go stpuid \n " ) ; printf ( "************************************\n " ) ; printf ( "************************************\n " ) ;
printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; } ;
if ( b== 0 ) {
printf ( "************************************\n " ) ; printf ( "************************************\n " ) ; printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; } ;
} }
if ( i== 3 ) {
printf ( "=====================================\n " ) ; printf ( "|| MUTIPLICATION CALCULATOR ||\n " ) ; printf ( "=====================================\n " ) ; goon= ( float ) a* b;
printf ( "************************************\n " ) ; printf ( "************************************\n " ) ; printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; } ;
}
if ( i== 4 ) {
printf ( "=====================================\n " ) ; printf ( "|| SUBTRACTION CALCULATOR ||\n " ) ; printf ( "=====================================\n " ) ; printf ( "enter the 1st number here \n " ) ; printf ( "enter last number here-\n " ) ; biyog= ( float ) a- b;
printf ( "************************************\n " ) ; printf ( "************************************\n " ) ; printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; } ;
}
if ( i== 5 ) {
printf ( "enter radius(In meter)=\n " ) ; area= 3.14159 * ( float ) r;
printf ( "************************************\n " ) ; printf ( "area(m²)=%.4f\n " , area
) ; printf ( "************************************\n " ) ; printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; } ;
}
if ( i== 6 ) {
x1
= ( - b
+ sqrt ( b
* b
- 4 * a
* c
) ) / 2 * a
; printf ( "************************************\n " ) ; x2
= ( - b
- sqrt ( b
* b
- 4 * a
* c
) ) / 2 * a
; printf ( "************************************\n " ) ; printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; } ;
}
if ( i== 7 ) {
printf ( " INTREST CALCULATOR \n " ) ; printf ( "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣷⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣿⣿⠋⣉⣉⠙⣿⣿⣿⣷⣦⣀⠀⠀⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿⣶⣤⡀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⣤⣤⣤⣤⣤⡄⠀⠀⠀⢀⣠⣿⣿⣤⣤⣄⡀⠀⢠⣤⣤⣤⣤⣤⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⣿⣿⣿⠀⠀⠀⢀⣴⣿⡿⠛⠛⠛⠛⠛⠇⠀⠀⠀⣿⣿⣿⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⣿⣿⣿⠀⠀⠀⣸⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⣿⣿⣿⠀⠀⠀⣿⣿ bank⢠⣤⣤⣤⠀⠀⠀⣿⣿⣿⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⣿⣿⣿⠀⠀⠀⢹⣿⣆⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⣿⣿⣿⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⣿⣿⣿⠀⠀⠀⠀⠻⣿⣷⣤⣤⣤⣤⣾⣿⠀⠀⠀⣿⣿⣿⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⣿⣿⣿⠀⠀⠀⠀⠀⠈⠙⣿⣿⠛⠛⠉⠁⠀⠀⠀⣿⣿⣿⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠛⠛⠛⠛⠛⠃⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⠘⠛⠛⠛⠛⠛⠀⠀⠀\n " ) ; printf ( "⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠉⠉⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀\n " ) ; printf ( "⠀⢰⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⡆⠀\n " ) ; printf ( "⠀⠈⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠁⠀\n " ) ;
totalinterest= p* ( r/ 100 ) * t;
printf ( "total interest=%0.4f\n " , totalinterest
) ; printf ( "************************************\n " ) ; printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; } ;
}
if ( i
== 8 ) { printf ( "\033 [2J\033 [H" ) ; printf ( "┃╰━╯┣┳━╯┣━╯┣━━┳━╮╱╭╮╭┳━━┳━╮╭╮╭╮\n " ) ; printf ( "┃╭━╮┣┫╭╮┃╭╮┃┃━┫╭╮╮┃╰╯┃┃━┫╭╮┫┃┃┃\n " ) ; printf ( "┃┃╱┃┃┃╰╯┃╰╯┃┃━┫┃┃┃┃┃┃┃┃━┫┃┃┃╰╯┃\n " ) ; printf ( "╰╯╱╰┻┻━━┻━━┻━━┻╯╰╯╰┻┻┻━━┻╯╰┻━━╯\n " ) ; if ( password
== 1234 ) { printf ( "u a smart fella or fart smella?\n \n " ) ; printf ( "made with vscode,dev c\\ c++, coding c(on my tab and blurry crt)\n " ) ; printf ( "************************************\n " ) ; }
else printf ( "womp womp, wrong password\n " ) ; printf ( "enter q to go back to menu\n " ) ; if ( q
== 'q' ) { printf ( "\033 [2J\033 [H" ) ; goto menu; } ;
}
if ( i== 9 ) {
total= ( n* ( n+ 1 ) ) / 2 ;
printf ( "total=%0.4f\n " , total
) ; printf ( "************************************\n " ) ; printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; } ;
}
if ( i== 10 ) {
printf ( "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⡿⠿⢿⣦⡀⠀⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⢀⣶⣿⣶⣶⣶⣦⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⠟⠁⣀⣤⡄⢹⣷⡀⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⢸⣿⡧⠤⠤⣌⣉⣩⣿⡿⠶⠶⠒⠛⠛⠻⠿⠶⣾⣿⣣⠔⠉⠀⠀⠙⡆⢻⣷⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⢸⣿⠀⠀⢠⣾⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⡃⠀⠀⠀⠀⠀⢻⠘⣿⡀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠘⣿⡀⣴⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⢶⣤⣀⠀⢘⠀⣿⡇⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⢿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⢿⣴⣿⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⣸⡟⠀⠀⠀⣴⡆⠀⠀⠀⠀⠀⠀⠀⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣷⡀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⢰⣿⠁⠀⠀⣰⠿⣇⠀⠀⠀⠀⠀⠀⢻⣷⡀⠀⢠⡄⠀⠀⠀⠀⠀⡀⠀⠹⣷⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⣾⡏⠀⢀⣴⣿⣤⢿⡄⠀⠀⠀⠀⠀⠀⠸⣿⣷⡀⠘⣧⠀⠀⠀⠀⠀⣷⣄⠀⢻⣇⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⢻⣇⠀⢸⡇⠀⠀⠀⢻⣄⠀⠀⠀⠀⠀⣤⡯⠈⢻⣄⢻⡄⠀⠀⠀⠀⣿⡿⣷⡌⣿⡄⠀⠀\n " ) ; printf ( "⠀⢀⣸⣿⠀⢸⡷⣶⣶⡄⠀⠙⠛⠛⠛⠛⠛⠃⣠⣶⣄⠙⠿⣧⠀⠀⠀⢠⣿⢹⣻⡇⠸⣿⡄⠀\n " ) ; printf ( "⢰⣿⢟⣿⡴⠞⠀⠘⢿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⡇⠀⣿⡀⢀⣴⠿⣿⣦⣿⠃⠀⢹⣷⠀\n " ) ; printf ( "⠀⢿⣿⠁⠀⠀⠀⠀⠀⠀⠀⢠⣀⣀⡀⠀⡀⠀⠀⠀⠀⠀⠀⣿⠛⠛⠁⠀⣿⡟⠁⠀⠀⢀⣿⠂\n " ) ; printf ( "⠀⢠⣿⢷⣤⣀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠛⠉⠀⠀⠀⠀⠀⢠⡿⢰⡟⠻⠞⠛⣧⣠⣦⣀⣾⠏⠀\n " ) ; printf ( "⠀⢸⣿⠀⠈⢹⡿⠛⢶⡶⢶⣤⣤⣤⣤⣤⣤⣤⣤⣶⠶⣿⠛⠷⢾⣧⣠⡿⢿⡟⠋⠛⠋⠁⠀⠀\n " ) ; printf ( "⠀⣾⣧⣤⣶⣟⠁⠀⢸⣇⣸⠹⣧⣠⡾⠛⢷⣤⡾⣿⢰⡟⠀⠀⠀⣿⠋⠁⢈⣿⣄⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⣼⡏⠻⢿⣶⣤⣿⣿⠀⠈⢉⣿⠀⢸⣏⠀⣿⠈⣷⣤⣤⣶⡿⠶⠾⠋⣉⣿⣦⣀⠀⠀⠀\n " ) ; printf ( "⠀⠀⣼⡿⣇⠀⠀⠙⠻⢿⣿⠀⠀⢸⣇⠀⠀⣻⠀⣿⠀⣿⠟⠋⠁⠀⠀⢀⡾⠋⠉⠙⣿⡆⠀⠀\n " ) ; printf ( "⠀⠀⢻⣧⠙⢷⣤⣦⠀⢸⣿⡄⠀⠀⠉⠳⣾⠏⠀⢹⣾⡇⠀⠀⠙⠛⠶⣾⡁⠀⠀⠀⣼⡇⠀⠀\n " ) ; printf ( "⠀⠀⠀⠙⠛⠛⣻⡟⠀⣼⣿⣇⣀⣀⣀⡀⠀⠀⠀⣸⣿⣇⠀⠀⠀⠀⠀⠈⢛⣷⠶⠿⠋⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⢠⣿⣅⣠⣿⠛⠋⠉⠉⠛⠻⠛⠛⠛⠛⠋⠻⣧⡀⣀⣠⢴⠾⠉⣿⣆⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⣼⡏⠉⣿⡟⠁⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣌⠁⠀⠀⠈⣿⡆⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⣿⣇⣠⣿⣿⡶⠶⠶⣶⣿⣷⡶⣶⣶⣶⣶⡶⠶⠶⢿⣿⡗⣀⣤⣾⠟⠁⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⠈⠙⠛⢻⣿⡇⠀⠀⣿⡟⠛⠷⠶⠾⢿⣧⠁⠀⠀⣸⡿⠿⠟⠉⠀⠀⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣷⣦⣤⡿⠀⠀⠀⠀⠀⠀⢿⣧⣤⣼⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n " ) ;
printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; } ;
}
if ( i== 11 ) {
printf ( "⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣶⡋⠉⠙⠒⢤⡀⠀⠀⠀⠀⠀⢠⠖⠉⠉⠙⠢⡄⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⠀⢀⣼⣟⡒⠒⠀⠀⠀⠀⠀⠙⣆⠀⠀⠀⢠⠃⠀⠀⠀⠀⠀⠹⡄\n " ) ; printf ( "⠀⠀⠀⠀⠀⠀⣼⠷⠖⠀⠀⠀⠀⠀⠀⠀⠀⠘⡆⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⢷\n " ) ; printf ( "⠀⠀⠀⠀⠀⠀⣷⡒⠀⠀⢐⣒⣒⡒⠀⣐⣒⣒⣧⠀ ⢰⠀⠀⢠⢤⢠⡠ ⠀⢸⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⢰⣛⣟⣂⠀⠘⠤⠬⠃⠰⠑⠥⠊⣿ ⠀⢸⠀⠀⠓⠃⠋⠂ ⠀⢸⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⢸⣿⡿⠤⠀⢸⠁⠀⠀⢀⡆⠀⠀⣿⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⣸\n " ) ; printf ( "⠀⠀⠀⠀⠀⠈⠿⣯⡭⠀⠸⡀⠀⢀⣀⠀⠀⠀⡟⠀⠀⢸⠀⠀⠀⠀⠀⠀⢠⠏\n " ) ; printf ( "⠀⠀⠀⠀⠀⠀⠀⠈⢯⡥⠄⢱⠀⠀⠀⠀⠀⡼⠁⠀⠀⠀⠳⢄⣀⣀⣀⡴⠃⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⠀⠀⠀⠀⢱⡦⣄⣀⣀⣀⣠⠞⠁⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⠛⠃⠀⠀⠀⢹⠳⡶⣤⡤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⠀⣠⢴⣿⣿⣿⡟⡷⢄⣀⣀⣀⡼⠳⡹⣿⣷⠞⣳⠀⠀⠀⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⠀⢰⡯⠭⠹⡟⠿⠧⠷⣄⣀⣟⠛⣦⠔⠋⠛⠛⠋⠙⡆⠀⠀⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⢸⣿⠭⠉⠀⢠⣤⠀⠀⠀⠘⡷⣵⢻⠀⠀⠀⠀⣼⠀⣇⠀⠀⠀⠀⠀⠀⠀\n " ) ; printf ( "⠀⠀⡇⣿⠍⠁⠀⢸⣗⠂⠀⠀⠀⣧⣿⣼⠀⠀⠀⠀⣯⠀⢸⠀⠀⠀⠀⠀⠀⠀\n " ) ; printf ( "(not doing this cuz I'm lazy ok?)\n " ) ; printf ( "enter q to go back to menu\n " ) ; if ( q== 'q' ) {
goto menu; } ;
}
if ( i== 12 )
cubic( ) ;
}
return 0 ;
}
void cubic( )
{
double a, b, c, d, x, y, z, r, pq, sumpq, subpq;
double p, q;
printf ( "if ax^3 + bx^2 + cx + d, \n provide a b c d \n " ) ; scanf ( "%lf %lf %lf %lf" ,& a
, & b
, & c
, & d
) ;
printf ( "provide 1 real root" ) ; sumpq=- ( b/ a) - r;
pq=- ( d/ a) / r;
subpq= ( ( ( sumpq) * ( sumpq) ) - 4 * pq) ;
p
= ( ( sumpq
) + sqrt ( subpq
) ) / 2 ; q
= ( ( sumpq
) - sqrt ( subpq
) ) / 2 ; if ( "p=nan" )
{
printf ( "2nd root=imaginary\n " ) ;
}
else {
}
if ( "q=nan" )
{
}
else {
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgp2b2lkIGN1YmljKCk7CiBpbnQgbWFpbigpCnsgaW50IGk7IC8vIG1lbnUgaW50ZWdlcgogcHJpbnRmKCLwnZCN8J2QqPCdkLAg8J2QpfCdkKjwnZCa8J2QnfCdkKLwnZCn8J2QoC4gLiAuXG4iKTsKIHByaW50ZigiWy4uLi4uLi4uLi5dMCUlIFxuIik7CiBzbGVlcCgxKTsKIHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogcHJpbnRmKCLwnZCN8J2QqPCdkLAg8J2QpfCdkKjwnZCa8J2QnfCdkKLwnZCn8J2QoC4gLiAuXG4iKTsKIHByaW50ZigiWyMjIy4uLi4uLi5dMzAlJVxuIik7CiBzbGVlcCgxKTsKIHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogcHJpbnRmKCLwnZCN8J2QqPCdkLAg8J2QpfCdkKjwnZCa8J2QnfCdkKLwnZCn8J2QoC4gLiAuXG4iKTsKIHByaW50ZigiWyMjIyMjLi4uLi5dNTAlJVxuIik7CiBzbGVlcCgxKTsKIHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogcHJpbnRmKCLwnZCN8J2QqPCdkLAg8J2QpfCdkKjwnZCa8J2QnfCdkKLwnZCn8J2QoC4gLiAuXG4iKTsKIHByaW50ZigiWyMjIyMjIyMjLi5dODAlJVxuIik7CiBzbGVlcCgxKTsKIHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogcHJpbnRmKCLwnZCN8J2QqPCdkLAg8J2QpfCdkKjwnZCa8J2QnfCdkKLwnZCn8J2QoC4gLiAuXG4iKTsKIHByaW50ZigiWyMjIyMjIyMjIyNdMTAwJSUgXG4iKTsKIHNsZWVwKDEpOwogcHJpbnRmKCJcMDMzWzJKXDAzM1tIIik7CiAKIAogCiAKIAogCiAKICAgIAogICAgY2hhciBiYWNrLHE7CiAgICBmbG9hdCBhLHAsYixuLHQsYyxqLGcsdixzdW0sdG90YWxpbnRlcmVzdCxiaGFnLGJpeW9nLGdvb24scixhcmVhLHgxLHgyLHBhc3N3b3JkLHRvdGFsOwogICAgLy9pbnRlZ2VyIGlzIHNoaXQgYWx3YXlzIHVzZSBmbG9hdAogICAgcHJpbnRmKCJ3ZWxjb21lIHRvIGlkayB3aGF0IGNhbGN1bGF0b3IodjYrKVxuXG5cbiIpOwogICAgcHJpbnRmKCIgICAgICAgICAgICAgICAgICAgICAgICAgfFxcXy98ICAgICAgICBcbiIpOwogICAgcHJpbnRmKCIgICAgICAgICAgICAgICAgICAgICAgICAgfCBAIEAgPC0ta3V0dGEhXG4iKTsKICAgIHByaW50ZigiICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA8PiAgICAgICBcbiIpOwogICAgcHJpbnRmKCIgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXy9cXC0tLS0uIFxuIik7CiAgICBwcmludGYoIiAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgXG4iKTsKICAgIHByaW50ZigiICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICBcbiIpOwogICAgcHJpbnRmKCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiIpOwogICAgcHJpbnRmKCJkZXNpZ25lZCBieSBzYWlmIGF0IDRhbSBcbiIpOwogICAgcHJpbnRmKCIjZG9uJ3QgZW50ZXIgYW55dGhpbmcgYmVzaWRlcyBudW1iZXJzLlxuIik7CiAgICBwcmludGYoIiNjYW4gY2FsY3VsYXRlIG5lZ2F0aXZlIG51bWJlcnMuXG4iKTsKICAgIHByaW50ZigiI3Nob3VsZCBiZSBhYmxlIHRvIGNhbGN1bGF0ZSBuZWFyIGluZmluaXR5LlxuIik7CiAgICBwcmludGYoIiNkZWNpbWFscyB1cHRvIDRcbiIpOwogICAgcHJpbnRmKCIqYnVnIGJoYWxsdWs6IHUgdGVsbCBtZS5cblxuIik7CiAgICBwcmludGYoIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7CiAgICBwcmludGYoIm5hdmlnYXRlIGJ5IGVudGVyaW5nIG51bWJlcnNcbiIpOwogICAgbWVudToKICAgIHByaW50ZigiWzBdZXhpdFxuIik7CiAgICBwcmludGYoIlsxXWp1ZyBudW1iZXJzKCspKG1heCAxMCBudW1iZXJzKVxuIik7CiAgICBwcmludGYoIlsyXWJoYWcgbnVtYmVycygvKShpbmYgbWVhbnMgaW5maW5pdHkpXG4iKTsKICAgIHByaW50ZigiWzNdZ29vbiBudW1iZXJzKHgpXG4iICk7CiAgICBwcmludGYoIls0XWJpeW9nIG51bWJlcnMoLSlcbiIpOwogICAgcHJpbnRmKCJbNV1hcmVhIG9mIGEgY2lyY2xlKG1eMilcbiIpOwogICAgcHJpbnRmKCJbNl1xdWFkcmF0aWMgc29sdmVyKG5hbiBtZWFucyBpbWFnaW5hcnkpXG4iKTsKICAgIHByaW50ZigiWzEyXWN1YmljIGZ1bmN0aW9uIHJvb3Qgd2l0aCAxIHJlYWwgcm9vdCBnaXZlbiIpOwogICAgcHJpbnRmKCJbN11pbnRlcmVzdCBjYWxjdWF0b3Iobm9ybWFsLiBub3QgY29tcG91bmQpXG4iKTsKICAgIHByaW50ZigiWzhddmVyeSBtdWNoIGhpZGRlbiBtZW51KHZlcnkgaGFyZCBwYXNzd29yZClcbiIpOwogICAgcHJpbnRmKCJbOV1zdW0gb2YgMSB0byBuIHRoIG51bWJlcihpZGsgd2hhdCdzIHRoZSB0ZXJtIGZvciBpdClcbiIpOwogICAgcHJpbnRmKCJbMTBdIHJhbmRvbSBBU0NJSSBhcnQgXG4iKTsKICAgIHByaW50ZigiWzExXSBvay4gXG4iKTsKICAgIHByaW50ZigiWzEwMF0gZ2l2ZW4gdXAgcHJvamVjdHNcbiIpOwogICAgcHJpbnRmKCJZb3VyIHdpc2g/LVxuIik7CiAgICAKICAgIHNjYW5mKCIlZCIsJmkpOwogICAgaWYoaT09MTAwKSB7IAogICAgIHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogICAgcHJpbnRmKCJHaXZlbiB1cCBwcm9qZWN0cy1cbjEvYWdlIGNhbGN1bGF0b3IoY2FuIGNhbGN1bGF0ZSBvbmx5IHllYXJzIG5vdCBkYXlzKVxuIik7IAogICAgcHJpbnRmKCIyLyBHVUkuIG9uZSBkYXkgd2l0aCBjKytcbiIpOwogICAgcHJpbnRmKCIzLyBidWlsZGluZyBhIGFway4ga290bGluIGlzIHRvbyB0b3VnaFxuIik7CiAgICBwcmludGYoIjQvb3B0aW1pemluZyB0aGlzIHNoaXR0eSBjb2RlLnY2IGhhcyAyMTYgbGluZXMuIGVhc2lseSBjYW4gYmUgbWFkZSB1bmRlciAxMDAuIGJ1dCB0aGlzIHRoaW5nIGlzIHVzZWxlc3MgYXMgYyBpcyB0byByZXN0cmljdGVkXG4iKTsKICAgIHByaW50ZigiZW50ZXIgcSB0byBnbyBiYWNrIHRvIG1lbnVcbiIpOwogICAgICAgICAgc2NhbmYoIiAlYyIsICZxKTsKICAgICAgICAgIGlmKHE9PSdxJykgeyAKICAgICAgICAgICBwcmludGYoIlwwMzNbMkpcMDMzW0giKTsKICAgICAgICAgICBnb3RvIG1lbnU7fQogICAgfQogICAgaWYoaT09MCkgewogICAgIAogICAgIHNsZWVwKDIpOwogICAgIHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogICAgIHByaW50ZigiYnllIik7CiAgICAgZXhpdCgwKTt9CiAgICAKICAgIGlmKGk9PTEpIHsKICAgICBwcmludGYoIlwwMzNbMkpcMDMzW0giKTsKICAgIGZsb2F0IGdbMTBdID0gezB9OwogICAgcHJpbnRmKCLilI/ilIHilIHilIHilJPilYvilYvilYvilYvilYvilYvilYvilYvilYvilYvilYvilYvilI/ilJPilYvilYvilYvilYvilYvilYvilI/ilJPilYvilYvilYvilI/ilJNcbiIpOwogICAgcHJpbnRmKCLilIPilI/ilIHilJPilIPilYvilYvilYvilYvilYvilYvilYvilYvilYvilYvilYvilYvilIPilIPilYvilYvilYvilYvilYvilYvilIPilIPilYvilYvilI/ilJvilJfilJNcbiIpOwogICAgcHJpbnRmKCLilIPilJfilIHilIHilLPilJPilI/ilLPilJPilI/ilJPilI/ilIHilIHilLPilIHilIHilKvilIPilI/ilIHilIHilLPilJPilI/ilKvilIPilI/ilIHilLvilJPilI/ilYvilIHilIHilLPilIHilJNcbiIpOwogICAgcHJpbnRmKCLilJfilIHilIHilJPilIPilIPilIPilIPilJfilJvilIPilIPilI/ilIHilKvilI/ilJPilIPilIPilIPilI/ilIHilKvilIPilIPilIPilIPilIPilI/ilJPilIPilIPilIPilI/ilJPilIPilI/ilJtcbiIpOwogICAgcHJpbnRmKCLilIPilJfilIHilJvilIPilJfilJvilIPilIPilIPilIPilIPilJfilIHilKvilI/ilJPilIPilJfilKvilJfilIHilKvilJfilJvilIPilJfilKvilI/ilJPilIPilJfilKvilJfilJvilIPilINcbiIpOwogICAgcHJpbnRmKCLilJfilIHilIHilIHilLvilIHilIHilLvilLvilLvilJvilJfilIHilIHilLvilJvilJfilLvilIHilLvilIHilIHilLvilIHilIHilLvilIHilLvilJvilJfilLvilIHilLvilIHilIHilLvilJtcbiIpOwogICAgCiAgICAgCiAgICBwcmludGYoInN1bSBvZiB1cHRvIDEwIG51bWJlcnMuIGVudGVyaW5nIDAgc3RvcHMgYW5kIHN1bXMgYWxsIGdpdmVuIG51bWJlcnMuXG4iKTsKICAgIHByaW50ZigieW91ciAxc3QgbnVtYmVyIGhlcmUtXG4iKTsgCiAgICBzY2FuZigiJWYiLCZnWzBdKTsKICAgIHByaW50ZigiKyIpOwogICAgc2NhbmYoIiVmIiwmZ1sxXSk7CiAgICBpZihnWzFdPT0wKSB7CiAgICBnb3RvIGhhcmQ7IH0KICAgIHByaW50ZigiKyIpOwogICAgc2NhbmYoIiVmIiwmZ1syXSk7CiAgICBpZihnWzJdPT0wKSB7CiAgICBnb3RvIGhhcmQ7IH0gIAogICBwcmludGYoIisiKTsKICAgc2NhbmYoIiVmIiwmZ1szXSk7IAogICBpZihnWzNdPT0wKSB7CiAgICBnb3RvIGhhcmQ7IH0KICAgIHByaW50ZigiKyIpOwogICAgc2NhbmYoIiVmIiwmZ1s0XSk7CiAgICBpZihnWzRdPT0wKSB7CiAgICBnb3RvIGhhcmQ7IH0KICAgIHByaW50ZigiKyIpOwogICAgc2NhbmYoIiVmIiwmZ1s1XSk7CiAgICBpZihnWzVdPT0wKSB7CiAgICBnb3RvIGhhcmQ7IH0KICAgIHByaW50ZigiKyIpOwogICAgc2NhbmYoIiVmIiwmZ1s2XSk7CiAgICBpZihnWzZdPT0wKSB7CiAgICBnb3RvIGhhcmQ7IH0KICAgIHByaW50ZigiKyIpOwogICAgc2NhbmYoIiVmIiwmZ1s3XSk7CiAgICBpZihnWzddPT0wKSB7CiAgICBnb3RvIGhhcmQ7IH0KICAgIHByaW50ZigiKyIpOwogICAgc2NhbmYoIiVmIiwmZ1s4XSk7CiAgICBpZihnWzhdPT0wKSB7CiAgICBnb3RvIGhhcmQ7IH0KICAgIHByaW50ZigiKyIpOwogICAgc2NhbmYoIiVmIiwmZ1s5XSk7CiAgCiAgICAgCiAgICBoYXJkIDoKICAgIHN1bT1nWzBdK2dbMV0rZ1syXStnWzNdK2dbNF0rZ1s1XStnWzZdK2dbN10rZ1s4XStnWzldOwogICAgcHJpbnRmKCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiIpOwogICAgcHJpbnRmKCJyZXN1bHQgc2VjdGlvblxuIik7CiAgICAgICAgICAgIHByaW50ZigibXV0PSVmXG4iLHN1bSk7CiAgICAgICAgICAgIHByaW50ZigiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4iKTsKICAgICAgICAgICAgcHJpbnRmKCJlbnRlciBxIHRvIGdvIGJhY2sgdG8gbWVudVxuIik7CiAgICAgICAgICBzY2FuZigiICVjIiwgJnEpOwogICAgICAgICAgaWYocT09J3EnKSB7IAogICAgICAgICAgIHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogICAgICAgICAgIGdvdG8gbWVudTt9CiAgICAgICAgICAKICAgIH0KICAgIAogICAgIGlmKGk9PTIpIHsKICAgICAgcHJpbnRmKCJcMDMzWzJKXDAzM1tIIik7CiAgICAgcHJpbnRmKCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iKTsKICAgIHByaW50ZigifHwgICAgICAgICBESVZJU0lPTiBDQUxDVUxBVE9SICAgICAgICAgIHx8XG4iKTsKICAgIHByaW50ZigiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIik7CiAgICAgICAgICAgIHByaW50ZigiZW50ZXIgeW91ciAxc3QgbnVtYmVyIGhlcmUgXG4iKTsKICAgIHNjYW5mKCIlZiIsJmEpOwogICAgCiAgIHByaW50ZigiZW50ZXIgdGhlIGxhc3QgbnVtYmVyIGFuZCBsZXQgbWUgcmVzdFxuIik7CiAgICBzY2FuZigiJWYiLCZiKTsKICAgIGJoYWc9KGZsb2F0KWEvYjsKICAgIHByaW50ZigiaGVyZSB5b3UgZ28gc3RwdWlkIFxuIik7CiAgICBwcmludGYoIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7CiAgICBwcmludGYoInJlc3VsdCBzZWN0aW9uXG4iKTsKICAgIHByaW50ZigiYmhhZz0lLjNmXG4iLGJoYWcpOwogICAgICBwcmludGYoIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7CgogICAgICAgCiAgICBwcmludGYoImVudGVyIHEgdG8gZ28gYmFjayB0byBtZW51XG4iKTsKICAgICAgICAgIHNjYW5mKCIgJWMiLCAmcSk7CiAgICAgICAgICBpZihxPT0ncScpIHsgCiAgICAgICAgICAgcHJpbnRmKCJcMDMzWzJKXDAzM1tIIik7CiAgICAgICAgICAgZ290byBtZW51O307CiAgICAgIAogICAgIGlmKGI9PTApIHsKICAgICAgcHJpbnRmKCJcMDMzWzJKXDAzM1tIIik7CiAgICBwcmludGYoIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7CiAgICBwcmludGYoImlkaW90XG4iKTsKICAgICAgcHJpbnRmKCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiIpOwogICAgcHJpbnRmKCJlbnRlciBxIHRvIGdvIGJhY2sgdG8gbWVudVxuIik7CiAgICAgICAgICBzY2FuZigiICVjIiwgJnEpOwogICAgICAgICAgaWYocT09J3EnKSB7CiAgICAgICAgICAgcHJpbnRmKCJcMDMzWzJKXDAzM1tIIik7CiAgICAgICAgICAgZ290byBtZW51O307CiAgICAgfX0gCiAgICAgCiAgICBpZihpPT0zKSB7CiAgICAgcHJpbnRmKCJcMDMzWzJKXDAzM1tIIik7CiAgICBwcmludGYoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIpOwogICAgcHJpbnRmKCJ8fCAgICAgICAgIE1VVElQTElDQVRJT04gQ0FMQ1VMQVRPUiAgICAgICAgICB8fFxuIik7CiAgICBwcmludGYoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIpOwogICAgcHJpbnRmKCIxc3QgbnVtYmVyIFxuIik7CiAgICBzY2FuZigiJWYiLCZhKTsKICAgIHByaW50ZigiMm5kIG51bWJlciBcbiIpOwogICAgc2NhbmYoIiVmIiwmYik7CiAgICBnb29uPShmbG9hdClhKmI7CiAgICBwcmludGYoIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7CiAgICBwcmludGYoImdvb249JS40ZlxuIixnb29uKTsKICAgICAgcHJpbnRmKCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiIpOwogICAgICBwcmludGYoImVudGVyIHEgdG8gZ28gYmFjayB0byBtZW51XG4iKTsKICAgICAgICAgIHNjYW5mKCIgJWMiLCAmcSk7CiAgICAgICAgICBpZihxPT0ncScpIHsgCiAgICAgICAgICAgcHJpbnRmKCJcMDMzWzJKXDAzM1tIIik7CiAgICAgICAgICAgZ290byBtZW51O307CiAgICAgfSAKICAgICBpZihpPT00KSB7CiAgICAgIHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogICAgIHByaW50ZigiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIik7CiAgICBwcmludGYoInx8ICAgICBTVUJUUkFDVElPTiBDQUxDVUxBVE9SICAgICAgIHx8XG4iKTsKICAgIHByaW50ZigiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIik7CiAgICAgcHJpbnRmKCJlbnRlciB0aGUgMXN0IG51bWJlciBoZXJlIFxuIik7CiAgICAgc2NhbmYoIiVmIiwmYSk7CiAgICAgcHJpbnRmKCJlbnRlciBsYXN0IG51bWJlciBoZXJlLVxuIik7CiAgICAgc2NhbmYoIiVmIiwmYik7CiAgICAgYml5b2c9KGZsb2F0KWEtYjsKICAgICBwcmludGYoIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7CiAgICAgcHJpbnRmKCJiaXlvZz0lLjRmXG4iLGJpeW9nKTsKICAgICAgIHByaW50ZigiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4iKTsKICAgICAgIHByaW50ZigiZW50ZXIgcSB0byBnbyBiYWNrIHRvIG1lbnVcbiIpOwogICAgICAgICAgc2NhbmYoIiAlYyIsICZxKTsKICAgICAgICAgIGlmKHE9PSdxJykgewogICAgICAgICAgIHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogICAgICAgICAgIGdvdG8gbWVudTt9OwogICAgICAgICAgCiAgICAgICAgIH0KICAgICAgICAgCiAgICAgIGlmKGk9PTUpIHsgCiAgICAgICBwcmludGYoIlwwMzNbMkpcMDMzW0giKTsKICAgICAgIHByaW50ZigiYXJlYSBvZiBhIGNpcmNsZVxuIik7CnByaW50ZigiICAgICAgKioqKioqKiogICAgICAgIFxuIik7CnByaW50ZigiICAgICoqICAgICAgICAqKiAgICAgICBcbiIpOwpwcmludGYoIiAgICoqICAgICAgIFIgICAqKiAgICAgXG4iKTsKcHJpbnRmKCIgICogICAgICDCqS0tLS0tLT4qICAgIFxuIik7CnByaW50ZigiICAgKiogICAgICAgICAgKiogICAgIFxuIik7CnByaW50ZigiICAgICAqKiAgICAgICoqICAgICAgIFxuIik7CnByaW50ZigiICAgICAgICoqKioqKiAgICAgICAgXG4iKTsKCiAgICAgICBwcmludGYoImVudGVyIHJhZGl1cyhJbiBtZXRlcik9XG4iKTsKICAgICAgc2NhbmYoIiVmIiwmcik7CiAgICAgIGFyZWE9My4xNDE1OSooZmxvYXQpcjsKICAgICAgcHJpbnRmKCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiIpOwogICAgICAgICBwcmludGYoImFyZWEobcKyKT0lLjRmXG4iLGFyZWEpOwogICAgICAgICBwcmludGYoIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7CiAgICAgICAgIHByaW50ZigiZW50ZXIgcSB0byBnbyBiYWNrIHRvIG1lbnVcbiIpOwogICAgICAgICAgc2NhbmYoIiAlYyIsICZxKTsKICAgICAgICAgIGlmKHE9PSdxJykgeyAKICAgICAgICAgICBwcmludGYoIlwwMzNbMkpcMDMzW0giKTsKICAgICAgICAgICBnb3RvIG1lbnU7fTsKICAgICAgICAgIAogICAgICAgICB9CiAgICAgICAgIGlmKGk9PTYpIHsgCiAgICAgICAgICBwcmludGYoIlwwMzNbMkpcMDMzW0giKTsKICAgICAgICAgIHByaW50ZigiYXjCsitieCtjPTAuXG4iKTsKICAgICAgICAgcHJpbnRmKCJhPT9cbiIpOwogICAgICAgICBzY2FuZigiJWYiLCZhKTsKICAgICAgICAgcHJpbnRmKCJiPT9cbiIpOwogICAgICAgICBzY2FuZigiJWYiLCZiKTsKICAgICAgICAgcHJpbnRmKCJjPT9cbiIpOwogICAgICAgICBzY2FuZigiJWYiLCZjKTsKICAgICAgICAgeDE9ICgtYisgc3FydChiKmItNCphKmMpICkvMiphOwogICAgICAgICBwcmludGYoIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7CiAgICAgICAgIHByaW50ZigieDE9JS40ZlxuIix4MSk7CiAgICAgICAgIHgyPSAoLWItIHNxcnQoYipiLTQqYSpjKSApLzIqYTsKICAgICAgICAgcHJpbnRmKCJ4Mj0lLjRmXG4iLHgyKTsKICAgICAgICAgICBwcmludGYoIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7CiAgICAgICAgIHByaW50ZigiZW50ZXIgcSB0byBnbyBiYWNrIHRvIG1lbnVcbiIpOwogICAgICAgICAgc2NhbmYoIiAlYyIsICZxKTsKICAgICAgICAgIGlmKHE9PSdxJykgeyAKICAgICAgICAgICBwcmludGYoIlwwMzNbMkpcMDMzW0giKTsKICAgICAgICAgICBnb3RvIG1lbnU7fTsKICAgICAgICAgIAogICAgICAgICB9CiAgICAgICAgIAogICAgICBpZihpPT03KSB7CiAgICAgICBwcmludGYoIlwwMzNbMkpcMDMzW0giKTsKICAgIHByaW50ZigiICAgICAgICAgSU5UUkVTVCBDQUxDVUxBVE9SICAgICAgXG4iKTsKICAgIHByaW50Zigi4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qKA4qGA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCAXG4iKTsKICAgIHByaW50Zigi4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qOA4qOk4qO24qO/4qO/4qO34qOk4qOA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCAXG4iKTsKICAgIHByaW50Zigi4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qOA4qO04qO+4qO/4qO/4qO/4qCL4qOJ4qOJ4qCZ4qO/4qO/4qO/4qO34qOm4qOA4qCA4qCA4qCA4qCA4qCA4qCA4qCAXG4iKTsKICAgIHByaW50Zigi4qCA4qCA4qCA4qKA4qOk4qO24qO/4qO/4qO/4qO/4qO/4qO/4qO/4qCA4qO/4qO/4qCA4qO/4qO/4qO/4qO/4qO/4qO/4qO/4qO24qOk4qGA4qCA4qCA4qCAXG4iKTsKICAgIHByaW50Zigi4qCA4qCA4qCA4qOk4qOk4qOk4qOk4qOk4qGE4qCA4qCA4qCA4qKA4qOg4qO/4qO/4qOk4qOk4qOE4qGA4qCA4qKg4qOk4qOk4qOk4qOk4qOk4qCA4qCA4qCAXG4iKTsKICAgIHByaW50Zigi4qCA4qCA4qCA4qCA4qO/4qO/4qO/4qCA4qCA4qCA4qKA4qO04qO/4qG/4qCb4qCb4qCb4qCb4qCb4qCH4qCA4qCA4qCA4qO/4qO/4qO/4qCA4qCA4qCA4qCAXG4iKTsKICAgIHByaW50Zigi4qCA4qCA4qCA4qCA4qO/4qO/4qO/4qCA4qCA4qCA4qO44qO/4qCL4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qO/4qO/4qO/4qCA4qCA4qCA4qCAXG4iKTsKICAgIHByaW50Zigi4qCA4qCA4qCA4qCA4qO/4qO/4qO/4qCA4qCA4qCA4qO/4qO/IGJhbmvioqDio6Tio6Tio6TioIDioIDioIDio7/io7/io7/ioIDioIDioIDioIBcbiIpOwogICAgcHJpbnRmKCLioIDioIDioIDioIDio7/io7/io7/ioIDioIDioIDiornio7/io4bioIDioIDioIDioIDioIDiorjio7/ioIDioIDioIDio7/io7/io7/ioIDioIDioIDioIBcbiIpOwogICAgcHJpbnRmKCLioIDioIDioIDioIDio7/io7/io7/ioIDioIDioIDioIDioLvio7/io7fio6Tio6Tio6Tio6Tio77io7/ioIDioIDioIDio7/io7/io7/ioIDioIDioIDioIBcbiIpOwogICAgcHJpbnRmKCLioIDioIDioIDioIDio7/io7/io7/ioIDioIDioIDioIDioIDioIjioJnio7/io7/ioJvioJvioInioIHioIDioIDioIDio7/io7/io7/ioIDioIDioIDioIBcbiIpOwogICAgcHJpbnRmKCLioIDioIDioIDioJvioJvioJvioJvioJvioIPioIDioIDioIDioIDioIDio7/io7/ioIDioIDioIDioIDioIDioJjioJvioJvioJvioJvioJvioIDioIDioIBcbiIpOwogICAgcHJpbnRmKCLioIDioIDiorjio7/io7/io7/io7/io7/io7/io7/io7/io7/io7/ioIDioInioInioIDio7/io7/io7/io7/io7/io7/io7/io7/io7/io7/ioYfioIDioIBcbiIpOwogICAgcHJpbnRmKCLioIDiorDio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bio7bioYbioIBcbiIpOwogICAgcHJpbnRmKCLioIDioIjioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioInioIHioIBcbiIpOwogICAgCgoKICAgICAgIAogICAgICAgcHJpbnRmKCJlbnRlciBwcmluY2lwbGVcbiIpOwogICAgICBzY2FuZigiJWYiLCZwKTsKICAgICAgcHJpbnRmKCJyYXRlKHBlciB5ZWFyKS1cbiIpOwogICAgICBzY2FuZigiJWYiLCZyKTsKICAgICAgcHJpbnRmKCJ0aW1lKHllYXIpLVxuIik7CiAgICAgIHNjYW5mKCIlZiIsJnQpOwogICAgICB0b3RhbGludGVyZXN0PXAqKHIvMTAwKSp0OwogICAgICBwcmludGYoInRvdGFsIGludGVyZXN0PSUwLjRmXG4iLHRvdGFsaW50ZXJlc3QpOwogICAgICAgIHByaW50ZigiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4iKTsKICAgICAgcHJpbnRmKCJlbnRlciBxIHRvIGdvIGJhY2sgdG8gbWVudVxuIik7CiAgICAgICAgICBzY2FuZigiICVjIiwgJnEpOwogICAgICAgICAgaWYocT09J3EnKSB7CiAgICAgICAgICAgcHJpbnRmKCJcMDMzWzJKXDAzM1tIIik7CiAgICAgICAgICAgZ290byBtZW51O307CiAgICAgICAgICAKICAgICAgfQogICAgICBpZihpPT04KSB7IHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogICAgICAgcHJpbnRmKCLila3ila7ilbHila3ila7ilbHilbHila3ila7ilbHila3ila5cbiIpOwogICAgcHJpbnRmKCLilIPilIPilbHilIPilIPilbHilbHilIPilIPilbHilIPilINcbiIpOwogICAgcHJpbnRmKCLilIPilbDilIHila/ilKPilLPilIHila/ilKPilIHila/ilKPilIHilIHilLPilIHila7ilbHila3ila7ila3ilLPilIHilIHilLPilIHila7ila3ila7ila3ila5cbiIpOwogICAgcHJpbnRmKCLilIPila3ilIHila7ilKPilKvila3ila7ilIPila3ila7ilIPilIPilIHilKvila3ila7ila7ilIPilbDila/ilIPilIPilIHilKvila3ila7ilKvilIPilIPilINcbiIpOwogICAgcHJpbnRmKCLilIPilIPilbHilIPilIPilIPilbDila/ilIPilbDila/ilIPilIPilIHilKvilIPilIPilIPilIPilIPilIPilIPilIPilIHilKvilIPilIPilIPilbDila/ilINcbiIpOwogICAgcHJpbnRmKCLilbDila/ilbHilbDilLvilLvilIHilIHilLvilIHilIHilLvilIHilIHilLvila/ilbDila/ilbDilLvilLvilLvilIHilIHilLvila/ilbDilLvilIHilIHila9cbiIpOwogICAgICAgcHJpbnRmKCJlbnRlciBwYXNzd29yZFxuIik7CiAgICAgIHNjYW5mKCIlZiIsJnBhc3N3b3JkKTsKICAgICAgIGlmKHBhc3N3b3JkPT0xMjM0KXsgcHJpbnRmKCJ1IGEgc21hcnQgZmVsbGEgb3IgZmFydCBzbWVsbGE/XG5cbiIpOwogICAgICAgcHJpbnRmKCJtYWRlIHdpdGggdnNjb2RlLGRldiBjXFxjKyssIGNvZGluZyBjKG9uIG15IHRhYiBhbmQgYmx1cnJ5IGNydClcbiIpOwogICAgICAgICBwcmludGYoIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7CiAgICAgICAgIH0KICAgICAgIGVsc2UgcHJpbnRmKCJ3b21wIHdvbXAsIHdyb25nIHBhc3N3b3JkXG4iKTsKICAgICAgIHByaW50ZigiZW50ZXIgcSB0byBnbyBiYWNrIHRvIG1lbnVcbiIpOwogICAgICAgICAgc2NhbmYoIiAlYyIsICZxKTsKICAgICAgICAgIGlmKHE9PSdxJykge3ByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogICAgICAgICAgIGdvdG8gbWVudTt9OwogICAgICAgICAgCiAgICAgIH0KICAgICAgaWYoaT09OSkgewogICAgICAgcHJpbnRmKCJcMDMzWzJKXDAzM1tIIik7CiAgICAgIHByaW50ZigiMSsyKzMrNCsuLi4uLi4rblxuIik7IHByaW50Zigid2hhdHMgbj0gP1xuIik7CiAgICAgIHNjYW5mKCIlZiIsJm4pOwogICAgICB0b3RhbD0obioobisxKSkvMjsKICAgICAgcHJpbnRmKCJ0b3RhbD0lMC40ZlxuIix0b3RhbCk7CiAgICAgIHByaW50ZigiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4iKTsKICAgICAgcHJpbnRmKCJlbnRlciBxIHRvIGdvIGJhY2sgdG8gbWVudVxuIik7CiAgICAgICAgICBzY2FuZigiICVjIiwgJnEpOwogICAgICAgICAgaWYocT09J3EnKSB7IAogICAgICAgICAgIHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogICAgICAgICAgIGdvdG8gbWVudTt9OwogICAgICAgICAgCiAgICAgIH0KICAgICAgaWYgKGk9PTEwKSB7CiAgICAgICBwcmludGYoIlwwMzNbMkpcMDMzW0giKTsKcHJpbnRmKCLioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDiooDio6Tio77iob/ioL/ior/io6bioYDioIDioIDioIDioIDioIDioIBcbiIpOwpwcmludGYoIuKggOKggOKigOKjtuKjv+KjtuKjtuKjtuKjpuKjpOKjhOKhgOKggOKggOKggOKggOKggOKggOKggOKggOKggOKjsOKjv+Kgn+KggeKjgOKjpOKhhOKiueKjt+KhgOKggOKggOKggOKggOKggFxuIik7CnByaW50Zigi4qCA4qCA4qK44qO/4qGn4qCk4qCk4qOM4qOJ4qOp4qO/4qG/4qC24qC24qCS4qCb4qCb4qC74qC/4qC24qO+4qO/4qOj4qCU4qCJ4qCA4qCA4qCZ4qGG4qK74qO34qCA4qCA4qCA4qCA4qCAXG4iKTsKcHJpbnRmKCLioIDioIDiorjio7/ioIDioIDioqDio77ioJ/ioIvioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDio77io7/ioYPioIDioIDioIDioIDioIDiorvioJjio7/ioYDioIDioIDioIDioIBcbiIpOwpwcmludGYoIuKggOKggOKgmOKjv+KhgOKjtOKgn+KggeKggOKggOKggOKggOKggOKggOKggOKggOKggOKggOKggOKggOKggOKgieKgm+Kgu+KituKjpOKjgOKggOKimOKggOKjv+Khh+KggOKggOKggOKggFxuIik7CnByaW50Zigi4qCA4qCA4qCA4qK/4qO/4qCL4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCI4qCJ4qCb4qK/4qO04qO/4qCA4qCA4qCA4qCA4qCAXG4iKTsKcHJpbnRmKCLioIDioIDioIDio7jioZ/ioIDioIDioIDio7TioYbioIDioIDioIDioIDioIDioIDioIDio7fioYDioIDioIDioIDioIDioIDioIDioIDioIDioIDioIDioLvio7fioYDioIDioIDioIDioIBcbiIpOwpwcmludGYoIuKggOKggOKggOKggOKisOKjv+KggeKggOKggOKjsOKgv+Kjh+KggOKggOKggOKggOKggOKggOKiu+Kjt+KhgOKggOKioOKhhOKggOKggOKggOKggOKggOKhgOKggOKgueKjt+KggOKggOKggOKggFxuIik7CnByaW50Zigi4qCA4qCA4qCA4qCA4qO+4qGP4qCA4qKA4qO04qO/4qOk4qK/4qGE4qCA4qCA4qCA4qCA4qCA4qCA4qC44qO/4qO34qGA4qCY4qOn4qCA4qCA4qCA4qCA4qCA4qO34qOE4qCA4qK74qOH4qCA4qCA4qCAXG4iKTsKcHJpbnRmKCLioIDioIDioIDioIDiorvio4fioIDiorjioYfioIDioIDioIDiorvio4TioIDioIDioIDioIDioIDio6Tioa/ioIjiorvio4TiorvioYTioIDioIDioIDioIDio7/iob/io7fioYzio7/ioYTioIDioIBcbiIpOwpwcmludGYoIuKggOKigOKjuOKjv+KggOKiuOKht+KjtuKjtuKhhOKggOKgmeKgm+Kgm+Kgm+Kgm+Kgm+Kgg+KjoOKjtuKjhOKgmeKgv+Kjp+KggOKggOKggOKioOKjv+KiueKju+Khh+KguOKjv+KhhOKggFxuIik7CnByaW50Zigi4qKw4qO/4qKf4qO/4qG04qCe4qCA4qCY4qK/4qG/4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCI4qC74qO/4qGH4qCA4qO/4qGA4qKA4qO04qC/4qO/4qOm4qO/4qCD4qCA4qK54qO34qCAXG4iKTsKcHJpbnRmKCLioIDior/io7/ioIHioIDioIDioIDioIDioIDioIDioIDioqDio4Dio4DioYDioIDioYDioIDioIDioIDioIDioIDioIDio7/ioJvioJvioIHioIDio7/ioZ/ioIHioIDioIDiooDio7/ioIJcbiIpOwpwcmludGYoIuKggOKioOKjv+Kit+KjpOKjgOKggOKggOKggOKggOKggOKggOKgieKgieKgieKgm+KgieKggOKggOKggOKggOKggOKioOKhv+KisOKhn+Kgu+KgnuKgm+Kjp+KjoOKjpuKjgOKjvuKgj+KggFxuIik7CnByaW50Zigi4qCA4qK44qO/4qCA4qCI4qK54qG/4qCb4qK24qG24qK24qOk4qOk4qOk4qOk4qOk4qOk4qOk4qOk4qO24qC24qO/4qCb4qC34qK+4qOn4qOg4qG/4qK/4qGf4qCL4qCb4qCL4qCB4qCA4qCAXG4iKTsKcHJpbnRmKCLioIDio77io6fio6Tio7bio5/ioIHioIDiorjio4fio7jioLnio6fio6Diob7ioJviorfio6Tiob7io7/iorDioZ/ioIDioIDioIDio7/ioIvioIHioojio7/io4TioIDioIDioIDioIDioIBcbiIpOwpwcmludGYoIuKggOKggOKggOKjvOKhj+Kgu+Kiv+KjtuKjpOKjv+Kjv+KggOKgiOKiieKjv+KggOKiuOKjj+KggOKjv+KgiOKjt+KjpOKjpOKjtuKhv+KgtuKgvuKgi+KjieKjv+KjpuKjgOKggOKggOKggFxuIik7CnByaW50Zigi4qCA4qCA4qO84qG/4qOH4qCA4qCA4qCZ4qC74qK/4qO/4qCA4qCA4qK44qOH4qCA4qCA4qO74qCA4qO/4qCA4qO/4qCf4qCL4qCB4qCA4qCA4qKA4qG+4qCL4qCJ4qCZ4qO/4qGG4qCA4qCAXG4iKTsKcHJpbnRmKCLioIDioIDiorvio6fioJniorfio6Tio6bioIDiorjio7/ioYTioIDioIDioInioLPio77ioI/ioIDiornio77ioYfioIDioIDioJnioJvioLbio77ioYHioIDioIDioIDio7zioYfioIDioIBcbiIpOwpwcmludGYoIuKggOKggOKggOKgmeKgm+Kgm+Kju+Khn+KggOKjvOKjv+Kjh+KjgOKjgOKjgOKhgOKggOKggOKggOKjuOKjv+Kjh+KggOKggOKggOKggOKggOKgiOKim+Kjt+KgtuKgv+Kgi+KggOKggOKggFxuIik7CnByaW50Zigi4qCA4qCA4qCA4qCA4qCA4qKg4qO/4qOF4qOg4qO/4qCb4qCL4qCJ4qCJ4qCb4qC74qCb4qCb4qCb4qCb4qCL4qC74qOn4qGA4qOA4qOg4qK04qC+4qCJ4qO/4qOG4qCA4qCA4qCA4qCA4qCAXG4iKTsKcHJpbnRmKCLioIDioIDioIDioIDioIDio7zioY/ioInio7/ioZ/ioIHioIDioIDioIDiooDioIDioIDioIDioIDioIDioIDioIDioJnioL/io7/io4zioIHioIDioIDioIjio7/ioYbioIDioIDioIDioIBcbiIpOwpwcmludGYoIuKggOKggOKggOKggOKggOKjv+Kjh+KjoOKjv+Kjv+KhtuKgtuKgtuKjtuKjv+Kjt+KhtuKjtuKjtuKjtuKjtuKhtuKgtuKgtuKiv+Kjv+Khl+KjgOKjpOKjvuKgn+KggeKggOKggOKggOKggFxuIik7CnByaW50Zigi4qCA4qCA4qCA4qCA4qCA4qCI4qCZ4qCb4qK74qO/4qGH4qCA4qCA4qO/4qGf4qCb4qC34qC24qC+4qK/4qOn4qCB4qCA4qCA4qO44qG/4qC/4qCf4qCJ4qCA4qCA4qCA4qCA4qCA4qCA4qCAXG4iKTsKcHJpbnRmKCLioIDioIDioIDioIDioIDioIDioIDioIDioIDior/io7fio6bio6Tiob/ioIDioIDioIDioIDioIDioIDior/io6fio6Tio7zio7/ioIfioIDioIDioIDioIDioIDioIDioIDioIDioIDioIBcbiIpOwoKICAgIHByaW50ZigiZW50ZXIgcSB0byBnbyBiYWNrIHRvIG1lbnVcbiIpOwogICAgICAgICAgc2NhbmYoIiAlYyIsICZxKTsKICAgICAgICAgIGlmKHE9PSdxJykgeyAKICAgICAgICAgICBwcmludGYoIlwwMzNbMkpcMDMzW0giKTsKICAgICAgICAgICBnb3RvIG1lbnU7fTsKICAgIAogICAgfQogICAgaWYgKGk9PTExKSB7CiAgICAgcHJpbnRmKCJcMDMzWzJKXDAzM1tIIik7CiAgICAKICAgIApwcmludGYoIuKggOKggOKggOKggOKggOKggOKggOKggOKjoOKjtOKjtuKhi+KgieKgmeKgkuKipOKhgOKggOKggOKggOKggOKggOKioOKgluKgieKgieKgmeKgouKhhOKggFxuIik7CnByaW50Zigi4qCA4qCA4qCA4qCA4qCA4qCA4qKA4qO84qOf4qGS4qCS4qCA4qCA4qCA4qCA4qCA4qCZ4qOG4qCA4qCA4qCA4qKg4qCD4qCA4qCA4qCA4qCA4qCA4qC54qGEXG4iKTsKcHJpbnRmKCLioIDioIDioIDioIDioIDioIDio7zioLfioJbioIDioIDioIDioIDioIDioIDioIDioIDioJjioYbioIDioIDioYfioIDioIDioIDioIDioIDioIDioIDiordcbiIpOwpwcmludGYoIuKggOKggOKggOKggOKggOKggOKjt+KhkuKggOKggOKikOKjkuKjkuKhkuKggOKjkOKjkuKjkuKjp+KggCDiorDioIDioIDioqDioqTioqDioaAg4qCA4qK44qCAXG4iKTsKcHJpbnRmKCLioIDioIDioIDioIDioIDiorDio5vio5/io4LioIDioJjioKTioKzioIPioLDioJHioKXioIrio78g4qCA4qK44qCA4qCA4qCT4qCD4qCL4qCCIOKggOKiuOKggFxuIik7CnByaW50Zigi4qCA4qCA4qCA4qCA4qCA4qK44qO/4qG/4qCk4qCA4qK44qCB4qCA4qCA4qKA4qGG4qCA4qCA4qO/4qCA4qCA4qGH4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qO4XG4iKTsKcHJpbnRmKCLioIDioIDioIDioIDioIDioIjioL/io6/ioa3ioIDioLjioYDioIDiooDio4DioIDioIDioIDioZ/ioIDioIDiorjioIDioIDioIDioIDioIDioIDioqDioI9cbiIpOwpwcmludGYoIuKggOKggOKggOKggOKggOKggOKggOKgiOKir+KhpeKghOKiseKggOKggOKggOKggOKggOKhvOKggeKggOKggOKggOKgs+KihOKjgOKjgOKjgOKhtOKgg+KggFxuIik7CnByaW50Zigi4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qCA4qKx4qGm4qOE4qOA4qOA4qOA4qOg4qCe4qCB4qCA4qCA4qCA4qCA4qCA4qCA4qCI4qCJ4qCA4qCA4qCA4qCAXG4iKTsKcHJpbnRmKCLioIDioIDioIDioIDioIDioIDioIDiooDio6Tio77ioJvioIPioIDioIDioIDiornioLPiobbio6TioaTio4TioIDioIDioIDioIDioIDioIDioIDioIDioIBcbiIpOwpwcmludGYoIuKggOKggOKggOKggOKjoOKitOKjv+Kjv+Kjv+Khn+Kht+KihOKjgOKjgOKjgOKhvOKgs+KhueKjv+Kjt+KgnuKjs+KggOKggOKggOKggOKggOKggOKggOKggFxuIik7CnByaW50Zigi4qCA4qCA4qCA4qKw4qGv4qCt4qC54qGf4qC/4qCn4qC34qOE4qOA4qOf4qCb4qOm4qCU4qCL4qCb4qCb4qCL4qCZ4qGG4qCA4qCA4qCA4qCA4qCA4qCA4qCAXG4iKTsKcHJpbnRmKCLioIDioIDiorjio7/ioK3ioInioIDioqDio6TioIDioIDioIDioJjiobfio7XiorvioIDioIDioIDioIDio7zioIDio4fioIDioIDioIDioIDioIDioIDioIBcbiIpOwpwcmludGYoIuKggOKggOKhh+Kjv+KgjeKggeKggOKiuOKjl+KgguKggOKggOKggOKjp+Kjv+KjvOKggOKggOKggOKggOKjr+KggOKiuOKggOKggOKggOKggOKggOKggOKggFxuIik7CnByaW50ZigiKG5vdCBkb2luZyB0aGlzIGN1eiBJJ20gbGF6eSBvaz8pXG4iKTsKICAgIHByaW50ZigiZW50ZXIgcSB0byBnbyBiYWNrIHRvIG1lbnVcbiIpOwogICAgICAgICAgc2NhbmYoIiAlYyIsICZxKTsKICAgICAgICAgIGlmKHE9PSdxJykgeyAKICAgICAgICAgICBwcmludGYoIlwwMzNbMkpcMDMzW0giKTsKICAgICAgICAgICBnb3RvIG1lbnU7fTsKICAgIH0KICAgICBpZihpPT0xMikKICAgICB7IHByaW50ZigiXDAzM1sySlwwMzNbSCIpOwogICAgIGN1YmljKCk7CiAgICAgfQoKCiByZXR1cm4gMDsKfQoKCgoKCgoKCgoKdm9pZCBjdWJpYygpCnsKZG91YmxlICBhLGIsYyxkLHgseSx6LHIscHEsc3VtcHEsc3VicHE7CiAgICBkb3VibGUgIHAscTsKICAgIHByaW50ZigiaWYgYXheMyArIGJ4XjIgKyBjeCArIGQsIFxuIHByb3ZpZGUgYSBiIGMgZCBcbiAiKTsKICAgIHNjYW5mKCIlbGYgJWxmICVsZiAlbGYiLCZhICwgJmIsICZjLCAmZCk7CiAgICAKICAgIHByaW50ZigicHJvdmlkZSAxIHJlYWwgcm9vdCIpOwogICAgc2NhbmYoIiVsZiIsJnIpOwogICAgc3VtcHE9LShiL2EpLXI7CiAgICBwcT0tKGQvYSkvcjsKICAgIHN1YnBxPSgoKHN1bXBxKSooc3VtcHEpKS00KnBxKTsKICAgcD0oKHN1bXBxKSsgc3FydChzdWJwcSAgKSkvMjsKICAgcT0oKHN1bXBxKS0gc3FydChzdWJwcSApKS8yOwogICAgaWYgKCJwPW5hbiIpCiAgICB7IAogICAgICAgIHByaW50ZigiMm5kIHJvb3Q9aW1hZ2luYXJ5XG4iKTsKICAgICAgICAKICAgICAgICAKICAgIH0KICAgIGVsc2UgewogICAgICAgIHByaW50ZigibGYlIixwKTsKICAgIH0KICAgICBpZiAoInE9bmFuIikKICAgIHsgCiAgICAgICAgcHJpbnRmKCIzcmQgcm9vdD1pbWFnaW5hcnkiKTsKICAgICAgICAKICAgICAgICAKICAgIH0KICAgIGVsc2UgewogICAgICAgIHByaW50ZigibGYlIixxKTsKICAgICAKICAgIH0KfQoKICAgIA==