-
-
Notifications
You must be signed in to change notification settings - Fork 332
Description
Some changes introduced after commit b4df450b02c1bef1cf03af46be8505aae2791dfc can not handle if selfie.c reaches a certain code size and increasing MAX_CODE_SIZE leads to "maximum data size exceeded" and after increasing MAX_DATA_SIZE, modeler returns with 4712 expected between -4096 and 4095 where 4172 can change depending on the number of statements inside an if.
The first probblems with code/data size can be fixed by increasing the constants, but I am having trouble fixing this expected between error.
I have tracked down the problem to fixup_relative_BFormat where code_size - from_address is the number that is out of range. With this information I was able to reproduce all 3 errors by adding some print("mhatzl"); and if-statements inside the main method.
Note: My code was compiling and succeeded everything (except make os, but that got solved) executed with make all with the latest merged commit being b4df450b02c1bef1cf03af46be8505aae2791dfc.
After merging 0d4e30fca8315363e2c8627c80de83cd17e7238c, I can run everything of make all except make mod which returns the above mentioned errors. (Note: All compiler assignments are still passing)
With the below mentioned lines added to main() after `exit_code = selfie(0), I was able to reproduce all 3 errors with the current base selfie.c. So the error is not part of my code.
Output for code size exceeded:
sed 's/main(/selfie_main(/' selfie.c > selfie.h
cc -Wall -Wextra -O3 -m64 -D'uint64_t=unsigned long' --include selfie.h tools/modeler.c -o modeler
./modeler
synopsis: ./modeler { -c { source } | -o binary | ( -s | -S ) assembly | -l binary } - exit-code [ --check-block-access ] ...
./selfie -c selfie.h tools/modeler.c -m 1
./selfie: this is the selfie system from selfie.cs.uni-salzburg.at with
./selfie: 64-bit unsigned integers and 64-bit pointers hosted on Linux
./selfie: selfie compiling selfie.h with starc
./selfie: 378814 characters read in 13174 lines and 1653 comments
./selfie: with 225547(59.54%) characters in 54615 actual symbols
./selfie: 467 global variables, 615 procedures, 1933 string literals
./selfie: 4300 calls, 1341 assignments, 92 while, 886 if, 572 return
./selfie: selfie compiling tools/modeler.c with starc
./selfie: syntax error in tools/modeler.c in line 2099: maximum code size exceeded
make: *** [Makefile:194: mod] Error 18
Setting MAX_CODE_SIZE = 524288;
sed 's/main(/selfie_main(/' selfie.c > selfie.h
cc -Wall -Wextra -O3 -m64 -D'uint64_t=unsigned long' --include selfie.h tools/modeler.c -o modeler
./modeler
synopsis: ./modeler { -c { source } | -o binary | ( -s | -S ) assembly | -l binary } - exit-code [ --check-block-access ] ...
./selfie -c selfie.h tools/modeler.c -m 1
./selfie: this is the selfie system from selfie.cs.uni-salzburg.at with
./selfie: 64-bit unsigned integers and 64-bit pointers hosted on Linux
./selfie: selfie compiling selfie.h with starc
./selfie: 378823 characters read in 13174 lines and 1653 comments
./selfie: with 225547(59.54%) characters in 54615 actual symbols
./selfie: 467 global variables, 615 procedures, 1933 string literals
./selfie: 4300 calls, 1341 assignments, 92 while, 886 if, 572 return
./selfie: selfie compiling tools/modeler.c with starc
./selfie: 101462 characters read in 2347 lines and 861 comments
./selfie: with 45534(44.87%) characters in 9080 actual symbols
./selfie: 500 global variables, 647 procedures, 2260 string literals
./selfie: 500 calls, 332 assignments, 12 while, 94 if, 21 return
./selfie: syntax error in tools/modeler.c in line 2347: maximum data size exceeded
make: *** [Makefile:194: mod] Error 18
Setting MAX_DATA_SIZE = 65536; AND uncommenting the commented print("mhatzl"); of the lines below
sed 's/main(/selfie_main(/' selfie.c > selfie.h
cc -Wall -Wextra -O3 -m64 -D'uint64_t=unsigned long' --include selfie.h tools/modeler.c -o modeler
./modeler
synopsis: ./modeler { -c { source } | -o binary | ( -s | -S ) assembly | -l binary } - exit-code [ --check-block-access ] ...
./selfie -c selfie.h tools/modeler.c -m 1
./selfie: this is the selfie system from selfie.cs.uni-salzburg.at with
./selfie: 64-bit unsigned integers and 64-bit pointers hosted on Linux
./selfie: selfie compiling selfie.h with starc
./selfie: encoding error in selfie.h in line 13161: 4712 expected between -4096 and 4095
make: *** [Makefile:194: mod] Error 18
Lines below to reproduce the behavior.
Note: Uncomment the commented prints() for the last error.
// mhatzl
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
if (exit_code == 0) {
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
// print("mhatzl");
}
else if (exit_code == 1) {
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
print("mhatzl");
}
// mhatzl