int main(void) {
  int bigNumSoma[500];
  int i, j;
  char numbers[100][51] = {
      "37107287533902102798797998220837590246510135740250",
      "46376937677490009712648124896970078050417018260538",
      "74324986199524741059474233309513058123726617309629",
      "91942213363574161572522430563301811072406154908250",
      "23067588207539346171171980310421047513778063246676",
      "89261670696623633820136378418383684178734361726757",
      "28112879812849979408065481931592621691275889832738",
      "44274228917432520321923589422876796487670272189318",
      "47451445736001306439091167216856844588711603153276",
      "70386486105843025439939619828917593665686757934951",
      "62176457141856560629502157223196586755079324193331",
      "64906352462741904929101432445813822663347944758178",
      "92575867718337217661963751590579239728245598838407",
      "58203565325359399008402633568948830189458628227828",
      "80181199384826282014278194139940567587151170094390",
      "35398664372827112653829987240784473053190104293586",
      "86515506006295864861532075273371959191420517255829",
      "71693888707715466499115593487603532921714970056938",
      "54370070576826684624621495650076471787294438377604",
      "53282654108756828443191190634694037855217779295145",
      "36123272525000296071075082563815656710885258350721",
      "45876576172410976447339110607218265236877223636045",
      "17423706905851860660448207621209813287860733969412",
      "81142660418086830619328460811191061556940512689692",
      "51934325451728388641918047049293215058642563049483",
      "62467221648435076201727918039944693004732956340691",
      "15732444386908125794514089057706229429197107928209",
      "55037687525678773091862540744969844508330393682126",
      "18336384825330154686196124348767681297534375946515",
      "80386287592878490201521685554828717201219257766954",
      "78182833757993103614740356856449095527097864797581",
      "16726320100436897842553539920931837441497806860984",
      "48403098129077791799088218795327364475675590848030",
      "87086987551392711854517078544161852424320693150332",
      "59959406895756536782107074926966537676326235447210",
      "69793950679652694742597709739166693763042633987085",
      "41052684708299085211399427365734116182760315001271",
      "65378607361501080857009149939512557028198746004375",
      "35829035317434717326932123578154982629742552737307",
      "94953759765105305946966067683156574377167401875275",
      "88902802571733229619176668713819931811048770190271",
      "25267680276078003013678680992525463401061632866526",
      "36270218540497705585629946580636237993140746255962",
      "24074486908231174977792365466257246923322810917141",
      "91430288197103288597806669760892938638285025333403",
      "34413065578016127815921815005561868836468420090470",
      "23053081172816430487623791969842487255036638784583",
      "11487696932154902810424020138335124462181441773470",
      "63783299490636259666498587618221225225512486764533",
      "67720186971698544312419572409913959008952310058822",
      "95548255300263520781532296796249481641953868218774",
      "76085327132285723110424803456124867697064507995236",
      "37774242535411291684276865538926205024910326572967",
      "23701913275725675285653248258265463092207058596522",
      "29798860272258331913126375147341994889534765745501",
      "18495701454879288984856827726077713721403798879715",
      "38298203783031473527721580348144513491373226651381",
      "34829543829199918180278916522431027392251122869539",
      "40957953066405232632538044100059654939159879593635",
      "29746152185502371307642255121183693803580388584903",
      "41698116222072977186158236678424689157993532961922",
      "62467957194401269043877107275048102390895523597457",
      "23189706772547915061505504953922979530901129967519",
      "86188088225875314529584099251203829009407770775672",
      "11306739708304724483816533873502340845647058077308",
      "82959174767140363198008187129011875491310547126581",
      "97623331044818386269515456334926366572897563400500",
      "42846280183517070527831839425882145521227251250327",
      "55121603546981200581762165212827652751691296897789",
      "32238195734329339946437501907836945765883352399886",
      "75506164965184775180738168837861091527357929701337",
      "62177842752192623401942399639168044983993173312731",
      "32924185707147349566916674687634660915035914677504",
      "99518671430235219628894890102423325116913619626622",
      "73267460800591547471830798392868535206946944540724",
      "76841822524674417161514036427982273348055556214818",
      "97142617910342598647204516893989422179826088076852",
      "87783646182799346313767754307809363333018982642090",
      "10848802521674670883215120185883543223812876952786",
      "71329612474782464538636993009049310363619763878039",
      "62184073572399794223406235393808339651327408011116",
      "66627891981488087797941876876144230030984490851411",
      "60661826293682836764744779239180335110989069790714",
      "85786944089552990653640447425576083659976645795096",
      "66024396409905389607120198219976047599490197230297",
      "64913982680032973156037120041377903785566085089252",
      "16730939319872750275468906903707539413042652315011",
      "94809377245048795150954100921645863754710598436791",
      "78639167021187492431995700641917969777599028300699",
      "15368713711936614952811305876380278410754449733078",
      "40789923115535562561142322423255033685442488917353",
      "44889911501440648020369068063960672322193204149535",
      "41503128880339536053299340368006977710650566631954",
      "81234880673210146739058568557934581403627822703280",
      "82616570773948327592232845941706525094512325230608",
      "22918802058777319719839450180888072429661980811197",
      "77158542502016545090413245809786882778948721859617",
      "72107838435069186155435662884062257473692284509516",
      "20849603980134001723930671666823555245252804609722",
      "53503534226472524250874054075591789781264330331690"};
  for (i = 0; i < 499; i++) {
    bigNumSoma[i] = 0;
  }
  for (j = 0; j < 99; j++) {
    for (i = 449; i < 499; i++) {
      bigNumSoma[i] += (numbers[j][i - 449] - 48);
      if (bigNumSoma[i] >= 10) {
        bigNumSoma[i] -= 10;
        bigNumSoma[i - 1]++;
        if (bigNumSoma[i - 1] >= 10) {
          bigNumSoma[i - 1] -= 10;
          bigNumSoma[i - 2]++;
        }
      }
    }
  }
  for (i = 400; i < 499; i++) {
    printf("%d.", bigNumSoma[i]);
  }
  getchar();
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1be0,%rsp
movl   $0x0,-0x4(%rbp)
lea    -0x1be0(%rbp),%rdi
lea    0xeb0(%rip),%rsi
mov    $0x13ec,%edx
call   1050 <memcpy@plt>
movl   $0x0,-0x7e4(%rbp)
cmpl   $0x1f3,-0x7e4(%rbp)
jge    119a <main+0x6a>
movslq -0x7e4(%rbp),%rax
movl   $0x0,-0x7e0(%rbp,%rax,4)
mov    -0x7e4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x7e4(%rbp)
jmp    1164 <main+0x34>
movl   $0x0,-0x7e8(%rbp)
cmpl   $0x63,-0x7e8(%rbp)
jge    12dc <main+0x1ac>
movl   $0x1c1,-0x7e4(%rbp)
cmpl   $0x1f3,-0x7e4(%rbp)
jge    12c3 <main+0x193>
movslq -0x7e8(%rbp),%rcx
lea    -0x1be0(%rbp),%rax
imul   $0x33,%rcx,%rcx
add    %rcx,%rax
mov    -0x7e4(%rbp),%ecx
sub    $0x1c1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%ecx
sub    $0x30,%ecx
movslq -0x7e4(%rbp),%rax
add    -0x7e0(%rbp,%rax,4),%ecx
mov    %ecx,-0x7e0(%rbp,%rax,4)
movslq -0x7e4(%rbp),%rax
cmpl   $0xa,-0x7e0(%rbp,%rax,4)
0a
jl     12aa <main+0x17a>
movslq -0x7e4(%rbp),%rax
mov    -0x7e0(%rbp,%rax,4),%ecx
sub    $0xa,%ecx
mov    %ecx,-0x7e0(%rbp,%rax,4)
mov    -0x7e4(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x7e0(%rbp,%rax,4),%ecx
add    $0x1,%ecx
mov    %ecx,-0x7e0(%rbp,%rax,4)
mov    -0x7e4(%rbp),%eax
sub    $0x1,%eax
cltq
cmpl   $0xa,-0x7e0(%rbp,%rax,4)
0a
jl     12a5 <main+0x175>
mov    -0x7e4(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x7e0(%rbp,%rax,4),%ecx
sub    $0xa,%ecx
mov    %ecx,-0x7e0(%rbp,%rax,4)
mov    -0x7e4(%rbp),%eax
sub    $0x2,%eax
cltq
mov    -0x7e0(%rbp,%rax,4),%ecx
add    $0x1,%ecx
mov    %ecx,-0x7e0(%rbp,%rax,4)
jmp    12aa <main+0x17a>
jmp    12af <main+0x17f>
mov    -0x7e4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x7e4(%rbp)
jmp    11bb <main+0x8b>
jmp    12c8 <main+0x198>
mov    -0x7e8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x7e8(%rbp)
jmp    11a4 <main+0x74>
movl   $0x190,-0x7e4(%rbp)
cmpl   $0x1f3,-0x7e4(%rbp)
jge    1326 <main+0x1f6>
movslq -0x7e4(%rbp),%rax
mov    -0x7e0(%rbp,%rax,4),%esi
lea    0x20e1(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x7e4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x7e4(%rbp)
jmp    12e6 <main+0x1b6>
mov    $0x0,%al
call   1040 <getchar@plt>
xor    %eax,%eax
add    $0x1be0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r14
push   %rbx
sub    $0x7d8,%rsp
mov    %rsp,%rdi
xor    %ebx,%ebx
mov    $0x7cc,%edx
xor    %esi,%esi
call   1040 <memset@plt>
lea    0xeae(%rip),%rax
jmp    116e <main+0x3e>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
add    $0x1,%rbx
add    $0x33,%rax
cmp    $0x63,%rbx
je     11da <main+0xaa>
xor    %ecx,%ecx
jmp    118a <main+0x5a>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0x1,%rcx
cmp    $0x32,%rcx
je     1160 <main+0x30>
movsbl (%rax,%rcx,1),%edx
mov    0x704(%rsp,%rcx,4),%esi
add    %esi,%edx
add    $0xffffffd0,%edx
mov    %edx,0x704(%rsp,%rcx,4)
cmp    $0xa,%edx
jl     1180 <main+0x50>
add    $0xfffffff6,%edx
mov    %edx,0x704(%rsp,%rcx,4)
mov    0x700(%rsp,%rcx,4),%edx
lea    0x1(%rdx),%esi
mov    %esi,0x700(%rsp,%rcx,4)
cmp    $0x9,%edx
jl     1180 <main+0x50>
add    $0xfffffff7,%edx
mov    %edx,0x700(%rsp,%rcx,4)
addl   $0x1,0x6fc(%rsp,%rcx,4)
01
jmp    1180 <main+0x50>
lea    0x220b(%rip),%r14
xor    %ebx,%ebx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    0x640(%rsp,%rbx,4),%esi
mov    %r14,%rdi
xor    %eax,%eax
call   1030 <printf@plt>
add    $0x1,%rbx
cmp    $0x63,%rbx
jne    11f0 <main+0xc0>
xor    %eax,%eax
call   1050 <getchar@plt>
xor    %eax,%eax
add    $0x7d8,%rsp
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
@__const.main.numbers = [100 x [51 x i8]] [[51 x i8] c"37107287533902102798797998220837590246510135740250\00", [51 x i8] c"46376937677490009712648124896970078050417018260538\00", [51 x i8] c"74324986199524741059474233309513058123726617309629\00", [51 x i8] c"91942213363574161572522430563301811072406154908250\00", [51 x i8] c"23067588207539346171171980310421047513778063246676\00", [51 x i8] c"89261670696623633820136378418383684178734361726757\00", [51 x i8] c"28112879812849979408065481931592621691275889832738\00", [51 x i8] c"44274228917432520321923589422876796487670272189318\00", [51 x i8] c"47451445736001306439091167216856844588711603153276\00", [51 x i8] c"70386486105843025439939619828917593665686757934951\00", [51 x i8] c"62176457141856560629502157223196586755079324193331\00", [51 x i8] c"64906352462741904929101432445813822663347944758178\00", [51 x i8] c"92575867718337217661963751590579239728245598838407\00", [51 x i8] c"58203565325359399008402633568948830189458628227828\00", [51 x i8] c"80181199384826282014278194139940567587151170094390\00", [51 x i8] c"35398664372827112653829987240784473053190104293586\00", [51 x i8] c"86515506006295864861532075273371959191420517255829\00", [51 x i8] c"71693888707715466499115593487603532921714970056938\00", [51 x i8] c"54370070576826684624621495650076471787294438377604\00", [51 x i8] c"53282654108756828443191190634694037855217779295145\00", [51 x i8] c"36123272525000296071075082563815656710885258350721\00", [51 x i8] c"45876576172410976447339110607218265236877223636045\00", [51 x i8] c"17423706905851860660448207621209813287860733969412\00", [51 x i8] c"81142660418086830619328460811191061556940512689692\00", [51 x i8] c"51934325451728388641918047049293215058642563049483\00", [51 x i8] c"62467221648435076201727918039944693004732956340691\00", [51 x i8] c"15732444386908125794514089057706229429197107928209\00", [51 x i8] c"55037687525678773091862540744969844508330393682126\00", [51 x i8] c"18336384825330154686196124348767681297534375946515\00", [51 x i8] c"80386287592878490201521685554828717201219257766954\00", [51 x i8] c"78182833757993103614740356856449095527097864797581\00", [51 x i8] c"16726320100436897842553539920931837441497806860984\00", [51 x i8] c"48403098129077791799088218795327364475675590848030\00", [51 x i8] c"87086987551392711854517078544161852424320693150332\00", [51 x i8] c"59959406895756536782107074926966537676326235447210\00", [51 x i8] c"69793950679652694742597709739166693763042633987085\00", [51 x i8] c"41052684708299085211399427365734116182760315001271\00", [51 x i8] c"65378607361501080857009149939512557028198746004375\00", [51 x i8] c"35829035317434717326932123578154982629742552737307\00", [51 x i8] c"94953759765105305946966067683156574377167401875275\00", [51 x i8] c"88902802571733229619176668713819931811048770190271\00", [51 x i8] c"25267680276078003013678680992525463401061632866526\00", [51 x i8] c"36270218540497705585629946580636237993140746255962\00", [51 x i8] c"24074486908231174977792365466257246923322810917141\00", [51 x i8] c"91430288197103288597806669760892938638285025333403\00", [51 x i8] c"34413065578016127815921815005561868836468420090470\00", [51 x i8] c"23053081172816430487623791969842487255036638784583\00", [51 x i8] c"11487696932154902810424020138335124462181441773470\00", [51 x i8] c"63783299490636259666498587618221225225512486764533\00", [51 x i8] c"67720186971698544312419572409913959008952310058822\00", [51 x i8] c"95548255300263520781532296796249481641953868218774\00", [51 x i8] c"76085327132285723110424803456124867697064507995236\00", [51 x i8] c"37774242535411291684276865538926205024910326572967\00", [51 x i8] c"23701913275725675285653248258265463092207058596522\00", [51 x i8] c"29798860272258331913126375147341994889534765745501\00", [51 x i8] c"18495701454879288984856827726077713721403798879715\00", [51 x i8] c"38298203783031473527721580348144513491373226651381\00", [51 x i8] c"34829543829199918180278916522431027392251122869539\00", [51 x i8] c"40957953066405232632538044100059654939159879593635\00", [51 x i8] c"29746152185502371307642255121183693803580388584903\00", [51 x i8] c"41698116222072977186158236678424689157993532961922\00", [51 x i8] c"62467957194401269043877107275048102390895523597457\00", [51 x i8] c"23189706772547915061505504953922979530901129967519\00", [51 x i8] c"86188088225875314529584099251203829009407770775672\00", [51 x i8] c"11306739708304724483816533873502340845647058077308\00", [51 x i8] c"82959174767140363198008187129011875491310547126581\00", [51 x i8] c"97623331044818386269515456334926366572897563400500\00", [51 x i8] c"42846280183517070527831839425882145521227251250327\00", [51 x i8] c"55121603546981200581762165212827652751691296897789\00", [51 x i8] c"32238195734329339946437501907836945765883352399886\00", [51 x i8] c"75506164965184775180738168837861091527357929701337\00", [51 x i8] c"62177842752192623401942399639168044983993173312731\00", [51 x i8] c"32924185707147349566916674687634660915035914677504\00", [51 x i8] c"99518671430235219628894890102423325116913619626622\00", [51 x i8] c"73267460800591547471830798392868535206946944540724\00", [51 x i8] c"76841822524674417161514036427982273348055556214818\00", [51 x i8] c"97142617910342598647204516893989422179826088076852\00", [51 x i8] c"87783646182799346313767754307809363333018982642090\00", [51 x i8] c"10848802521674670883215120185883543223812876952786\00", [51 x i8] c"71329612474782464538636993009049310363619763878039\00", [51 x i8] c"62184073572399794223406235393808339651327408011116\00", [51 x i8] c"66627891981488087797941876876144230030984490851411\00", [51 x i8] c"60661826293682836764744779239180335110989069790714\00", [51 x i8] c"85786944089552990653640447425576083659976645795096\00", [51 x i8] c"66024396409905389607120198219976047599490197230297\00", [51 x i8] c"64913982680032973156037120041377903785566085089252\00", [51 x i8] c"16730939319872750275468906903707539413042652315011\00", [51 x i8] c"94809377245048795150954100921645863754710598436791\00", [51 x i8] c"78639167021187492431995700641917969777599028300699\00", [51 x i8] c"15368713711936614952811305876380278410754449733078\00", [51 x i8] c"40789923115535562561142322423255033685442488917353\00", [51 x i8] c"44889911501440648020369068063960672322193204149535\00", [51 x i8] c"41503128880339536053299340368006977710650566631954\00", [51 x i8] c"81234880673210146739058568557934581403627822703280\00", [51 x i8] c"82616570773948327592232845941706525094512325230608\00", [51 x i8] c"22918802058777319719839450180888072429661980811197\00", [51 x i8] c"77158542502016545090413245809786882778948721859617\00", [51 x i8] c"72107838435069186155435662884062257473692284509516\00", [51 x i8] c"20849603980134001723930671666823555245252804609722\00", [51 x i8] c"53503534226472524250874054075591789781264330331690\00"]
@.str = [4 x i8] c"%d.\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca [500 x i32]
%3 = alloca i32
%4 = alloca i32
%5 = alloca [100 x [51 x i8]]
store i32 0, i32* %1
%6 = bitcast [100 x [51 x i8]]* %5 to i8*
store i32 0, i32* %3
br label %7
7: ; preds = %14, %0
%8 = load i32, i32* %3
%9 = icmp slt i32 %8, 499
br i1 %9, label %10, label %17
10: ; preds = %7
%11 = load i32, i32* %3
%12 = sext i32 %11 to i64
%13 = getelementptr inbounds [500 x i32], [500 x i32]* %2, i64 0, i64 %12
store i32 0, i32* %13
br label %14
14: ; preds = %10
%15 = load i32, i32* %3
%16 = add nsw i32 %15, 1
store i32 %16, i32* %3
br label %7
17: ; preds = %7
store i32 0, i32* %4
br label %18
18: ; preds = %83, %17
%19 = load i32, i32* %4
%20 = icmp slt i32 %19, 99
br i1 %20, label %21, label %86
21: ; preds = %18
store i32 449, i32* %3
br label %22
22: ; preds = %79, %21
%23 = load i32, i32* %3
%24 = icmp slt i32 %23, 499
br i1 %24, label %25, label %82
25: ; preds = %22
%26 = load i32, i32* %4
%27 = sext i32 %26 to i64
%28 = getelementptr inbounds [100 x [51 x i8]], [100 x [51 x i8]]* %5, i64 0, i64 %27
%29 = load i32, i32* %3
%30 = sub nsw i32 %29, 449
%31 = sext i32 %30 to i64
%32 = getelementptr inbounds [51 x i8], [51 x i8]* %28, i64 0, i64 %31
%33 = load i8, i8* %32
%34 = sext i8 %33 to i32
%35 = sub nsw i32 %34, 48
%36 = load i32, i32* %3
%37 = sext i32 %36 to i64
%38 = getelementptr inbounds [500 x i32], [500 x i32]* %2, i64 0, i64 %37
%39 = load i32, i32* %38
%40 = add nsw i32 %39, %35
store i32 %40, i32* %38
%41 = load i32, i32* %3
%42 = sext i32 %41 to i64
%43 = getelementptr inbounds [500 x i32], [500 x i32]* %2, i64 0, i64 %42
%44 = load i32, i32* %43
%45 = icmp sge i32 %44, 10
br i1 %45, label %46, label %78
46: ; preds = %25
%47 = load i32, i32* %3
%48 = sext i32 %47 to i64
%49 = getelementptr inbounds [500 x i32], [500 x i32]* %2, i64 0, i64 %48
%50 = load i32, i32* %49
%51 = sub nsw i32 %50, 10
store i32 %51, i32* %49
%52 = load i32, i32* %3
%53 = sub nsw i32 %52, 1
%54 = sext i32 %53 to i64
%55 = getelementptr inbounds [500 x i32], [500 x i32]* %2, i64 0, i64 %54
%56 = load i32, i32* %55
%57 = add nsw i32 %56, 1
store i32 %57, i32* %55
%58 = load i32, i32* %3
%59 = sub nsw i32 %58, 1
%60 = sext i32 %59 to i64
%61 = getelementptr inbounds [500 x i32], [500 x i32]* %2, i64 0, i64 %60
%62 = load i32, i32* %61
%63 = icmp sge i32 %62, 10
br i1 %63, label %64, label %77
64: ; preds = %46
%65 = load i32, i32* %3
%66 = sub nsw i32 %65, 1
%67 = sext i32 %66 to i64
%68 = getelementptr inbounds [500 x i32], [500 x i32]* %2, i64 0, i64 %67
%69 = load i32, i32* %68
%70 = sub nsw i32 %69, 10
store i32 %70, i32* %68
%71 = load i32, i32* %3
%72 = sub nsw i32 %71, 2
%73 = sext i32 %72 to i64
%74 = getelementptr inbounds [500 x i32], [500 x i32]* %2, i64 0, i64 %73
%75 = load i32, i32* %74
%76 = add nsw i32 %75, 1
store i32 %76, i32* %74
br label %77
77: ; preds = %64, %46
br label %78
78: ; preds = %77, %25
br label %79
79: ; preds = %78
%80 = load i32, i32* %3
%81 = add nsw i32 %80, 1
store i32 %81, i32* %3
br label %22
82: ; preds = %22
br label %83
83: ; preds = %82
%84 = load i32, i32* %4
%85 = add nsw i32 %84, 1
store i32 %85, i32* %4
br label %18
86: ; preds = %18
store i32 400, i32* %3
br label %87
87: ; preds = %96, %86
%88 = load i32, i32* %3
%89 = icmp slt i32 %88, 499
br i1 %89, label %90, label %99
90: ; preds = %87
%91 = load i32, i32* %3
%92 = sext i32 %91 to i64
%93 = getelementptr inbounds [500 x i32], [500 x i32]* %2, i64 0, i64 %92
%94 = load i32, i32* %93
%95 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %94)
br label %96
96: ; preds = %90
%97 = load i32, i32* %3
%98 = add nsw i32 %97, 1
store i32 %98, i32* %3
br label %87
99: ; preds = %87
%100 = call i32 (...) @getchar()
ret i32 0
}

LLVM IR (-O2):
@__const.main.numbers = [100 x [51 x i8]] [[51 x i8] c"37107287533902102798797998220837590246510135740250\00", [51 x i8] c"46376937677490009712648124896970078050417018260538\00", [51 x i8] c"74324986199524741059474233309513058123726617309629\00", [51 x i8] c"91942213363574161572522430563301811072406154908250\00", [51 x i8] c"23067588207539346171171980310421047513778063246676\00", [51 x i8] c"89261670696623633820136378418383684178734361726757\00", [51 x i8] c"28112879812849979408065481931592621691275889832738\00", [51 x i8] c"44274228917432520321923589422876796487670272189318\00", [51 x i8] c"47451445736001306439091167216856844588711603153276\00", [51 x i8] c"70386486105843025439939619828917593665686757934951\00", [51 x i8] c"62176457141856560629502157223196586755079324193331\00", [51 x i8] c"64906352462741904929101432445813822663347944758178\00", [51 x i8] c"92575867718337217661963751590579239728245598838407\00", [51 x i8] c"58203565325359399008402633568948830189458628227828\00", [51 x i8] c"80181199384826282014278194139940567587151170094390\00", [51 x i8] c"35398664372827112653829987240784473053190104293586\00", [51 x i8] c"86515506006295864861532075273371959191420517255829\00", [51 x i8] c"71693888707715466499115593487603532921714970056938\00", [51 x i8] c"54370070576826684624621495650076471787294438377604\00", [51 x i8] c"53282654108756828443191190634694037855217779295145\00", [51 x i8] c"36123272525000296071075082563815656710885258350721\00", [51 x i8] c"45876576172410976447339110607218265236877223636045\00", [51 x i8] c"17423706905851860660448207621209813287860733969412\00", [51 x i8] c"81142660418086830619328460811191061556940512689692\00", [51 x i8] c"51934325451728388641918047049293215058642563049483\00", [51 x i8] c"62467221648435076201727918039944693004732956340691\00", [51 x i8] c"15732444386908125794514089057706229429197107928209\00", [51 x i8] c"55037687525678773091862540744969844508330393682126\00", [51 x i8] c"18336384825330154686196124348767681297534375946515\00", [51 x i8] c"80386287592878490201521685554828717201219257766954\00", [51 x i8] c"78182833757993103614740356856449095527097864797581\00", [51 x i8] c"16726320100436897842553539920931837441497806860984\00", [51 x i8] c"48403098129077791799088218795327364475675590848030\00", [51 x i8] c"87086987551392711854517078544161852424320693150332\00", [51 x i8] c"59959406895756536782107074926966537676326235447210\00", [51 x i8] c"69793950679652694742597709739166693763042633987085\00", [51 x i8] c"41052684708299085211399427365734116182760315001271\00", [51 x i8] c"65378607361501080857009149939512557028198746004375\00", [51 x i8] c"35829035317434717326932123578154982629742552737307\00", [51 x i8] c"94953759765105305946966067683156574377167401875275\00", [51 x i8] c"88902802571733229619176668713819931811048770190271\00", [51 x i8] c"25267680276078003013678680992525463401061632866526\00", [51 x i8] c"36270218540497705585629946580636237993140746255962\00", [51 x i8] c"24074486908231174977792365466257246923322810917141\00", [51 x i8] c"91430288197103288597806669760892938638285025333403\00", [51 x i8] c"34413065578016127815921815005561868836468420090470\00", [51 x i8] c"23053081172816430487623791969842487255036638784583\00", [51 x i8] c"11487696932154902810424020138335124462181441773470\00", [51 x i8] c"63783299490636259666498587618221225225512486764533\00", [51 x i8] c"67720186971698544312419572409913959008952310058822\00", [51 x i8] c"95548255300263520781532296796249481641953868218774\00", [51 x i8] c"76085327132285723110424803456124867697064507995236\00", [51 x i8] c"37774242535411291684276865538926205024910326572967\00", [51 x i8] c"23701913275725675285653248258265463092207058596522\00", [51 x i8] c"29798860272258331913126375147341994889534765745501\00", [51 x i8] c"18495701454879288984856827726077713721403798879715\00", [51 x i8] c"38298203783031473527721580348144513491373226651381\00", [51 x i8] c"34829543829199918180278916522431027392251122869539\00", [51 x i8] c"40957953066405232632538044100059654939159879593635\00", [51 x i8] c"29746152185502371307642255121183693803580388584903\00", [51 x i8] c"41698116222072977186158236678424689157993532961922\00", [51 x i8] c"62467957194401269043877107275048102390895523597457\00", [51 x i8] c"23189706772547915061505504953922979530901129967519\00", [51 x i8] c"86188088225875314529584099251203829009407770775672\00", [51 x i8] c"11306739708304724483816533873502340845647058077308\00", [51 x i8] c"82959174767140363198008187129011875491310547126581\00", [51 x i8] c"97623331044818386269515456334926366572897563400500\00", [51 x i8] c"42846280183517070527831839425882145521227251250327\00", [51 x i8] c"55121603546981200581762165212827652751691296897789\00", [51 x i8] c"32238195734329339946437501907836945765883352399886\00", [51 x i8] c"75506164965184775180738168837861091527357929701337\00", [51 x i8] c"62177842752192623401942399639168044983993173312731\00", [51 x i8] c"32924185707147349566916674687634660915035914677504\00", [51 x i8] c"99518671430235219628894890102423325116913619626622\00", [51 x i8] c"73267460800591547471830798392868535206946944540724\00", [51 x i8] c"76841822524674417161514036427982273348055556214818\00", [51 x i8] c"97142617910342598647204516893989422179826088076852\00", [51 x i8] c"87783646182799346313767754307809363333018982642090\00", [51 x i8] c"10848802521674670883215120185883543223812876952786\00", [51 x i8] c"71329612474782464538636993009049310363619763878039\00", [51 x i8] c"62184073572399794223406235393808339651327408011116\00", [51 x i8] c"66627891981488087797941876876144230030984490851411\00", [51 x i8] c"60661826293682836764744779239180335110989069790714\00", [51 x i8] c"85786944089552990653640447425576083659976645795096\00", [51 x i8] c"66024396409905389607120198219976047599490197230297\00", [51 x i8] c"64913982680032973156037120041377903785566085089252\00", [51 x i8] c"16730939319872750275468906903707539413042652315011\00", [51 x i8] c"94809377245048795150954100921645863754710598436791\00", [51 x i8] c"78639167021187492431995700641917969777599028300699\00", [51 x i8] c"15368713711936614952811305876380278410754449733078\00", [51 x i8] c"40789923115535562561142322423255033685442488917353\00", [51 x i8] c"44889911501440648020369068063960672322193204149535\00", [51 x i8] c"41503128880339536053299340368006977710650566631954\00", [51 x i8] c"81234880673210146739058568557934581403627822703280\00", [51 x i8] c"82616570773948327592232845941706525094512325230608\00", [51 x i8] c"22918802058777319719839450180888072429661980811197\00", [51 x i8] c"77158542502016545090413245809786882778948721859617\00", [51 x i8] c"72107838435069186155435662884062257473692284509516\00", [51 x i8] c"20849603980134001723930671666823555245252804609722\00", [51 x i8] c"53503534226472524250874054075591789781264330331690\00"]
@.str = [4 x i8] c"%d.\00"
define i32 @main() {
%1 = alloca [500 x i32]
%2 = bitcast [500 x i32]* %1 to i8*
br label %3
3: ; preds = %0, %32
%4 = phi i64 [ 0, %0 ], [ %33, %32 ]
br label %5
5: ; preds = %3, %29
%6 = phi i64 [ 449, %3 ], [ %30, %29 ]
%7 = add nsw i64 %6, -449
%8 = getelementptr inbounds [100 x [51 x i8]], [100 x [51 x i8]]* @__const.main.numbers, i64 0, i64 %4, i64 %7
%9 = load i8, i8* %8
%10 = sext i8 %9 to i32
%11 = add nsw i32 %10, -48
%12 = getelementptr inbounds [500 x i32], [500 x i32]* %1, i64 0, i64 %6
%13 = load i32, i32* %12
%14 = add nsw i32 %11, %13
store i32 %14, i32* %12
%15 = icmp sgt i32 %14, 9
br i1 %15, label %16, label %29
16: ; preds = %5
%17 = add nsw i32 %14, -10
store i32 %17, i32* %12
%18 = add nsw i64 %6, -1
%19 = getelementptr inbounds [500 x i32], [500 x i32]* %1, i64 0, i64 %18
%20 = load i32, i32* %19
%21 = add nsw i32 %20, 1
store i32 %21, i32* %19
%22 = icmp sgt i32 %20, 8
br i1 %22, label %23, label %29
23: ; preds = %16
%24 = add nsw i32 %20, -9
store i32 %24, i32* %19
%25 = add nsw i64 %6, -2
%26 = getelementptr inbounds [500 x i32], [500 x i32]* %1, i64 0, i64 %25
%27 = load i32, i32* %26
%28 = add nsw i32 %27, 1
store i32 %28, i32* %26
br label %29
29: ; preds = %5, %23, %16
%30 = add nuw nsw i64 %6, 1
%31 = icmp eq i64 %30, 499
br i1 %31, label %32, label %5
32: ; preds = %29
%33 = add nuw nsw i64 %4, 1
%34 = icmp eq i64 %33, 99
br i1 %34, label %35, label %3
35: ; preds = %32, %35
%36 = phi i64 [ %40, %35 ], [ 400, %32 ]
%37 = getelementptr inbounds [500 x i32], [500 x i32]* %1, i64 0, i64 %36
%38 = load i32, i32* %37
%39 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %38)
%40 = add nuw nsw i64 %36, 1
%41 = icmp eq i64 %40, 499
br i1 %41, label %42, label %35
42: ; preds = %35
%43 = tail call i32 (...) @getchar()
ret i32 0
}