Given the following C code and unoptimized assembly code, your task is to generate highly optimized x86-64 assembly code.
C Code:

```c
#include<stdio.h>
#include<string.h>

int main(void){
char s[4906];
char p[1] = ".";
int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,si=0,j=0,k=0,l=0,m=0,n=0,o=0,cp=0,q=0,r=0,cs=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;
int len;


   while(scanf("%s",s) != EOF){
  len = strlen(s);
  for(int i = 0; i < len;i++) {
    if(s[i] == 'a'||s[i] == 'A'){
    a++;
    }
    else if(s[i] == 'b'||s[i] == 'B'){
    b++;
    }
    else if(s[i] == 'c'||s[i] == 'C'){
    c++;
    }
    else if(s[i] == 'd'||s[i] == 'D'){
    d++;
    }
    else if(s[i] == 'e'||s[i] == 'E'){
    e++;
    }
    else if(s[i] == 'f'||s[i] == 'F'){
    f++;
    }
    else if(s[i] == 'g'||s[i] == 'G'){
    g++;
    }
    else if(s[i] == 'h'||s[i] == 'H'){
    h++;
    }
    else if(s[i] == 'i'||s[i] == 'I'){
    si++;
    }
    if(s[i] == 'j'||s[i] == 'J'){
    j++;
    }
    else if(s[i] == 'k'||s[i] == 'K'){
    k++;
    }
    else if(s[i] == 'l'||s[i] == 'L'){
    l++;
    }
    else if(s[i] == 'm'||s[i] == 'M'){
    m++;
    }
    else if(s[i] == 'n'||s[i] == 'N'){
    n++;
    }
    else if(s[i] == 'o'||s[i] == 'O'){
    o++;
    }
    else if(s[i] == 'p'||s[i] == 'P'){
    cp++;
    }
    else if(s[i] == 'q'||s[i] == 'Q'){
    q++;
    }
    else if(s[i] == 'r'||s[i] == 'R'){
    r++;
    }
    else if(s[i] == 's'||s[i] == 'S'){
    cs++;
    }
    else if(s[i] == 't'||s[i] == 'T'){
    t++;
    }
    if(s[i] == 'u'||s[i] == 'U'){
    u++;
    }
    else if(s[i] == 'v'||s[i] == 'V'){
    v++;
    }
    else if(s[i] == 'w'||s[i] == 'W'){
    w++;
    }
    else if(s[i] == 'x'||s[i] == 'X'){
    x++;
    }
    else if(s[i] == 'y'||s[i] == 'Y'){
    y++;
    }
    else if(s[i] == 'z'||s[i] == 'Z'){
    z++;
    }
   
}
}

printf("a : %d\n",a);
printf("b : %d\n",b);
printf("c : %d\n",c);
printf("d : %d\n",d);
printf("e : %d\n",e);
printf("f : %d\n",f);
printf("g : %d\n",g);
printf("h : %d\n",h);
printf("i : %d\n",si);
printf("j : %d\n",j);
printf("k : %d\n",k);
printf("l : %d\n",l);
printf("m : %d\n",m);
printf("n : %d\n",n);
printf("o : %d\n",o);
printf("p : %d\n",cp);
printf("q : %d\n",q);
printf("r : %d\n",r);
printf("s : %d\n",cs);
printf("t : %d\n",t);
printf("u : %d\n",u);
printf("v : %d\n",v);
printf("w : %d\n",w);
printf("x : %d\n",x);
printf("y : %d\n",y);
printf("z : %d\n",z);

return 0;
}

```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.section	.rodata
.LC0:
	.string	"%s"
.LC1:
	.string	"a : %d\n"
.LC2:
	.string	"b : %d\n"
.LC3:
	.string	"c : %d\n"
.LC4:
	.string	"d : %d\n"
.LC5:
	.string	"e : %d\n"
.LC6:
	.string	"f : %d\n"
.LC7:
	.string	"g : %d\n"
.LC8:
	.string	"h : %d\n"
.LC9:
	.string	"i : %d\n"
.LC10:
	.string	"j : %d\n"
.LC11:
	.string	"k : %d\n"
.LC12:
	.string	"l : %d\n"
.LC13:
	.string	"m : %d\n"
.LC14:
	.string	"n : %d\n"
.LC15:
	.string	"o : %d\n"
.LC16:
	.string	"p : %d\n"
.LC17:
	.string	"q : %d\n"
.LC18:
	.string	"r : %d\n"
.LC19:
	.string	"s : %d\n"
.LC20:
	.string	"t : %d\n"
.LC21:
	.string	"u : %d\n"
.LC22:
	.string	"v : %d\n"
.LC23:
	.string	"w : %d\n"
.LC24:
	.string	"x : %d\n"
.LC25:
	.string	"y : %d\n"
.LC26:
	.string	"z : %d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$4096, %rsp
	orq	$0, (%rsp)
	subq	$960, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movb	$46, -4929(%rbp)
	movl	$0, -5044(%rbp)
	movl	$0, -5040(%rbp)
	movl	$0, -5036(%rbp)
	movl	$0, -5032(%rbp)
	movl	$0, -5028(%rbp)
	movl	$0, -5024(%rbp)
	movl	$0, -5020(%rbp)
	movl	$0, -5016(%rbp)
	movl	$0, -5012(%rbp)
	movl	$0, -5008(%rbp)
	movl	$0, -5004(%rbp)
	movl	$0, -5000(%rbp)
	movl	$0, -4996(%rbp)
	movl	$0, -4992(%rbp)
	movl	$0, -4988(%rbp)
	movl	$0, -4984(%rbp)
	movl	$0, -4980(%rbp)
	movl	$0, -4976(%rbp)
	movl	$0, -4972(%rbp)
	movl	$0, -4968(%rbp)
	movl	$0, -4964(%rbp)
	movl	$0, -4960(%rbp)
	movl	$0, -4956(%rbp)
	movl	$0, -4952(%rbp)
	movl	$0, -4948(%rbp)
	movl	$0, -4944(%rbp)
	jmp	.L2
.L57:
	leaq	-4928(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, -4936(%rbp)
	movl	$0, -4940(%rbp)
	jmp	.L3
.L56:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$97, %al
	je	.L4
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$65, %al
	jne	.L5
.L4:
	addl	$1, -5044(%rbp)
	jmp	.L6
.L5:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$98, %al
	je	.L7
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$66, %al
	jne	.L8
.L7:
	addl	$1, -5040(%rbp)
	jmp	.L6
.L8:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$99, %al
	je	.L9
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$67, %al
	jne	.L10
.L9:
	addl	$1, -5036(%rbp)
	jmp	.L6
.L10:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$100, %al
	je	.L11
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$68, %al
	jne	.L12
.L11:
	addl	$1, -5032(%rbp)
	jmp	.L6
.L12:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$101, %al
	je	.L13
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$69, %al
	jne	.L14
.L13:
	addl	$1, -5028(%rbp)
	jmp	.L6
.L14:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$102, %al
	je	.L15
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$70, %al
	jne	.L16
.L15:
	addl	$1, -5024(%rbp)
	jmp	.L6
.L16:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$103, %al
	je	.L17
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$71, %al
	jne	.L18
.L17:
	addl	$1, -5020(%rbp)
	jmp	.L6
.L18:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$104, %al
	je	.L19
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$72, %al
	jne	.L20
.L19:
	addl	$1, -5016(%rbp)
	jmp	.L6
.L20:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$105, %al
	je	.L21
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$73, %al
	jne	.L6
.L21:
	addl	$1, -5012(%rbp)
.L6:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$106, %al
	je	.L22
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$74, %al
	jne	.L23
.L22:
	addl	$1, -5008(%rbp)
	jmp	.L24
.L23:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$107, %al
	je	.L25
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$75, %al
	jne	.L26
.L25:
	addl	$1, -5004(%rbp)
	jmp	.L24
.L26:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$108, %al
	je	.L27
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$76, %al
	jne	.L28
.L27:
	addl	$1, -5000(%rbp)
	jmp	.L24
.L28:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$109, %al
	je	.L29
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$77, %al
	jne	.L30
.L29:
	addl	$1, -4996(%rbp)
	jmp	.L24
.L30:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$110, %al
	je	.L31
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$78, %al
	jne	.L32
.L31:
	addl	$1, -4992(%rbp)
	jmp	.L24
.L32:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$111, %al
	je	.L33
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$79, %al
	jne	.L34
.L33:
	addl	$1, -4988(%rbp)
	jmp	.L24
.L34:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$112, %al
	je	.L35
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$80, %al
	jne	.L36
.L35:
	addl	$1, -4984(%rbp)
	jmp	.L24
.L36:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$113, %al
	je	.L37
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$81, %al
	jne	.L38
.L37:
	addl	$1, -4980(%rbp)
	jmp	.L24
.L38:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$114, %al
	je	.L39
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$82, %al
	jne	.L40
.L39:
	addl	$1, -4976(%rbp)
	jmp	.L24
.L40:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$115, %al
	je	.L41
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$83, %al
	jne	.L42
.L41:
	addl	$1, -4972(%rbp)
	jmp	.L24
.L42:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$116, %al
	je	.L43
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$84, %al
	jne	.L24
.L43:
	addl	$1, -4968(%rbp)
.L24:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$117, %al
	je	.L44
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$85, %al
	jne	.L45
.L44:
	addl	$1, -4964(%rbp)
	jmp	.L46
.L45:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$118, %al
	je	.L47
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$86, %al
	jne	.L48
.L47:
	addl	$1, -4960(%rbp)
	jmp	.L46
.L48:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$119, %al
	je	.L49
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$87, %al
	jne	.L50
.L49:
	addl	$1, -4956(%rbp)
	jmp	.L46
.L50:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$120, %al
	je	.L51
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$88, %al
	jne	.L52
.L51:
	addl	$1, -4952(%rbp)
	jmp	.L46
.L52:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$121, %al
	je	.L53
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$89, %al
	jne	.L54
.L53:
	addl	$1, -4948(%rbp)
	jmp	.L46
.L54:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$122, %al
	je	.L55
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$90, %al
	jne	.L46
.L55:
	addl	$1, -4944(%rbp)
.L46:
	addl	$1, -4940(%rbp)
.L3:
	movl	-4940(%rbp), %eax
	cmpl	-4936(%rbp), %eax
	jl	.L56
.L2:
	leaq	-4928(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$-1, %eax
	jne	.L57
	movl	-5044(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5040(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5036(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5032(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5028(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5024(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC6(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5020(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC7(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5016(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC8(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5012(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC9(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5008(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC10(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5004(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC11(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5000(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC12(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4996(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC13(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4992(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC14(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4988(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC15(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4984(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC16(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4980(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC17(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4976(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC18(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4972(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC19(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4968(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC20(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4964(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC21(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4960(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC22(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4956(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC23(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4952(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC24(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4948(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC25(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4944(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC26(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L59
	call	__stack_chk_fail@PLT
.L59:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
user
	.file	"temp.c"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%s"
.LC1:
	.string	"a : %d\n"
.LC2:
	.string	"b : %d\n"
.LC3:
	.string	"c : %d\n"
.LC4:
	.string	"d : %d\n"
.LC5:
	.string	"e : %d\n"
.LC6:
	.string	"f : %d\n"
.LC7:
	.string	"g : %d\n"
.LC8:
	.string	"h : %d\n"
.LC9:
	.string	"i : %d\n"
.LC10:
	.string	"j : %d\n"
.LC11:
	.string	"k : %d\n"
.LC12:
	.string	"l : %d\n"
.LC13:
	.string	"m : %d\n"
.LC14:
	.string	"n : %d\n"
.LC15:
	.string	"o : %d\n"
.LC16:
	.string	"p : %d\n"
.LC17:
	.string	"q : %d\n"
.LC18:
	.string	"r : %d\n"
.LC19:
	.string	"s : %d\n"
.LC20:
	.string	"t : %d\n"
.LC21:
	.string	"u : %d\n"
.LC22:
	.string	"v : %d\n"
.LC23:
	.string	"w : %d\n"
.LC24:
	.string	"x : %d\n"
.LC25:
	.string	"y : %d\n"
.LC26:
	.string	"z : %d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB35:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$4096, %rsp
	.cfi_def_cfa_offset 4152
	orq	$0, (%rsp)
	subq	$952, %rsp
	.cfi_def_cfa_offset 5104
	xorl	%r14d, %r14d
	xorl	%r15d, %r15d
	xorl	%ebp, %ebp
	leaq	.L31(%rip), %rbx
	leaq	.L19(%rip), %r13
	leaq	.L8(%rip), %r12
	movq	%fs:40, %rax
	movq	%rax, 5032(%rsp)
	xorl	%eax, %eax
	movl	$0, 36(%rsp)
	leaq	112(%rsp), %rsi
	movl	$0, 32(%rsp)
	movl	$0, 28(%rsp)
	movl	$0, 24(%rsp)
	movl	$0, 20(%rsp)
	movl	$0, 100(%rsp)
	movl	$0, 104(%rsp)
	movl	$0, 108(%rsp)
	movl	$0, 88(%rsp)
	movl	$0, 84(%rsp)
	movl	$0, 80(%rsp)
	movl	$0, 76(%rsp)
	movl	$0, 96(%rsp)
	movl	$0, 92(%rsp)
	movl	$0, 72(%rsp)
	movl	$0, 40(%rsp)
	movl	$0, 52(%rsp)
	movl	$0, 48(%rsp)
	movl	$0, 44(%rsp)
	movl	$0, 64(%rsp)
	movl	$0, 60(%rsp)
	movl	$0, 68(%rsp)
	movl	$0, 56(%rsp)
	.p2align 4,,10
	.p2align 3
.L2:
	xorl	%eax, %eax
	leaq	.LC0(%rip), %rdi
	movq	%rsi, 8(%rsp)
	call	__isoc99_scanf@PLT
	movq	8(%rsp), %rsi
	cmpl	$-1, %eax
	je	.L46
	movq	%rsi, %rdi
	movq	%rsi, 8(%rsp)
	call	strlen@PLT
	movq	8(%rsp), %rsi
	testq	%rax, %rax
	je	.L2
	subl	$1, %eax
	movq	%rsi, %rdx
	leaq	113(%rsp,%rax), %r8
	movzbl	(%rdx), %eax
	movl	%eax, %ecx
	andl	$-33, %ecx
	cmpb	$65, %cl
	jne	.L4
	.p2align 4,,10
	.p2align 3
.L47:
	addl	$1, %ebp
.L5:
	leal	-75(%rax), %edi
	cmpb	$41, %dil
	ja	.L17
	movzbl	%dil, %edi
	movslq	0(%r13,%rdi,4), %rdi
	addq	%r13, %rdi
	notrack jmp	*%rdi
	.section	.rodata
	.align 4
	.align 4
.L19:
	.long	.L28-.L19
	.long	.L27-.L19
	.long	.L26-.L19
	.long	.L25-.L19
	.long	.L24-.L19
	.long	.L23-.L19
	.long	.L22-.L19
	.long	.L21-.L19
	.long	.L20-.L19
	.long	.L18-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L28-.L19
	.long	.L27-.L19
	.long	.L26-.L19
	.long	.L25-.L19
	.long	.L24-.L19
	.long	.L23-.L19
	.long	.L22-.L19
	.long	.L21-.L19
	.long	.L20-.L19
	.long	.L18-.L19
	.section	.text.startup
	.p2align 4,,10
	.p2align 3
.L28:
	addl	$1, 72(%rsp)
	.p2align 4,,10
	.p2align 3
.L17:
	cmpb	$85, %cl
	jne	.L16
	addl	$1, %r14d
.L29:
	addq	$1, %rdx
	cmpq	%r8, %rdx
	je	.L2
	movzbl	(%rdx), %eax
	movl	%eax, %ecx
	andl	$-33, %ecx
	cmpb	$65, %cl
	je	.L47
.L4:
	leal	-66(%rax), %edi
	cmpb	$39, %dil
	ja	.L6
	movzbl	%dil, %edi
	movslq	(%r12,%rdi,4), %rdi
	addq	%r12, %rdi
	notrack jmp	*%rdi
	.section	.rodata
	.align 4
	.align 4
.L8:
	.long	.L15-.L8
	.long	.L14-.L8
	.long	.L13-.L8
	.long	.L12-.L8
	.long	.L11-.L8
	.long	.L10-.L8
	.long	.L9-.L8
	.long	.L7-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L15-.L8
	.long	.L14-.L8
	.long	.L13-.L8
	.long	.L12-.L8
	.long	.L11-.L8
	.long	.L10-.L8
	.long	.L9-.L8
	.long	.L7-.L8
	.section	.text.startup
	.p2align 4,,10
	.p2align 3
.L18:
	addl	$1, 100(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L20:
	addl	$1, 104(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L21:
	addl	$1, 108(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L22:
	addl	$1, 88(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L23:
	addl	$1, 84(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L24:
	addl	$1, 80(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L25:
	addl	$1, 76(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L26:
	addl	$1, 96(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L27:
	addl	$1, 92(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L15:
	addl	$1, 56(%rsp)
	.p2align 4,,10
	.p2align 3
.L6:
	cmpb	$74, %cl
	jne	.L5
	addl	$1, %r15d
.L16:
	subl	$86, %eax
	cmpb	$36, %al
	ja	.L29
	movzbl	%al, %eax
	movslq	(%rbx,%rax,4), %rax
	addq	%rbx, %rax
	notrack jmp	*%rax
	.section	.rodata
	.align 4
	.align 4
.L31:
	.long	.L35-.L31
	.long	.L34-.L31
	.long	.L33-.L31
	.long	.L32-.L31
	.long	.L30-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L35-.L31
	.long	.L34-.L31
	.long	.L33-.L31
	.long	.L32-.L31
	.long	.L30-.L31
	.section	.text.startup
	.p2align 4,,10
	.p2align 3
.L30:
	addl	$1, 36(%rsp)
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L32:
	addl	$1, 32(%rsp)
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L33:
	addl	$1, 28(%rsp)
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L34:
	addl	$1, 24(%rsp)
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L35:
	addl	$1, 20(%rsp)
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L7:
	addl	$1, 40(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L9:
	addl	$1, 52(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L10:
	addl	$1, 48(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L11:
	addl	$1, 44(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L12:
	addl	$1, 64(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L13:
	addl	$1, 60(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L14:
	addl	$1, 68(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L46:
	movl	%ebp, %edx
	leaq	.LC1(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movl	56(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC2(%rip), %rsi
	call	__printf_chk@PLT
	movl	68(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC3(%rip), %rsi
	call	__printf_chk@PLT
	movl	60(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC4(%rip), %rsi
	call	__printf_chk@PLT
	movl	64(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC5(%rip), %rsi
	call	__printf_chk@PLT
	movl	44(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC6(%rip), %rsi
	call	__printf_chk@PLT
	movl	48(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC7(%rip), %rsi
	call	__printf_chk@PLT
	movl	52(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC8(%rip), %rsi
	call	__printf_chk@PLT
	movl	40(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC9(%rip), %rsi
	call	__printf_chk@PLT
	movl	%r15d, %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC10(%rip), %rsi
	call	__printf_chk@PLT
	movl	72(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC11(%rip), %rsi
	call	__printf_chk@PLT
	movl	92(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC12(%rip), %rsi
	call	__printf_chk@PLT
	movl	96(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC13(%rip), %rsi
	call	__printf_chk@PLT
	movl	76(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC14(%rip), %rsi
	call	__printf_chk@PLT
	movl	80(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC15(%rip), %rsi
	call	__printf_chk@PLT
	movl	84(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC16(%rip), %rsi
	call	__printf_chk@PLT
	movl	88(%rsp), %edx
	xorl	%eax, %eax
	movl	$1, %edi
	leaq	.LC17(%rip), %rsi
	call	__printf_chk@PLT
	movl	108(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC18(%rip), %rsi
	call	__printf_chk@PLT
	movl	104(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC19(%rip), %rsi
	call	__printf_chk@PLT
	movl	100(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC20(%rip), %rsi
	call	__printf_chk@PLT
	movl	%r14d, %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC21(%rip), %rsi
	call	__printf_chk@PLT
	movl	20(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC22(%rip), %rsi
	call	__printf_chk@PLT
	movl	24(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC23(%rip), %rsi
	call	__printf_chk@PLT
	movl	28(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC24(%rip), %rsi
	call	__printf_chk@PLT
	movl	32(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC25(%rip), %rsi
	call	__printf_chk@PLT
	movl	36(%rsp), %edx
	xorl	%eax, %eax
	movl	$1, %edi
	leaq	.LC26(%rip), %rsi
	call	__printf_chk@PLT
	movq	5032(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L48
	addq	$5048, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
.L48:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE35:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

rule
	.file	"temp.c"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%s"
.LC1:
	.string	"a : %d\n"
.LC2:
	.string	"b : %d\n"
.LC3:
	.string	"c : %d\n"
.LC4:
	.string	"d : %d\n"
.LC5:
	.string	"e : %d\n"
.LC6:
	.string	"f : %d\n"
.LC7:
	.string	"g : %d\n"
.LC8:
	.string	"h : %d\n"
.LC9:
	.string	"i : %d\n"
.LC10:
	.string	"j : %d\n"
.LC11:
	.string	"k : %d\n"
.LC12:
	.string	"l : %d\n"
.LC13:
	.string	"m : %d\n"
.LC14:
	.string	"n : %d\n"
.LC15:
	.string	"o : %d\n"
.LC16:
	.string	"p : %d\n"
.LC17:
	.string	"q : %d\n"
.LC18:
	.string	"r : %d\n"
.LC19:
	.string	"s : %d\n"
.LC20:
	.string	"t : %d\n"
.LC21:
	.string	"u : %d\n"
.LC22:
	.string	"v : %d\n"
.LC23:
	.string	"w : %d\n"
.LC24:
	.string	"x : %d\n"
.LC25:
	.string	"y : %d\n"
.LC26:
	.string	"z : %d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB35:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$4096, %rsp
	.cfi_def_cfa_offset 4152
	orq	$0, (%rsp)
	subq	$952, %rsp
	.cfi_def_cfa_offset 5104
	xorl	%r14d, %r14d
	xorl	%r15d, %r15d
	xorl	%ebp, %ebp
	leaq	.L31(%rip), %rbx
	leaq	.L19(%rip), %r13
	leaq	.L8(%rip), %r12
	movq	%fs:40, %rax
	movq	%rax, 5032(%rsp)
	xorl	%eax, %eax
	movl	$0, 36(%rsp)
	leaq	112(%rsp), %rsi
	movl	$0, 32(%rsp)
	movl	$0, 28(%rsp)
	movl	$0, 24(%rsp)
	movl	$0, 20(%rsp)
	movl	$0, 100(%rsp)
	movl	$0, 104(%rsp)
	movl	$0, 108(%rsp)
	movl	$0, 88(%rsp)
	movl	$0, 84(%rsp)
	movl	$0, 80(%rsp)
	movl	$0, 76(%rsp)
	movl	$0, 96(%rsp)
	movl	$0, 92(%rsp)
	movl	$0, 72(%rsp)
	movl	$0, 40(%rsp)
	movl	$0, 52(%rsp)
	movl	$0, 48(%rsp)
	movl	$0, 44(%rsp)
	movl	$0, 64(%rsp)
	movl	$0, 60(%rsp)
	movl	$0, 68(%rsp)
	movl	$0, 56(%rsp)
	.p2align 4,,10
	.p2align 3
.L2:
	xorl	%eax, %eax
	leaq	.LC0(%rip), %rdi
	movq	%rsi, 8(%rsp)
	call	__isoc99_scanf@PLT
	movq	8(%rsp), %rsi
	cmpl	$-1, %eax
	je	.L46
	movq	%rsi, %rdi
	movq	%rsi, 8(%rsp)
	call	strlen@PLT
	movq	8(%rsp), %rsi
	testq	%rax, %rax
	je	.L2
	subl	$1, %eax
	movq	%rsi, %rdx
	leaq	113(%rsp,%rax), %r8
	movzbl	(%rdx), %eax
	movl	%eax, %ecx
	andl	$-33, %ecx
	cmpb	$65, %cl
	jne	.L4
	.p2align 4,,10
	.p2align 3
.L47:
	addl	$1, %ebp
.L5:
	leal	-75(%rax), %edi
	cmpb	$41, %dil
	ja	.L17
	movzbl	%dil, %edi
	movslq	0(%r13,%rdi,4), %rdi
	addq	%r13, %rdi
	notrack jmp	*%rdi
	.section	.rodata
	.align 4
	.align 4
.L19:
	.long	.L28-.L19
	.long	.L27-.L19
	.long	.L26-.L19
	.long	.L25-.L19
	.long	.L24-.L19
	.long	.L23-.L19
	.long	.L22-.L19
	.long	.L21-.L19
	.long	.L20-.L19
	.long	.L18-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L28-.L19
	.long	.L27-.L19
	.long	.L26-.L19
	.long	.L25-.L19
	.long	.L24-.L19
	.long	.L23-.L19
	.long	.L22-.L19
	.long	.L21-.L19
	.long	.L20-.L19
	.long	.L18-.L19
	.section	.text.startup
	.p2align 4,,10
	.p2align 3
.L28:
	addl	$1, 72(%rsp)
	.p2align 4,,10
	.p2align 3
.L17:
	cmpb	$85, %cl
	jne	.L16
	addl	$1, %r14d
.L29:
	addq	$1, %rdx
	cmpq	%r8, %rdx
	je	.L2
	movzbl	(%rdx), %eax
	movl	%eax, %ecx
	andl	$-33, %ecx
	cmpb	$65, %cl
	je	.L47
.L4:
	leal	-66(%rax), %edi
	cmpb	$39, %dil
	ja	.L6
	movzbl	%dil, %edi
	movslq	(%r12,%rdi,4), %rdi
	addq	%r12, %rdi
	notrack jmp	*%rdi
	.section	.rodata
	.align 4
	.align 4
.L8:
	.long	.L15-.L8
	.long	.L14-.L8
	.long	.L13-.L8
	.long	.L12-.L8
	.long	.L11-.L8
	.long	.L10-.L8
	.long	.L9-.L8
	.long	.L7-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L6-.L8
	.long	.L15-.L8
	.long	.L14-.L8
	.long	.L13-.L8
	.long	.L12-.L8
	.long	.L11-.L8
	.long	.L10-.L8
	.long	.L9-.L8
	.long	.L7-.L8
	.section	.text.startup
	.p2align 4,,10
	.p2align 3
.L18:
	addl	$1, 100(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L20:
	addl	$1, 104(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L21:
	addl	$1, 108(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L22:
	addl	$1, 88(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L23:
	addl	$1, 84(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L24:
	addl	$1, 80(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L25:
	addl	$1, 76(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L26:
	addl	$1, 96(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L27:
	addl	$1, 92(%rsp)
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L15:
	addl	$1, 56(%rsp)
	.p2align 4,,10
	.p2align 3
.L6:
	cmpb	$74, %cl
	jne	.L5
	addl	$1, %r15d
.L16:
	subl	$86, %eax
	cmpb	$36, %al
	ja	.L29
	movzbl	%al, %eax
	movslq	(%rbx,%rax,4), %rax
	addq	%rbx, %rax
	notrack jmp	*%rax
	.section	.rodata
	.align 4
	.align 4
.L31:
	.long	.L35-.L31
	.long	.L34-.L31
	.long	.L33-.L31
	.long	.L32-.L31
	.long	.L30-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L29-.L31
	.long	.L35-.L31
	.long	.L34-.L31
	.long	.L33-.L31
	.long	.L32-.L31
	.long	.L30-.L31
	.section	.text.startup
	.p2align 4,,10
	.p2align 3
.L30:
	addl	$1, 36(%rsp)
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L32:
	addl	$1, 32(%rsp)
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L33:
	addl	$1, 28(%rsp)
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L34:
	addl	$1, 24(%rsp)
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L35:
	addl	$1, 20(%rsp)
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L7:
	addl	$1, 40(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L9:
	addl	$1, 52(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L10:
	addl	$1, 48(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L11:
	addl	$1, 44(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L12:
	addl	$1, 64(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L13:
	addl	$1, 60(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L14:
	addl	$1, 68(%rsp)
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L46:
	movl	%ebp, %edx
	leaq	.LC1(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movl	56(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC2(%rip), %rsi
	call	__printf_chk@PLT
	movl	68(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC3(%rip), %rsi
	call	__printf_chk@PLT
	movl	60(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC4(%rip), %rsi
	call	__printf_chk@PLT
	movl	64(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC5(%rip), %rsi
	call	__printf_chk@PLT
	movl	44(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC6(%rip), %rsi
	call	__printf_chk@PLT
	movl	48(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC7(%rip), %rsi
	call	__printf_chk@PLT
	movl	52(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC8(%rip), %rsi
	call	__printf_chk@PLT
	movl	40(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC9(%rip), %rsi
	call	__printf_chk@PLT
	movl	%r15d, %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC10(%rip), %rsi
	call	__printf_chk@PLT
	movl	72(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC11(%rip), %rsi
	call	__printf_chk@PLT
	movl	92(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC12(%rip), %rsi
	call	__printf_chk@PLT
	movl	96(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC13(%rip), %rsi
	call	__printf_chk@PLT
	movl	76(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC14(%rip), %rsi
	call	__printf_chk@PLT
	movl	80(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC15(%rip), %rsi
	call	__printf_chk@PLT
	movl	84(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC16(%rip), %rsi
	call	__printf_chk@PLT
	movl	88(%rsp), %edx
	xorl	%eax, %eax
	movl	$1, %edi
	leaq	.LC17(%rip), %rsi
	call	__printf_chk@PLT
	movl	108(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC18(%rip), %rsi
	call	__printf_chk@PLT
	movl	104(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC19(%rip), %rsi
	call	__printf_chk@PLT
	movl	100(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC20(%rip), %rsi
	call	__printf_chk@PLT
	movl	%r14d, %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC21(%rip), %rsi
	call	__printf_chk@PLT
	movl	20(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC22(%rip), %rsi
	call	__printf_chk@PLT
	movl	24(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC23(%rip), %rsi
	call	__printf_chk@PLT
	movl	28(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC24(%rip), %rsi
	call	__printf_chk@PLT
	movl	32(%rsp), %edx
	movl	$1, %edi
	xorl	%eax, %eax
	leaq	.LC25(%rip), %rsi
	call	__printf_chk@PLT
	movl	36(%rsp), %edx
	xorl	%eax, %eax
	movl	$1, %edi
	leaq	.LC26(%rip), %rsi
	call	__printf_chk@PLT
	movq	5032(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L48
	addq	$5048, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
.L48:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE35:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

#include<stdio.h>
#include<string.h>

int main(void){
char s[4906];
char p[1] = ".";
int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,si=0,j=0,k=0,l=0,m=0,n=0,o=0,cp=0,q=0,r=0,cs=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;
int len;


   while(scanf("%s",s) != EOF){
  len = strlen(s);
  for(int i = 0; i < len;i++) {
    if(s[i] == 'a'||s[i] == 'A'){
    a++;
    }
    else if(s[i] == 'b'||s[i] == 'B'){
    b++;
    }
    else if(s[i] == 'c'||s[i] == 'C'){
    c++;
    }
    else if(s[i] == 'd'||s[i] == 'D'){
    d++;
    }
    else if(s[i] == 'e'||s[i] == 'E'){
    e++;
    }
    else if(s[i] == 'f'||s[i] == 'F'){
    f++;
    }
    else if(s[i] == 'g'||s[i] == 'G'){
    g++;
    }
    else if(s[i] == 'h'||s[i] == 'H'){
    h++;
    }
    else if(s[i] == 'i'||s[i] == 'I'){
    si++;
    }
    if(s[i] == 'j'||s[i] == 'J'){
    j++;
    }
    else if(s[i] == 'k'||s[i] == 'K'){
    k++;
    }
    else if(s[i] == 'l'||s[i] == 'L'){
    l++;
    }
    else if(s[i] == 'm'||s[i] == 'M'){
    m++;
    }
    else if(s[i] == 'n'||s[i] == 'N'){
    n++;
    }
    else if(s[i] == 'o'||s[i] == 'O'){
    o++;
    }
    else if(s[i] == 'p'||s[i] == 'P'){
    cp++;
    }
    else if(s[i] == 'q'||s[i] == 'Q'){
    q++;
    }
    else if(s[i] == 'r'||s[i] == 'R'){
    r++;
    }
    else if(s[i] == 's'||s[i] == 'S'){
    cs++;
    }
    else if(s[i] == 't'||s[i] == 'T'){
    t++;
    }
    if(s[i] == 'u'||s[i] == 'U'){
    u++;
    }
    else if(s[i] == 'v'||s[i] == 'V'){
    v++;
    }
    else if(s[i] == 'w'||s[i] == 'W'){
    w++;
    }
    else if(s[i] == 'x'||s[i] == 'X'){
    x++;
    }
    else if(s[i] == 'y'||s[i] == 'Y'){
    y++;
    }
    else if(s[i] == 'z'||s[i] == 'Z'){
    z++;
    }
   
}
}

printf("a : %d\n",a);
printf("b : %d\n",b);
printf("c : %d\n",c);
printf("d : %d\n",d);
printf("e : %d\n",e);
printf("f : %d\n",f);
printf("g : %d\n",g);
printf("h : %d\n",h);
printf("i : %d\n",si);
printf("j : %d\n",j);
printf("k : %d\n",k);
printf("l : %d\n",l);
printf("m : %d\n",m);
printf("n : %d\n",n);
printf("o : %d\n",o);
printf("p : %d\n",cp);
printf("q : %d\n",q);
printf("r : %d\n",r);
printf("s : %d\n",cs);
printf("t : %d\n",t);
printf("u : %d\n",u);
printf("v : %d\n",v);
printf("w : %d\n",w);
printf("x : %d\n",x);
printf("y : %d\n",y);
printf("z : %d\n",z);

return 0;
}


This is ` pen.
 This si a pen.
 hTit si a pen.
 hTis ir a pen.
 hTis ri a pdn.
 hTis ri a odn.
 hTis ri a odo.
 hsiT rh a od.o
 Tsih is a od-o
 Tsih is ` od-o

a : 0
b : 0
c : 0
d : 0
e : 1
f : 0
g : 0
h : 1
i : 2
j : 0
k : 0
l : 0
m : 0
n : 1
o : 0
p : 1
q : 0
r : 0
s : 2
t : 1
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0
 a : 1
b : 0
c : 0
d : 0
e : 1
f : 0
g : 0
h : 1
i : 2
j : 0
k : 0
l : 0
m : 0
n : 1
o : 0
p : 1
q : 0
r : 0
s : 2
t : 1
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0
 a : 1
b : 0
c : 0
d : 0
e : 1
f : 0
g : 0
h : 1
i : 2
j : 0
k : 0
l : 0
m : 0
n : 1
o : 0
p : 1
q : 0
r : 0
s : 1
t : 2
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0
 a : 1
b : 0
c : 0
d : 0
e : 1
f : 0
g : 0
h : 1
i : 2
j : 0
k : 0
l : 0
m : 0
n : 1
o : 0
p : 1
q : 0
r : 1
s : 1
t : 1
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0
 a : 1
b : 0
c : 0
d : 1
e : 0
f : 0
g : 0
h : 1
i : 2
j : 0
k : 0
l : 0
m : 0
n : 1
o : 0
p : 1
q : 0
r : 1
s : 1
t : 1
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0
 a : 1
b : 0
c : 0
d : 1
e : 0
f : 0
g : 0
h : 1
i : 2
j : 0
k : 0
l : 0
m : 0
n : 1
o : 1
p : 0
q : 0
r : 1
s : 1
t : 1
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0
 a : 1
b : 0
c : 0
d : 1
e : 0
f : 0
g : 0
h : 1
i : 2
j : 0
k : 0
l : 0
m : 0
n : 0
o : 2
p : 0
q : 0
r : 1
s : 1
t : 1
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0
 a : 1
b : 0
c : 0
d : 1
e : 0
f : 0
g : 0
h : 2
i : 1
j : 0
k : 0
l : 0
m : 0
n : 0
o : 2
p : 0
q : 0
r : 1
s : 1
t : 1
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0
 a : 1
b : 0
c : 0
d : 1
e : 0
f : 0
g : 0
h : 1
i : 2
j : 0
k : 0
l : 0
m : 0
n : 0
o : 2
p : 0
q : 0
r : 0
s : 2
t : 1
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0
 a : 0
b : 0
c : 0
d : 1
e : 0
f : 0
g : 0
h : 1
i : 2
j : 0
k : 0
l : 0
m : 0
n : 0
o : 2
p : 0
q : 0
r : 0
s : 2
t : 1
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0

Given the following C code and unoptimized assembly code, your task is to generate highly optimized x86-64 assembly code.
C Code:

```c
#include<stdio.h>
#include<string.h>

int main(void){
char s[4906];
char p[1] = ".";
int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,si=0,j=0,k=0,l=0,m=0,n=0,o=0,cp=0,q=0,r=0,cs=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;
int len;


   while(scanf("%s",s) != EOF){
  len = strlen(s);
  for(int i = 0; i < len;i++) {
    if(s[i] == 'a'||s[i] == 'A'){
    a++;
    }
    else if(s[i] == 'b'||s[i] == 'B'){
    b++;
    }
    else if(s[i] == 'c'||s[i] == 'C'){
    c++;
    }
    else if(s[i] == 'd'||s[i] == 'D'){
    d++;
    }
    else if(s[i] == 'e'||s[i] == 'E'){
    e++;
    }
    else if(s[i] == 'f'||s[i] == 'F'){
    f++;
    }
    else if(s[i] == 'g'||s[i] == 'G'){
    g++;
    }
    else if(s[i] == 'h'||s[i] == 'H'){
    h++;
    }
    else if(s[i] == 'i'||s[i] == 'I'){
    si++;
    }
    if(s[i] == 'j'||s[i] == 'J'){
    j++;
    }
    else if(s[i] == 'k'||s[i] == 'K'){
    k++;
    }
    else if(s[i] == 'l'||s[i] == 'L'){
    l++;
    }
    else if(s[i] == 'm'||s[i] == 'M'){
    m++;
    }
    else if(s[i] == 'n'||s[i] == 'N'){
    n++;
    }
    else if(s[i] == 'o'||s[i] == 'O'){
    o++;
    }
    else if(s[i] == 'p'||s[i] == 'P'){
    cp++;
    }
    else if(s[i] == 'q'||s[i] == 'Q'){
    q++;
    }
    else if(s[i] == 'r'||s[i] == 'R'){
    r++;
    }
    else if(s[i] == 's'||s[i] == 'S'){
    cs++;
    }
    else if(s[i] == 't'||s[i] == 'T'){
    t++;
    }
    if(s[i] == 'u'||s[i] == 'U'){
    u++;
    }
    else if(s[i] == 'v'||s[i] == 'V'){
    v++;
    }
    else if(s[i] == 'w'||s[i] == 'W'){
    w++;
    }
    else if(s[i] == 'x'||s[i] == 'X'){
    x++;
    }
    else if(s[i] == 'y'||s[i] == 'Y'){
    y++;
    }
    else if(s[i] == 'z'||s[i] == 'Z'){
    z++;
    }
   
}
}

printf("a : %d\n",a);
printf("b : %d\n",b);
printf("c : %d\n",c);
printf("d : %d\n",d);
printf("e : %d\n",e);
printf("f : %d\n",f);
printf("g : %d\n",g);
printf("h : %d\n",h);
printf("i : %d\n",si);
printf("j : %d\n",j);
printf("k : %d\n",k);
printf("l : %d\n",l);
printf("m : %d\n",m);
printf("n : %d\n",n);
printf("o : %d\n",o);
printf("p : %d\n",cp);
printf("q : %d\n",q);
printf("r : %d\n",r);
printf("s : %d\n",cs);
printf("t : %d\n",t);
printf("u : %d\n",u);
printf("v : %d\n",v);
printf("w : %d\n",w);
printf("x : %d\n",x);
printf("y : %d\n",y);
printf("z : %d\n",z);

return 0;
}

```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.section	.rodata
.LC0:
	.string	"%s"
.LC1:
	.string	"a : %d\n"
.LC2:
	.string	"b : %d\n"
.LC3:
	.string	"c : %d\n"
.LC4:
	.string	"d : %d\n"
.LC5:
	.string	"e : %d\n"
.LC6:
	.string	"f : %d\n"
.LC7:
	.string	"g : %d\n"
.LC8:
	.string	"h : %d\n"
.LC9:
	.string	"i : %d\n"
.LC10:
	.string	"j : %d\n"
.LC11:
	.string	"k : %d\n"
.LC12:
	.string	"l : %d\n"
.LC13:
	.string	"m : %d\n"
.LC14:
	.string	"n : %d\n"
.LC15:
	.string	"o : %d\n"
.LC16:
	.string	"p : %d\n"
.LC17:
	.string	"q : %d\n"
.LC18:
	.string	"r : %d\n"
.LC19:
	.string	"s : %d\n"
.LC20:
	.string	"t : %d\n"
.LC21:
	.string	"u : %d\n"
.LC22:
	.string	"v : %d\n"
.LC23:
	.string	"w : %d\n"
.LC24:
	.string	"x : %d\n"
.LC25:
	.string	"y : %d\n"
.LC26:
	.string	"z : %d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$4096, %rsp
	orq	$0, (%rsp)
	subq	$960, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movb	$46, -4929(%rbp)
	movl	$0, -5044(%rbp)
	movl	$0, -5040(%rbp)
	movl	$0, -5036(%rbp)
	movl	$0, -5032(%rbp)
	movl	$0, -5028(%rbp)
	movl	$0, -5024(%rbp)
	movl	$0, -5020(%rbp)
	movl	$0, -5016(%rbp)
	movl	$0, -5012(%rbp)
	movl	$0, -5008(%rbp)
	movl	$0, -5004(%rbp)
	movl	$0, -5000(%rbp)
	movl	$0, -4996(%rbp)
	movl	$0, -4992(%rbp)
	movl	$0, -4988(%rbp)
	movl	$0, -4984(%rbp)
	movl	$0, -4980(%rbp)
	movl	$0, -4976(%rbp)
	movl	$0, -4972(%rbp)
	movl	$0, -4968(%rbp)
	movl	$0, -4964(%rbp)
	movl	$0, -4960(%rbp)
	movl	$0, -4956(%rbp)
	movl	$0, -4952(%rbp)
	movl	$0, -4948(%rbp)
	movl	$0, -4944(%rbp)
	jmp	.L2
.L57:
	leaq	-4928(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, -4936(%rbp)
	movl	$0, -4940(%rbp)
	jmp	.L3
.L56:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$97, %al
	je	.L4
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$65, %al
	jne	.L5
.L4:
	addl	$1, -5044(%rbp)
	jmp	.L6
.L5:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$98, %al
	je	.L7
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$66, %al
	jne	.L8
.L7:
	addl	$1, -5040(%rbp)
	jmp	.L6
.L8:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$99, %al
	je	.L9
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$67, %al
	jne	.L10
.L9:
	addl	$1, -5036(%rbp)
	jmp	.L6
.L10:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$100, %al
	je	.L11
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$68, %al
	jne	.L12
.L11:
	addl	$1, -5032(%rbp)
	jmp	.L6
.L12:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$101, %al
	je	.L13
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$69, %al
	jne	.L14
.L13:
	addl	$1, -5028(%rbp)
	jmp	.L6
.L14:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$102, %al
	je	.L15
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$70, %al
	jne	.L16
.L15:
	addl	$1, -5024(%rbp)
	jmp	.L6
.L16:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$103, %al
	je	.L17
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$71, %al
	jne	.L18
.L17:
	addl	$1, -5020(%rbp)
	jmp	.L6
.L18:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$104, %al
	je	.L19
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$72, %al
	jne	.L20
.L19:
	addl	$1, -5016(%rbp)
	jmp	.L6
.L20:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$105, %al
	je	.L21
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$73, %al
	jne	.L6
.L21:
	addl	$1, -5012(%rbp)
.L6:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$106, %al
	je	.L22
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$74, %al
	jne	.L23
.L22:
	addl	$1, -5008(%rbp)
	jmp	.L24
.L23:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$107, %al
	je	.L25
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$75, %al
	jne	.L26
.L25:
	addl	$1, -5004(%rbp)
	jmp	.L24
.L26:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$108, %al
	je	.L27
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$76, %al
	jne	.L28
.L27:
	addl	$1, -5000(%rbp)
	jmp	.L24
.L28:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$109, %al
	je	.L29
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$77, %al
	jne	.L30
.L29:
	addl	$1, -4996(%rbp)
	jmp	.L24
.L30:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$110, %al
	je	.L31
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$78, %al
	jne	.L32
.L31:
	addl	$1, -4992(%rbp)
	jmp	.L24
.L32:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$111, %al
	je	.L33
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$79, %al
	jne	.L34
.L33:
	addl	$1, -4988(%rbp)
	jmp	.L24
.L34:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$112, %al
	je	.L35
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$80, %al
	jne	.L36
.L35:
	addl	$1, -4984(%rbp)
	jmp	.L24
.L36:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$113, %al
	je	.L37
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$81, %al
	jne	.L38
.L37:
	addl	$1, -4980(%rbp)
	jmp	.L24
.L38:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$114, %al
	je	.L39
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$82, %al
	jne	.L40
.L39:
	addl	$1, -4976(%rbp)
	jmp	.L24
.L40:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$115, %al
	je	.L41
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$83, %al
	jne	.L42
.L41:
	addl	$1, -4972(%rbp)
	jmp	.L24
.L42:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$116, %al
	je	.L43
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$84, %al
	jne	.L24
.L43:
	addl	$1, -4968(%rbp)
.L24:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$117, %al
	je	.L44
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$85, %al
	jne	.L45
.L44:
	addl	$1, -4964(%rbp)
	jmp	.L46
.L45:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$118, %al
	je	.L47
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$86, %al
	jne	.L48
.L47:
	addl	$1, -4960(%rbp)
	jmp	.L46
.L48:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$119, %al
	je	.L49
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$87, %al
	jne	.L50
.L49:
	addl	$1, -4956(%rbp)
	jmp	.L46
.L50:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$120, %al
	je	.L51
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$88, %al
	jne	.L52
.L51:
	addl	$1, -4952(%rbp)
	jmp	.L46
.L52:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$121, %al
	je	.L53
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$89, %al
	jne	.L54
.L53:
	addl	$1, -4948(%rbp)
	jmp	.L46
.L54:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$122, %al
	je	.L55
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$90, %al
	jne	.L46
.L55:
	addl	$1, -4944(%rbp)
.L46:
	addl	$1, -4940(%rbp)
.L3:
	movl	-4940(%rbp), %eax
	cmpl	-4936(%rbp), %eax
	jl	.L56
.L2:
	leaq	-4928(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$-1, %eax
	jne	.L57
	movl	-5044(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5040(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5036(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5032(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5028(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5024(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC6(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5020(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC7(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5016(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC8(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5012(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC9(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5008(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC10(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5004(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC11(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5000(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC12(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4996(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC13(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4992(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC14(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4988(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC15(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4984(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC16(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4980(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC17(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4976(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC18(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4972(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC19(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4968(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC20(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4964(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC21(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4960(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC22(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4956(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC23(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4952(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC24(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4948(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC25(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4944(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC26(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L59
	call	__stack_chk_fail@PLT
.L59:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
train
	.file	"temp.c"
	.text
	.section	.rodata
.LC0:
	.string	"%s"
.LC1:
	.string	"a : %d\n"
.LC2:
	.string	"b : %d\n"
.LC3:
	.string	"c : %d\n"
.LC4:
	.string	"d : %d\n"
.LC5:
	.string	"e : %d\n"
.LC6:
	.string	"f : %d\n"
.LC7:
	.string	"g : %d\n"
.LC8:
	.string	"h : %d\n"
.LC9:
	.string	"i : %d\n"
.LC10:
	.string	"j : %d\n"
.LC11:
	.string	"k : %d\n"
.LC12:
	.string	"l : %d\n"
.LC13:
	.string	"m : %d\n"
.LC14:
	.string	"n : %d\n"
.LC15:
	.string	"o : %d\n"
.LC16:
	.string	"p : %d\n"
.LC17:
	.string	"q : %d\n"
.LC18:
	.string	"r : %d\n"
.LC19:
	.string	"s : %d\n"
.LC20:
	.string	"t : %d\n"
.LC21:
	.string	"u : %d\n"
.LC22:
	.string	"v : %d\n"
.LC23:
	.string	"w : %d\n"
.LC24:
	.string	"x : %d\n"
.LC25:
	.string	"y : %d\n"
.LC26:
	.string	"z : %d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$4096, %rsp
	orq	$0, (%rsp)
	subq	$960, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movb	$46, -4929(%rbp)
	movl	$0, -5044(%rbp)
	movl	$0, -5040(%rbp)
	movl	$0, -5036(%rbp)
	movl	$0, -5032(%rbp)
	movl	$0, -5028(%rbp)
	movl	$0, -5024(%rbp)
	movl	$0, -5020(%rbp)
	movl	$0, -5016(%rbp)
	movl	$0, -5012(%rbp)
	movl	$0, -5008(%rbp)
	movl	$0, -5004(%rbp)
	movl	$0, -5000(%rbp)
	movl	$0, -4996(%rbp)
	movl	$0, -4992(%rbp)
	movl	$0, -4988(%rbp)
	movl	$0, -4984(%rbp)
	movl	$0, -4980(%rbp)
	movl	$0, -4976(%rbp)
	movl	$0, -4972(%rbp)
	movl	$0, -4968(%rbp)
	movl	$0, -4964(%rbp)
	movl	$0, -4960(%rbp)
	movl	$0, -4956(%rbp)
	movl	$0, -4952(%rbp)
	movl	$0, -4948(%rbp)
	movl	$0, -4944(%rbp)
	jmp	.L2
.L57:
	leaq	-4928(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, -4936(%rbp)
	movl	$0, -4940(%rbp)
	jmp	.L3
.L56:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$97, %al
	je	.L4
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$65, %al
	jne	.L5
.L4:
	addl	$1, -5044(%rbp)
	jmp	.L6
.L5:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$98, %al
	je	.L7
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$66, %al
	jne	.L8
.L7:
	addl	$1, -5040(%rbp)
	jmp	.L6
.L8:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$99, %al
	je	.L9
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$67, %al
	jne	.L10
.L9:
	addl	$1, -5036(%rbp)
	jmp	.L6
.L10:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$100, %al
	je	.L11
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$68, %al
	jne	.L12
.L11:
	addl	$1, -5032(%rbp)
	jmp	.L6
.L12:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$101, %al
	je	.L13
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$69, %al
	jne	.L14
.L13:
	addl	$1, -5028(%rbp)
	jmp	.L6
.L14:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$102, %al
	je	.L15
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$70, %al
	jne	.L16
.L15:
	addl	$1, -5024(%rbp)
	jmp	.L6
.L16:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$103, %al
	je	.L17
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$71, %al
	jne	.L18
.L17:
	addl	$1, -5020(%rbp)
	jmp	.L6
.L18:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$104, %al
	je	.L19
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$72, %al
	jne	.L20
.L19:
	addl	$1, -5016(%rbp)
	jmp	.L6
.L20:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$105, %al
	je	.L21
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$73, %al
	jne	.L6
.L21:
	addl	$1, -5012(%rbp)
.L6:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$106, %al
	je	.L22
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$74, %al
	jne	.L23
.L22:
	addl	$1, -5008(%rbp)
	jmp	.L24
.L23:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$107, %al
	je	.L25
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$75, %al
	jne	.L26
.L25:
	addl	$1, -5004(%rbp)
	jmp	.L24
.L26:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$108, %al
	je	.L27
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$76, %al
	jne	.L28
.L27:
	addl	$1, -5000(%rbp)
	jmp	.L24
.L28:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$109, %al
	je	.L29
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$77, %al
	jne	.L30
.L29:
	addl	$1, -4996(%rbp)
	jmp	.L24
.L30:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$110, %al
	je	.L31
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$78, %al
	jne	.L32
.L31:
	addl	$1, -4992(%rbp)
	jmp	.L24
.L32:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$111, %al
	je	.L33
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$79, %al
	jne	.L34
.L33:
	addl	$1, -4988(%rbp)
	jmp	.L24
.L34:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$112, %al
	je	.L35
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$80, %al
	jne	.L36
.L35:
	addl	$1, -4984(%rbp)
	jmp	.L24
.L36:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$113, %al
	je	.L37
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$81, %al
	jne	.L38
.L37:
	addl	$1, -4980(%rbp)
	jmp	.L24
.L38:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$114, %al
	je	.L39
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$82, %al
	jne	.L40
.L39:
	addl	$1, -4976(%rbp)
	jmp	.L24
.L40:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$115, %al
	je	.L41
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$83, %al
	jne	.L42
.L41:
	addl	$1, -4972(%rbp)
	jmp	.L24
.L42:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$116, %al
	je	.L43
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$84, %al
	jne	.L24
.L43:
	addl	$1, -4968(%rbp)
.L24:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$117, %al
	je	.L44
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$85, %al
	jne	.L45
.L44:
	addl	$1, -4964(%rbp)
	jmp	.L46
.L45:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$118, %al
	je	.L47
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$86, %al
	jne	.L48
.L47:
	addl	$1, -4960(%rbp)
	jmp	.L46
.L48:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$119, %al
	je	.L49
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$87, %al
	jne	.L50
.L49:
	addl	$1, -4956(%rbp)
	jmp	.L46
.L50:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$120, %al
	je	.L51
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$88, %al
	jne	.L52
.L51:
	addl	$1, -4952(%rbp)
	jmp	.L46
.L52:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$121, %al
	je	.L53
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$89, %al
	jne	.L54
.L53:
	addl	$1, -4948(%rbp)
	jmp	.L46
.L54:
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$122, %al
	je	.L55
	movl	-4940(%rbp), %eax
	cltq
	movzbl	-4928(%rbp,%rax), %eax
	cmpb	$90, %al
	jne	.L46
.L55:
	addl	$1, -4944(%rbp)
.L46:
	addl	$1, -4940(%rbp)
.L3:
	movl	-4940(%rbp), %eax
	cmpl	-4936(%rbp), %eax
	jl	.L56
.L2:
	leaq	-4928(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$-1, %eax
	jne	.L57
	movl	-5044(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5040(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5036(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5032(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5028(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5024(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC6(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5020(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC7(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5016(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC8(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5012(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC9(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5008(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC10(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5004(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC11(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-5000(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC12(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4996(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC13(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4992(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC14(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4988(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC15(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4984(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC16(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4980(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC17(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4976(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC18(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4972(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC19(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4968(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC20(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4964(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC21(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4960(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC22(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4956(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC23(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4952(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC24(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4948(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC25(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-4944(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC26(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L59
	call	__stack_chk_fail@PLT
.L59:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
