#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *, ...);
int main() {
  printf("Hello World!\n");
  printf("C³ÌÐòÖÐÒ»¶¨ÊÇ´ÓÎÒ¿ªÊ¼µÄ\n");
  printf("ÄãÊÇÎÒµÄÐ¡Ñ½Ð¡Æ»¹û¶ù\n");
  printf("ÔõÃ´°®Äã¶¼²»ÏÓ¶à\n");
  printf("ºìºìµÄÐ¡Á³ÎÂÅ¯ÎÒµÄÐÄÎÑ\n");
  printf("µãÁÁÎÒÉúÃüµÄ»ð »ð»ð»ð»ð\n");
  printf("´²Ç°Ã÷ÔÂ¹â£¬\n");
  printf("ÒÉÊÇµØÉÏËª¡£\n");
  printf("¾ÙÍ·ÍûÃ÷ÔÂ£¬\n");
  printf("µÍÍ·Ë¼¹ÊÏç¡£\n");
  int myAge = 18;
  printf("¹§Ï²ÐÞ¸ÄÕýÈ·£¬ÄãµÄÄêÁäÎª:%d", myAge);
  int age = 15;
  int height = 162;
  float weight = 82.5;
  char isFat = 'y';
  printf("ÄêÁä: %d Ëê\n", age);
  printf("Éí¸ß: %d ÀåÃ×\n", height);
  printf("ÌåÖØ: %f Ç§¿Ë\n", weight);
  printf("ÊÇ·ñÊôÓÚ·ÊÅÖ¶ùÍ¯: %c\n", isFat);
  int xAge = 18;
  float xHeight = 1.85;
  char xUnit = 'M';
  printf("Ð¡Ã÷½ñÄê%dËê\n", xAge);
  printf("Ð¡Ã÷µÄÉí¸ß%.2f%c\n", xHeight, xUnit);
  printf("Ð¡Ã÷ÏÖÔÚÔÚÄ½¿ÎÍøÉÏÑ§Ï°IT¼¼Êõ\n");
  printf("Ð¡Ã÷½ñÌìÓÖµÃµ½ÁË%dÔªÁã»¨Ç®\n", 10);
  char char_c = 'a';
  int int_n = char_c;
  float float_f = int_n;
  double double_d = float_f;
  printf("char_c = %c\n", char_c);
  printf("int_n = %d\n", int_n);
  printf("float_f = %.2f\n", float_f);
  printf("double_d = %lf\n", double_d);
  double double_num = 2.5;
  printf("double_numµÄÕûÊý²¿·ÖÊÇ%d\n", (int)double_num);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x40,%rsp
movl   $0x0,-0x4(%rbp)
lea    0xeea(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xeea(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf0b(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf27(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf3b(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf5b(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf7c(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf88(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf94(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xfa0(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x12,-0x8(%rbp)
mov    -0x8(%rbp),%esi
lea    0xfa2(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0xf,-0xc(%rbp)
movl   $0xa2,-0x10(%rbp)
movss  0xe33(%rip),%xmm0
movss  %xmm0,-0x14(%rbp)
movb   $0x79,-0x15(%rbp)
mov    -0xc(%rbp),%esi
lea    0xfa6(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x10(%rbp),%esi
lea    0xfa8(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movss  -0x14(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0xfa8(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsbl -0x15(%rbp),%esi
lea    0xfad(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x12,-0x1c(%rbp)
movss  0xdcc(%rip),%xmm0
movss  %xmm0,-0x20(%rbp)
movb   $0x4d,-0x21(%rbp)
mov    -0x1c(%rbp),%esi
lea    0xfaa(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movss  -0x20(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsbl -0x21(%rbp),%esi
lea    0xfa7(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
lea    0xfb5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xfdf(%rip),%rdi
mov    $0xa,%esi
mov    $0x0,%al
call   1030 <printf@plt>
movb   $0x61,-0x22(%rbp)
movsbl -0x22(%rbp),%eax
mov    %eax,-0x28(%rbp)
cvtsi2ssl -0x28(%rbp),%xmm0
movss  %xmm0,-0x2c(%rbp)
movss  -0x2c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsbl -0x22(%rbp),%esi
lea    0xfd9(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x28(%rbp),%esi
lea    0xfd5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movss  -0x2c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0xfca(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  -0x38(%rbp),%xmm0
lea    0xfc7(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xcf6(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
cvttsd2si -0x40(%rbp),%esi
lea    0xfb7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x40,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rax
lea    0x1052(%rip),%rdi
call   1030 <puts@plt>
lea    0x1053(%rip),%rdi
call   1030 <puts@plt>
lea    0x1075(%rip),%rdi
call   1030 <puts@plt>
lea    0x1092(%rip),%rdi
call   1030 <puts@plt>
lea    0x10a7(%rip),%rdi
call   1030 <puts@plt>
lea    0x10c8(%rip),%rdi
call   1030 <puts@plt>
lea    0x10ea(%rip),%rdi
call   1030 <puts@plt>
lea    0x10f7(%rip),%rdi
call   1030 <puts@plt>
lea    0x1104(%rip),%rdi
call   1030 <puts@plt>
lea    0x1111(%rip),%rdi
call   1030 <puts@plt>
lea    0xe78(%rip),%rdi
mov    $0x12,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xe99(%rip),%rdi
mov    $0xf,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xe99(%rip),%rdi
mov    $0xa2,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xe9d(%rip),%rdi
movsd  0xe1f(%rip),%xmm0
mov    $0x1,%al
call   1040 <printf@plt>
lea    0xe9e(%rip),%rdi
mov    $0x79,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xeb1(%rip),%rdi
mov    $0x12,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xeb6(%rip),%rdi
movsd  0xdeb(%rip),%xmm0
mov    $0x4d,%esi
mov    $0x1,%al
call   1040 <printf@plt>
lea    0x108e(%rip),%rdi
call   1030 <puts@plt>
lea    0xeab(%rip),%rdi
mov    $0xa,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xecc(%rip),%rdi
mov    $0x61,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xec6(%rip),%rdi
mov    $0x61,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xebf(%rip),%rdi
movsd  0xd93(%rip),%xmm0
mov    $0x1,%al
call   1040 <printf@plt>
lea    0xeb9(%rip),%rdi
movsd  0xd7d(%rip),%xmm0
mov    $0x1,%al
call   1040 <printf@plt>
lea    0xeb3(%rip),%rdi
mov    $0x2,%esi
xor    %eax,%eax
call   1040 <printf@plt>
xor    %eax,%eax
pop    %rcx
ret

LLVM IR (-O0):
@.str = [14 x i8] c"Hello World!\0A\00"
@.str.1 = [47 x i8] c"C\C2\B3\C3\8C\C3\90\C3\B2\C3\96\C3\90\C3\92\C2\BB\C2\B6\C2\A8\C3\8A\C3\87\C2\B4\C3\93\C3\8E\C3\92\C2\BF\C2\AA\C3\8A\C2\BC\C2\B5\C3\84\0A\00"
@.str.2 = [42 x i8] c"\C3\84\C3\A3\C3\8A\C3\87\C3\8E\C3\92\C2\B5\C3\84\C3\90\C2\A1\C3\91\C2\BD\C3\90\C2\A1\C3\86\C2\BB\C2\B9\C3\BB\C2\B6\C3\B9\0A\00"
@.str.3 = [34 x i8] c"\C3\94\C3\B5\C3\83\C2\B4\C2\B0\C2\AE\C3\84\C3\A3\C2\B6\C2\BC\C2\B2\C2\BB\C3\8F\C3\93\C2\B6\C3\A0\0A\00"
@.str.4 = [46 x i8] c"\C2\BA\C3\AC\C2\BA\C3\AC\C2\B5\C3\84\C3\90\C2\A1\C3\81\C2\B3\C3\8E\C3\82\C3\85\C2\AF\C3\8E\C3\92\C2\B5\C3\84\C3\90\C3\84\C3\8E\C3\91\0A\00"
@.str.5 = [47 x i8] c"\C2\B5\C3\A3\C3\81\C3\81\C3\8E\C3\92\C3\89\C3\BA\C3\83\C3\BC\C2\B5\C3\84\C2\BB\C3\B0 \C2\BB\C3\B0\C2\BB\C3\B0\C2\BB\C3\B0\C2\BB\C3\B0\0A\00"
@.str.6 = [26 x i8] c"\C2\B4\C2\B2\C3\87\C2\B0\C3\83\C3\B7\C3\94\C3\82\C2\B9\C3\A2\C2\A3\C2\AC\0A\00"
@.str.7 = [26 x i8] c"\C3\92\C3\89\C3\8A\C3\87\C2\B5\C3\98\C3\89\C3\8F\C3\8B\C2\AA\C2\A1\C2\A3\0A\00"
@.str.8 = [26 x i8] c"\C2\BE\C3\99\C3\8D\C2\B7\C3\8D\C3\BB\C3\83\C3\B7\C3\94\C3\82\C2\A3\C2\AC\0A\00"
@.str.9 = [26 x i8] c"\C2\B5\C3\8D\C3\8D\C2\B7\C3\8B\C2\BC\C2\B9\C3\8A\C3\8F\C3\A7\C2\A1\C2\A3\0A\00"
@.str.10 = [52 x i8] c"\C2\B9\C2\A7\C3\8F\C2\B2\C3\90\C3\9E\C2\B8\C3\84\C3\95\C3\BD\C3\88\C2\B7\C2\A3\C2\AC\C3\84\C3\A3\C2\B5\C3\84\C3\84\C3\AA\C3\81\C3\A4\C3\8E\C2\AA:%d\00"
@.str.11 = [19 x i8] c"\C3\84\C3\AA\C3\81\C3\A4: %d \C3\8B\C3\AA\0A\00"
@.str.12 = [23 x i8] c"\C3\89\C3\AD\C2\B8\C3\9F: %d \C3\80\C3\A5\C3\83\C3\97\0A\00"
@.str.13 = [23 x i8] c"\C3\8C\C3\A5\C3\96\C3\98: %f \C3\87\C2\A7\C2\BF\C3\8B\0A\00"
@.str.14 = [38 x i8] c"\C3\8A\C3\87\C2\B7\C3\B1\C3\8A\C3\B4\C3\93\C3\9A\C2\B7\C3\8A\C3\85\C3\96\C2\B6\C3\B9\C3\8D\C2\AF: %c\0A\00"
@.str.15 = [24 x i8] c"\C3\90\C2\A1\C3\83\C3\B7\C2\BD\C3\B1\C3\84\C3\AA%d\C3\8B\C3\AA\0A\00"
@.str.16 = [28 x i8] c"\C3\90\C2\A1\C3\83\C3\B7\C2\B5\C3\84\C3\89\C3\AD\C2\B8\C3\9F%.2f%c\0A\00"
@.str.17 = [56 x i8] c"\C3\90\C2\A1\C3\83\C3\B7\C3\8F\C3\96\C3\94\C3\9A\C3\94\C3\9A\C3\84\C2\BD\C2\BF\C3\8E\C3\8D\C3\B8\C3\89\C3\8F\C3\91\C2\A7\C3\8F\C2\B0IT\C2\BC\C2\BC\C3\8A\C3\B5\0A\00"
@.str.18 = [52 x i8] c"\C3\90\C2\A1\C3\83\C3\B7\C2\BD\C3\B1\C3\8C\C3\AC\C3\93\C3\96\C2\B5\C3\83\C2\B5\C2\BD\C3\81\C3\8B%d\C3\94\C2\AA\C3\81\C3\A3\C2\BB\C2\A8\C3\87\C2\AE\0A\00"
@.str.19 = [13 x i8] c"char_c = %c\0A\00"
@.str.20 = [12 x i8] c"int_n = %d\0A\00"
@.str.21 = [16 x i8] c"float_f = %.2f\0A\00"
@.str.22 = [16 x i8] c"double_d = %lf\0A\00"
@.str.23 = [38 x i8] c"double_num\C2\B5\C3\84\C3\95\C3\BB\C3\8A\C3\BD\C2\B2\C2\BF\C2\B7\C3\96\C3\8A\C3\87%d\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca float
%6 = alloca i8
%7 = alloca i32
%8 = alloca float
%9 = alloca i8
%10 = alloca i8
%11 = alloca i32
%12 = alloca float
%13 = alloca double
%14 = alloca double
store i32 0, i32* %1
%15 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str, i64 0, i64 0))
%16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1, i64 0, i64 0))
%17 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.2, i64 0, i64 0))
%18 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.3, i64 0, i64 0))
%19 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.4, i64 0, i64 0))
%20 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.5, i64 0, i64 0))
%21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.6, i64 0, i64 0))
%22 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.7, i64 0, i64 0))
%23 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8, i64 0, i64 0))
%24 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9, i64 0, i64 0))
store i32 18, i32* %2
%25 = load i32, i32* %2
%26 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.10, i64 0, i64 0), i32 %25)
store i32 15, i32* %3
store i32 162, i32* %4
store float 8.250000e+01, float* %5
store i8 121, i8* %6
%27 = load i32, i32* %3
%28 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.11, i64 0, i64 0), i32 %27)
%29 = load i32, i32* %4
%30 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.12, i64 0, i64 0), i32 %29)
%31 = load float, float* %5
%32 = fpext float %31 to double
%33 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.13, i64 0, i64 0), double %32)
%34 = load i8, i8* %6
%35 = sext i8 %34 to i32
%36 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.14, i64 0, i64 0), i32 %35)
store i32 18, i32* %7
store float 0x3FFD9999A0000000, float* %8
store i8 77, i8* %9
%37 = load i32, i32* %7
%38 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.15, i64 0, i64 0), i32 %37)
%39 = load float, float* %8
%40 = fpext float %39 to double
%41 = load i8, i8* %9
%42 = sext i8 %41 to i32
%43 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.16, i64 0, i64 0), double %40, i32 %42)
%44 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.17, i64 0, i64 0))
%45 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.18, i64 0, i64 0), i32 10)
store i8 97, i8* %10
%46 = load i8, i8* %10
%47 = sext i8 %46 to i32
store i32 %47, i32* %11
%48 = load i32, i32* %11
%49 = sitofp i32 %48 to float
store float %49, float* %12
%50 = load float, float* %12
%51 = fpext float %50 to double
store double %51, double* %13
%52 = load i8, i8* %10
%53 = sext i8 %52 to i32
%54 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %53)
%55 = load i32, i32* %11
%56 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.20, i64 0, i64 0), i32 %55)
%57 = load float, float* %12
%58 = fpext float %57 to double
%59 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.21, i64 0, i64 0), double %58)
%60 = load double, double* %13
%61 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.22, i64 0, i64 0), double %60)
store double 2.500000e+00, double* %14
%62 = load double, double* %14
%63 = fptosi double %62 to i32
%64 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.23, i64 0, i64 0), i32 %63)
ret i32 0
}

LLVM IR (-O2):
@.str.10 = [52 x i8] c"\C2\B9\C2\A7\C3\8F\C2\B2\C3\90\C3\9E\C2\B8\C3\84\C3\95\C3\BD\C3\88\C2\B7\C2\A3\C2\AC\C3\84\C3\A3\C2\B5\C3\84\C3\84\C3\AA\C3\81\C3\A4\C3\8E\C2\AA:%d\00"
@.str.11 = [19 x i8] c"\C3\84\C3\AA\C3\81\C3\A4: %d \C3\8B\C3\AA\0A\00"
@.str.12 = [23 x i8] c"\C3\89\C3\AD\C2\B8\C3\9F: %d \C3\80\C3\A5\C3\83\C3\97\0A\00"
@.str.13 = [23 x i8] c"\C3\8C\C3\A5\C3\96\C3\98: %f \C3\87\C2\A7\C2\BF\C3\8B\0A\00"
@.str.14 = [38 x i8] c"\C3\8A\C3\87\C2\B7\C3\B1\C3\8A\C3\B4\C3\93\C3\9A\C2\B7\C3\8A\C3\85\C3\96\C2\B6\C3\B9\C3\8D\C2\AF: %c\0A\00"
@.str.15 = [24 x i8] c"\C3\90\C2\A1\C3\83\C3\B7\C2\BD\C3\B1\C3\84\C3\AA%d\C3\8B\C3\AA\0A\00"
@.str.16 = [28 x i8] c"\C3\90\C2\A1\C3\83\C3\B7\C2\B5\C3\84\C3\89\C3\AD\C2\B8\C3\9F%.2f%c\0A\00"
@.str.18 = [52 x i8] c"\C3\90\C2\A1\C3\83\C3\B7\C2\BD\C3\B1\C3\8C\C3\AC\C3\93\C3\96\C2\B5\C3\83\C2\B5\C2\BD\C3\81\C3\8B%d\C3\94\C2\AA\C3\81\C3\A3\C2\BB\C2\A8\C3\87\C2\AE\0A\00"
@.str.19 = [13 x i8] c"char_c = %c\0A\00"
@.str.20 = [12 x i8] c"int_n = %d\0A\00"
@.str.21 = [16 x i8] c"float_f = %.2f\0A\00"
@.str.22 = [16 x i8] c"double_d = %lf\0A\00"
@.str.23 = [38 x i8] c"double_num\C2\B5\C3\84\C3\95\C3\BB\C3\8A\C3\BD\C2\B2\C2\BF\C2\B7\C3\96\C3\8A\C3\87%d\0A\00"
@str = [13 x i8] c"Hello World!\00"
@str.24 = [46 x i8] c"C\C2\B3\C3\8C\C3\90\C3\B2\C3\96\C3\90\C3\92\C2\BB\C2\B6\C2\A8\C3\8A\C3\87\C2\B4\C3\93\C3\8E\C3\92\C2\BF\C2\AA\C3\8A\C2\BC\C2\B5\C3\84\00"
@str.25 = [41 x i8] c"\C3\84\C3\A3\C3\8A\C3\87\C3\8E\C3\92\C2\B5\C3\84\C3\90\C2\A1\C3\91\C2\BD\C3\90\C2\A1\C3\86\C2\BB\C2\B9\C3\BB\C2\B6\C3\B9\00"
@str.26 = [33 x i8] c"\C3\94\C3\B5\C3\83\C2\B4\C2\B0\C2\AE\C3\84\C3\A3\C2\B6\C2\BC\C2\B2\C2\BB\C3\8F\C3\93\C2\B6\C3\A0\00"
@str.27 = [45 x i8] c"\C2\BA\C3\AC\C2\BA\C3\AC\C2\B5\C3\84\C3\90\C2\A1\C3\81\C2\B3\C3\8E\C3\82\C3\85\C2\AF\C3\8E\C3\92\C2\B5\C3\84\C3\90\C3\84\C3\8E\C3\91\00"
@str.28 = [46 x i8] c"\C2\B5\C3\A3\C3\81\C3\81\C3\8E\C3\92\C3\89\C3\BA\C3\83\C3\BC\C2\B5\C3\84\C2\BB\C3\B0 \C2\BB\C3\B0\C2\BB\C3\B0\C2\BB\C3\B0\C2\BB\C3\B0\00"
@str.29 = [25 x i8] c"\C2\B4\C2\B2\C3\87\C2\B0\C3\83\C3\B7\C3\94\C3\82\C2\B9\C3\A2\C2\A3\C2\AC\00"
@str.30 = [25 x i8] c"\C3\92\C3\89\C3\8A\C3\87\C2\B5\C3\98\C3\89\C3\8F\C3\8B\C2\AA\C2\A1\C2\A3\00"
@str.31 = [25 x i8] c"\C2\BE\C3\99\C3\8D\C2\B7\C3\8D\C3\BB\C3\83\C3\B7\C3\94\C3\82\C2\A3\C2\AC\00"
@str.32 = [25 x i8] c"\C2\B5\C3\8D\C3\8D\C2\B7\C3\8B\C2\BC\C2\B9\C3\8A\C3\8F\C3\A7\C2\A1\C2\A3\00"
@str.33 = [55 x i8] c"\C3\90\C2\A1\C3\83\C3\B7\C3\8F\C3\96\C3\94\C3\9A\C3\94\C3\9A\C3\84\C2\BD\C2\BF\C3\8E\C3\8D\C3\B8\C3\89\C3\8F\C3\91\C2\A7\C3\8F\C2\B0IT\C2\BC\C2\BC\C3\8A\C3\B5\00"
define i32 @main() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([46 x i8], [46 x i8]* @str.24, i64 0, i64 0))
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.25, i64 0, i64 0))
%4 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([33 x i8], [33 x i8]* @str.26, i64 0, i64 0))
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([45 x i8], [45 x i8]* @str.27, i64 0, i64 0))
%6 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([46 x i8], [46 x i8]* @str.28, i64 0, i64 0))
%7 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([25 x i8], [25 x i8]* @str.29, i64 0, i64 0))
%8 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([25 x i8], [25 x i8]* @str.30, i64 0, i64 0))
%9 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([25 x i8], [25 x i8]* @str.31, i64 0, i64 0))
%10 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([25 x i8], [25 x i8]* @str.32, i64 0, i64 0))
%11 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([52 x i8], [52 x i8]* @.str.10, i64 0, i64 0), i32 18)
%12 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.11, i64 0, i64 0), i32 15)
%13 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([23 x i8], [23 x i8]* @.str.12, i64 0, i64 0), i32 162)
%14 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([23 x i8], [23 x i8]* @.str.13, i64 0, i64 0), double 8.250000e+01)
%15 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @.str.14, i64 0, i64 0), i32 121)
%16 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.15, i64 0, i64 0), i32 18)
%17 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.16, i64 0, i64 0), double 0x3FFD9999A0000000, i32 77)
%18 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([55 x i8], [55 x i8]* @str.33, i64 0, i64 0))
%19 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([52 x i8], [52 x i8]* @.str.18, i64 0, i64 0), i32 10)
%20 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 97)
%21 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.20, i64 0, i64 0), i32 97)
%22 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.21, i64 0, i64 0), double 9.700000e+01)
%23 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.22, i64 0, i64 0), double 9.700000e+01)
%24 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @.str.23, i64 0, i64 0), i32 2)
ret i32 0
}