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

```c
/*
AizuOnline A1227
Title 77377
*/
#include <stdio.h>
// Select Below
//#include <stdlib.h>
#include <string.h>
//#include <float.h>
//#include <math.h>
//#include <limits.h>
//Global data section
int n;
char dict[100][51];
char seq[301];
char result[301];
int  rlen;
int  inputlen;
//
char alpha2num(char a)
{
        if(a < 'p')
                return('2'+(a-'a')/3);
        if(a < 't')
                return('7');
        if(a < 'w')
                return('8');
        else if(a <= 'z')
                return('9');
        else
                return('0');
}
int strncmp_keitai(char *wd,char *sq,int c)
{
        int i;
        for(i=0;i<c;i++)
                if(!sq[i] || alpha2num(wd[i])!=sq[i])
                        return(-1);
        return(0);  //matched
}
void print_conv(char * s)
{
        int i,j,len,sp;
        char d2[52];

        if(!s[0])
        {    
                for(i=0;i<rlen;i++)
                        printf("%c",result[i]);
                printf(".\n");
                return;
        }
        for(i=0;i<n;i++)
        {
                len=strlen(&dict[i][0]);
                if(0==strncmp_keitai(&dict[i][0],s,len))
                {
                        if(s==seq)
                        {        strcpy(d2,&dict[i][0]);
                                
                        }
                        else
                        {
                                d2[0]=' ';d2[1]='\0';
                                strcat(d2,&dict[i][0]);
                                
                        }
                        
                        for(j=0;j<strlen(d2);j++)
                                result[rlen+j]=d2[j];
                        rlen += strlen(d2);
                        print_conv(s+len);
                        rlen -= strlen(d2);
                }     
        }
}
print_seq()
{
        printf("SEQ:%s\n",seq);
}
print_dict()
{
        int i;
        for(i=0;i<n;i++)
                printf("%d:%s\n",i,&dict[i][0]);
}
main()
{
        int i;

        while(EOF!=scanf("%d",&n) && n)
        {
                for(i=0;i<n;i++)
                        scanf("%s\n",&dict[i][0]);
                scanf("%s\n",seq);
                inputlen=strlen(seq);
                rlen=0;
                //print_seq();
                //print_dict();
                print_conv(seq);
                printf("--\n");
        }
return(0);
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	n
	.bss
	.align 4
	.type	n, @object
	.size	n, 4
n:
	.zero	4
	.globl	dict
	.align 32
	.type	dict, @object
	.size	dict, 5100
dict:
	.zero	5100
	.globl	seq
	.align 32
	.type	seq, @object
	.size	seq, 301
seq:
	.zero	301
	.globl	result
	.align 32
	.type	result, @object
	.size	result, 301
result:
	.zero	301
	.globl	rlen
	.align 4
	.type	rlen, @object
	.size	rlen, 4
rlen:
	.zero	4
	.globl	inputlen
	.align 4
	.type	inputlen, @object
	.size	inputlen, 4
inputlen:
	.zero	4
	.text
	.globl	alpha2num
	.type	alpha2num, @function
alpha2num:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, %eax
	movb	%al, -4(%rbp)
	cmpb	$111, -4(%rbp)
	jg	.L2
	movsbl	-4(%rbp), %eax
	subl	$97, %eax
	movslq	%eax, %rdx
	imulq	$1431655766, %rdx, %rdx
	shrq	$32, %rdx
	sarl	$31, %eax
	movl	%eax, %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	addl	$50, %eax
	jmp	.L3
.L2:
	cmpb	$115, -4(%rbp)
	jg	.L4
	movl	$55, %eax
	jmp	.L3
.L4:
	cmpb	$118, -4(%rbp)
	jg	.L5
	movl	$56, %eax
	jmp	.L3
.L5:
	cmpb	$122, -4(%rbp)
	jg	.L6
	movl	$57, %eax
	jmp	.L3
.L6:
	movl	$48, %eax
.L3:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	alpha2num, .-alpha2num
	.globl	strncmp_keitai
	.type	strncmp_keitai, @function
strncmp_keitai:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$40, %rsp
	movq	%rdi, -24(%rbp)
	movq	%rsi, -32(%rbp)
	movl	%edx, -36(%rbp)
	movl	$0, -4(%rbp)
	jmp	.L8
.L12:
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	-32(%rbp), %rax
	addq	%rdx, %rax
	movzbl	(%rax), %eax
	testb	%al, %al
	je	.L9
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movzbl	(%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	alpha2num
	movl	-4(%rbp), %edx
	movslq	%edx, %rcx
	movq	-32(%rbp), %rdx
	addq	%rcx, %rdx
	movzbl	(%rdx), %edx
	cmpb	%dl, %al
	je	.L10
.L9:
	movl	$-1, %eax
	jmp	.L11
.L10:
	addl	$1, -4(%rbp)
.L8:
	movl	-4(%rbp), %eax
	cmpl	-36(%rbp), %eax
	jl	.L12
	movl	$0, %eax
.L11:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	strncmp_keitai, .-strncmp_keitai
	.section	.rodata
.LC0:
	.string	"."
	.text
	.globl	print_conv
	.type	print_conv, @function
print_conv:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	subq	$104, %rsp
	.cfi_offset 3, -24
	movq	%rdi, -104(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -24(%rbp)
	xorl	%eax, %eax
	movq	-104(%rbp), %rax
	movzbl	(%rax), %eax
	testb	%al, %al
	jne	.L14
	movl	$0, -92(%rbp)
	jmp	.L15
.L16:
	movl	-92(%rbp), %eax
	cltq
	leaq	result(%rip), %rdx
	movzbl	(%rax,%rdx), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	putchar@PLT
	addl	$1, -92(%rbp)
.L15:
	movl	rlen(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L16
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	jmp	.L13
.L14:
	movl	$0, -92(%rbp)
	jmp	.L18
.L24:
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rdx, %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, -84(%rbp)
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	leaq	(%rax,%rdx), %rcx
	movl	-84(%rbp), %edx
	movq	-104(%rbp), %rax
	movq	%rax, %rsi
	movq	%rcx, %rdi
	call	strncmp_keitai
	testl	%eax, %eax
	jne	.L19
	leaq	seq(%rip), %rax
	cmpq	%rax, -104(%rbp)
	jne	.L20
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rax, %rdx
	leaq	-80(%rbp), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcpy@PLT
	jmp	.L21
.L20:
	movb	$32, -80(%rbp)
	movb	$0, -79(%rbp)
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rax, %rdx
	leaq	-80(%rbp), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcat@PLT
.L21:
	movl	$0, -88(%rbp)
	jmp	.L22
.L23:
	movl	rlen(%rip), %edx
	movl	-88(%rbp), %eax
	leal	(%rdx,%rax), %ecx
	movl	-88(%rbp), %eax
	cltq
	movzbl	-80(%rbp,%rax), %edx
	movslq	%ecx, %rax
	leaq	result(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -88(%rbp)
.L22:
	movl	-88(%rbp), %eax
	movslq	%eax, %rbx
	leaq	-80(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	cmpq	%rax, %rbx
	jb	.L23
	leaq	-80(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, %edx
	movl	rlen(%rip), %eax
	addl	%edx, %eax
	movl	%eax, rlen(%rip)
	movl	-84(%rbp), %eax
	movslq	%eax, %rdx
	movq	-104(%rbp), %rax
	addq	%rdx, %rax
	movq	%rax, %rdi
	call	print_conv
	movl	rlen(%rip), %eax
	movl	%eax, %ebx
	leaq	-80(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, %edx
	movl	%ebx, %eax
	subl	%edx, %eax
	movl	%eax, rlen(%rip)
.L19:
	addl	$1, -92(%rbp)
.L18:
	movl	n(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L24
.L13:
	movq	-24(%rbp), %rax
	subq	%fs:40, %rax
	je	.L25
	call	__stack_chk_fail@PLT
.L25:
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	print_conv, .-print_conv
	.section	.rodata
.LC1:
	.string	"SEQ:%s\n"
	.text
	.globl	print_seq
	.type	print_seq, @function
print_seq:
.LFB3:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	leaq	seq(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	nop
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	print_seq, .-print_seq
	.section	.rodata
.LC2:
	.string	"%d:%s\n"
	.text
	.globl	print_dict
	.type	print_dict, @function
print_dict:
.LFB4:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movl	$0, -4(%rbp)
	jmp	.L28
.L29:
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rax, %rdx
	movl	-4(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -4(%rbp)
.L28:
	movl	n(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jl	.L29
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	print_dict, .-print_dict
	.section	.rodata
.LC3:
	.string	"%s\n"
.LC4:
	.string	"--"
.LC5:
	.string	"%d"
	.text
	.globl	main
	.type	main, @function
main:
.LFB5:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	jmp	.L31
.L35:
	movl	$0, -4(%rbp)
	jmp	.L32
.L33:
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -4(%rbp)
.L32:
	movl	n(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jl	.L33
	leaq	seq(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	leaq	seq(%rip), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, inputlen(%rip)
	movl	$0, rlen(%rip)
	leaq	seq(%rip), %rax
	movq	%rax, %rdi
	call	print_conv
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
.L31:
	leaq	n(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$-1, %eax
	je	.L34
	movl	n(%rip), %eax
	testl	%eax, %eax
	jne	.L35
.L34:
	movl	$0, %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.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	"."
	.text
	.p2align 4
	.type	print_conv.part.0, @function
print_conv.part.0:
.LFB42:
	.cfi_startproc
	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	$88, %rsp
	.cfi_def_cfa_offset 144
	movl	n(%rip), %ebp
	movq	%fs:40, %rax
	movq	%rax, 72(%rsp)
	xorl	%eax, %eax
	movl	$0, 8(%rsp)
	testl	%ebp, %ebp
	jle	.L1
	movq	%rdi, %r13
	leaq	dict(%rip), %r14
.L15:
	movq	%r14, %rdi
	call	strlen@PLT
	movq	%rax, %r12
	testl	%eax, %eax
	je	.L3
	xorl	%edx, %edx
	jmp	.L7
	.p2align 4,,10
	.p2align 3
.L5:
	movl	$55, %eax
	cmpb	$115, %dil
	jle	.L6
	movl	$56, %eax
	cmpb	$118, %dil
	jle	.L6
	cmpb	$123, %dil
	setl	%al
	leal	48(%rax,%rax,8), %eax
.L6:
	cmpb	%al, %cl
	jne	.L4
.L35:
	addq	$1, %rdx
	cmpq	%rdx, %r12
	je	.L3
.L7:
	movzbl	0(%r13,%rdx), %ecx
	testb	%cl, %cl
	je	.L4
	movsbl	(%r14,%rdx), %edi
	cmpb	$111, %dil
	jg	.L5
	subl	$97, %edi
	movslq	%edi, %rax
	sarl	$31, %edi
	imulq	$1431655766, %rax, %rax
	shrq	$32, %rax
	subl	%edi, %eax
	addl	$50, %eax
	cmpb	%al, %cl
	je	.L35
	.p2align 4,,10
	.p2align 3
.L4:
	addl	$1, 8(%rsp)
	movl	8(%rsp), %eax
	addq	$51, %r14
	cmpl	%ebp, %eax
	jl	.L15
.L1:
	movq	72(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L36
	addq	$88, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	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
	.p2align 4,,10
	.p2align 3
.L3:
	.cfi_restore_state
	leaq	seq(%rip), %rax
	cmpq	%rax, %r13
	je	.L37
	movl	$32, %eax
	leaq	1(%r12), %rdx
	leaq	17(%rsp), %rdi
	movq	%r14, %rsi
	movl	$51, %ecx
	movw	%ax, 16(%rsp)
	leaq	16(%rsp), %rbp
	call	__memcpy_chk@PLT
.L8:
	movslq	rlen(%rip), %rax
	leaq	result(%rip), %rsi
	xorl	%ebx, %ebx
	movl	%eax, 12(%rsp)
	addq	%rsi, %rax
	movq	%rax, (%rsp)
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L10:
	movzbl	0(%rbp,%rbx), %eax
	movq	(%rsp), %rsi
	movb	%al, (%rsi,%rbx)
	addq	$1, %rbx
.L9:
	movq	%rbp, %rdi
	call	strlen@PLT
	movq	%rax, %r15
	cmpq	%rbx, %rax
	ja	.L10
	movl	12(%rsp), %eax
	leaq	0(%r13,%r12), %rdi
	addl	%r15d, %eax
	movl	%eax, rlen(%rip)
	cmpb	$0, (%rdi)
	je	.L38
	call	print_conv.part.0
.L13:
	subl	%r15d, rlen(%rip)
	movl	n(%rip), %ebp
	jmp	.L4
.L38:
	xorl	%ebp, %ebp
	testl	%eax, %eax
	jle	.L14
	.p2align 4,,10
	.p2align 3
.L12:
	leaq	result(%rip), %rax
	movsbl	(%rax,%rbp), %edi
	addq	$1, %rbp
	call	putchar@PLT
	cmpl	%ebp, rlen(%rip)
	jg	.L12
.L14:
	leaq	.LC0(%rip), %rdi
	call	puts@PLT
	jmp	.L13
.L37:
	leaq	16(%rsp), %rbp
	leaq	1(%r12), %rdx
	movl	$52, %ecx
	movq	%r14, %rsi
	movq	%rbp, %rdi
	call	__memcpy_chk@PLT
	jmp	.L8
.L36:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE42:
	.size	print_conv.part.0, .-print_conv.part.0
	.p2align 4
	.globl	alpha2num
	.type	alpha2num, @function
alpha2num:
.LFB35:
	.cfi_startproc
	endbr64
	cmpb	$111, %dil
	jle	.L45
	movl	$55, %eax
	cmpb	$115, %dil
	jle	.L39
	movl	$56, %eax
	cmpb	$118, %dil
	jle	.L39
	cmpb	$123, %dil
	setl	%al
	leal	48(%rax,%rax,8), %eax
.L39:
	ret
	.p2align 4,,10
	.p2align 3
.L45:
	movsbl	%dil, %edi
	subl	$97, %edi
	movslq	%edi, %rax
	sarl	$31, %edi
	imulq	$1431655766, %rax, %rax
	shrq	$32, %rax
	subl	%edi, %eax
	addl	$50, %eax
	ret
	.cfi_endproc
.LFE35:
	.size	alpha2num, .-alpha2num
	.p2align 4
	.globl	strncmp_keitai
	.type	strncmp_keitai, @function
strncmp_keitai:
.LFB36:
	.cfi_startproc
	endbr64
	movq	%rdi, %r8
	movq	%rsi, %r9
	testl	%edx, %edx
	jle	.L51
	movslq	%edx, %rdx
	xorl	%esi, %esi
	jmp	.L50
	.p2align 4,,10
	.p2align 3
.L48:
	movl	$55, %eax
	cmpb	$115, %cl
	jle	.L49
	movl	$56, %eax
	cmpb	$118, %cl
	jle	.L49
	cmpb	$123, %cl
	setl	%al
	leal	48(%rax,%rax,8), %eax
.L49:
	cmpb	%al, %dil
	jne	.L56
.L58:
	addq	$1, %rsi
	cmpq	%rsi, %rdx
	je	.L51
.L50:
	movzbl	(%r9,%rsi), %edi
	testb	%dil, %dil
	je	.L56
	movsbl	(%r8,%rsi), %ecx
	cmpb	$111, %cl
	jg	.L48
	subl	$97, %ecx
	movslq	%ecx, %rax
	sarl	$31, %ecx
	imulq	$1431655766, %rax, %rax
	shrq	$32, %rax
	subl	%ecx, %eax
	addl	$50, %eax
	cmpb	%al, %dil
	je	.L58
.L56:
	movl	$-1, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L51:
	xorl	%eax, %eax
	ret
	.cfi_endproc
.LFE36:
	.size	strncmp_keitai, .-strncmp_keitai
	.p2align 4
	.globl	print_conv
	.type	print_conv, @function
print_conv:
.LFB37:
	.cfi_startproc
	endbr64
	cmpb	$0, (%rdi)
	je	.L68
	jmp	print_conv.part.0
	.p2align 4,,10
	.p2align 3
.L68:
	movl	rlen(%rip), %eax
	testl	%eax, %eax
	jle	.L65
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	leaq	result(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	xorl	%ebx, %ebx
	subq	$8, %rsp
	.cfi_def_cfa_offset 32
	.p2align 4,,10
	.p2align 3
.L62:
	movsbl	0(%rbp,%rbx), %edi
	addq	$1, %rbx
	call	putchar@PLT
	cmpl	%ebx, rlen(%rip)
	jg	.L62
	addq	$8, %rsp
	.cfi_def_cfa_offset 24
	leaq	.LC0(%rip), %rdi
	popq	%rbx
	.cfi_restore 3
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 8
	jmp	puts@PLT
.L65:
	leaq	.LC0(%rip), %rdi
	jmp	puts@PLT
	.cfi_endproc
.LFE37:
	.size	print_conv, .-print_conv
	.section	.rodata.str1.1
.LC1:
	.string	"SEQ:%s\n"
	.text
	.p2align 4
	.globl	print_seq
	.type	print_seq, @function
print_seq:
.LFB38:
	.cfi_startproc
	endbr64
	leaq	seq(%rip), %rdx
	leaq	.LC1(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	jmp	__printf_chk@PLT
	.cfi_endproc
.LFE38:
	.size	print_seq, .-print_seq
	.section	.rodata.str1.1
.LC2:
	.string	"%d:%s\n"
	.text
	.p2align 4
	.globl	print_dict
	.type	print_dict, @function
print_dict:
.LFB39:
	.cfi_startproc
	endbr64
	movl	n(%rip), %eax
	testl	%eax, %eax
	jle	.L75
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	leaq	.LC2(%rip), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	leaq	dict(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	xorl	%ebx, %ebx
	.p2align 4,,10
	.p2align 3
.L72:
	movq	%rbp, %rcx
	movl	%ebx, %edx
	xorl	%eax, %eax
	movq	%r12, %rsi
	movl	$1, %edi
	addl	$1, %ebx
	addq	$51, %rbp
	call	__printf_chk@PLT
	cmpl	%ebx, n(%rip)
	jg	.L72
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L75:
	.cfi_restore 3
	.cfi_restore 6
	.cfi_restore 12
	ret
	.cfi_endproc
.LFE39:
	.size	print_dict, .-print_dict
	.section	.rodata.str1.1
.LC3:
	.string	"%s\n"
.LC4:
	.string	"--"
.LC5:
	.string	"%d"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB40:
	.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
	leaq	n(%rip), %r14
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	leaq	.LC0(%rip), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	leaq	seq(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	leaq	.LC3(%rip), %rbx
	subq	$8, %rsp
	.cfi_def_cfa_offset 64
	.p2align 4,,10
	.p2align 3
.L79:
	xorl	%eax, %eax
	movq	%r14, %rsi
	leaq	.LC5(%rip), %rdi
	call	__isoc99_scanf@PLT
	cmpl	$-1, %eax
	je	.L83
	movl	n(%rip), %eax
	testl	%eax, %eax
	je	.L83
	leaq	dict(%rip), %r13
	movl	$0, %r15d
	jle	.L85
	.p2align 4,,10
	.p2align 3
.L80:
	movq	%r13, %rsi
	xorl	%eax, %eax
	movq	%rbx, %rdi
	addl	$1, %r15d
	call	__isoc99_scanf@PLT
	addq	$51, %r13
	cmpl	%r15d, n(%rip)
	jg	.L80
.L85:
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movq	%rbp, %rdi
	call	strlen@PLT
	cmpb	$0, 0(%rbp)
	movl	$0, rlen(%rip)
	movl	%eax, inputlen(%rip)
	je	.L95
	movq	%rbp, %rdi
	call	print_conv.part.0
	.p2align 4,,10
	.p2align 3
.L82:
	leaq	.LC4(%rip), %rdi
	call	puts@PLT
	jmp	.L79
	.p2align 4,,10
	.p2align 3
.L95:
	movq	%r12, %rdi
	call	puts@PLT
	jmp	.L82
	.p2align 4,,10
	.p2align 3
.L83:
	addq	$8, %rsp
	.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
	.cfi_endproc
.LFE40:
	.size	main, .-main
	.globl	inputlen
	.bss
	.align 4
	.type	inputlen, @object
	.size	inputlen, 4
inputlen:
	.zero	4
	.globl	rlen
	.align 4
	.type	rlen, @object
	.size	rlen, 4
rlen:
	.zero	4
	.globl	result
	.align 32
	.type	result, @object
	.size	result, 301
result:
	.zero	301
	.globl	seq
	.align 32
	.type	seq, @object
	.size	seq, 301
seq:
	.zero	301
	.globl	dict
	.align 32
	.type	dict, @object
	.size	dict, 5100
dict:
	.zero	5100
	.globl	n
	.align 4
	.type	n, @object
	.size	n, 4
n:
	.zero	4
	.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	"."
	.text
	.p2align 4
	.type	print_conv.part.0, @function
print_conv.part.0:
.LFB42:
	.cfi_startproc
	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	$88, %rsp
	.cfi_def_cfa_offset 144
	movl	n(%rip), %ebp
	movq	%fs:40, %rax
	movq	%rax, 72(%rsp)
	xorl	%eax, %eax
	movl	$0, 8(%rsp)
	testl	%ebp, %ebp
	jle	.L1
	movq	%rdi, %r13
	leaq	dict(%rip), %r14
.L15:
	movq	%r14, %rdi
	call	strlen@PLT
	movq	%rax, %r12
	testl	%eax, %eax
	je	.L3
	xorl	%edx, %edx
	jmp	.L7
	.p2align 4,,10
	.p2align 3
.L5:
	movl	$55, %eax
	cmpb	$115, %dil
	jle	.L6
	movl	$56, %eax
	cmpb	$118, %dil
	jle	.L6
	cmpb	$123, %dil
	setl	%al
	leal	48(%rax,%rax,8), %eax
.L6:
	cmpb	%al, %cl
	jne	.L4
.L35:
	addq	$1, %rdx
	cmpq	%rdx, %r12
	je	.L3
.L7:
	movzbl	0(%r13,%rdx), %ecx
	testb	%cl, %cl
	je	.L4
	movsbl	(%r14,%rdx), %edi
	cmpb	$111, %dil
	jg	.L5
	subl	$97, %edi
	movslq	%edi, %rax
	sarl	$31, %edi
	imulq	$1431655766, %rax, %rax
	shrq	$32, %rax
	subl	%edi, %eax
	addl	$50, %eax
	cmpb	%al, %cl
	je	.L35
	.p2align 4,,10
	.p2align 3
.L4:
	addl	$1, 8(%rsp)
	movl	8(%rsp), %eax
	addq	$51, %r14
	cmpl	%ebp, %eax
	jl	.L15
.L1:
	movq	72(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L36
	addq	$88, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	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
	.p2align 4,,10
	.p2align 3
.L3:
	.cfi_restore_state
	leaq	seq(%rip), %rax
	cmpq	%rax, %r13
	je	.L37
	movl	$32, %eax
	leaq	1(%r12), %rdx
	leaq	17(%rsp), %rdi
	movq	%r14, %rsi
	movl	$51, %ecx
	movw	%ax, 16(%rsp)
	leaq	16(%rsp), %rbp
	call	__memcpy_chk@PLT
.L8:
	movslq	rlen(%rip), %rax
	leaq	result(%rip), %rsi
	xorl	%ebx, %ebx
	movl	%eax, 12(%rsp)
	addq	%rsi, %rax
	movq	%rax, (%rsp)
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L10:
	movzbl	0(%rbp,%rbx), %eax
	movq	(%rsp), %rsi
	movb	%al, (%rsi,%rbx)
	addq	$1, %rbx
.L9:
	movq	%rbp, %rdi
	call	strlen@PLT
	movq	%rax, %r15
	cmpq	%rbx, %rax
	ja	.L10
	movl	12(%rsp), %eax
	leaq	0(%r13,%r12), %rdi
	addl	%r15d, %eax
	movl	%eax, rlen(%rip)
	cmpb	$0, (%rdi)
	je	.L38
	call	print_conv.part.0
.L13:
	subl	%r15d, rlen(%rip)
	movl	n(%rip), %ebp
	jmp	.L4
.L38:
	xorl	%ebp, %ebp
	testl	%eax, %eax
	jle	.L14
	.p2align 4,,10
	.p2align 3
.L12:
	leaq	result(%rip), %rax
	movsbl	(%rax,%rbp), %edi
	addq	$1, %rbp
	call	putchar@PLT
	cmpl	%ebp, rlen(%rip)
	jg	.L12
.L14:
	leaq	.LC0(%rip), %rdi
	call	puts@PLT
	jmp	.L13
.L37:
	leaq	16(%rsp), %rbp
	leaq	1(%r12), %rdx
	movl	$52, %ecx
	movq	%r14, %rsi
	movq	%rbp, %rdi
	call	__memcpy_chk@PLT
	jmp	.L8
.L36:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE42:
	.size	print_conv.part.0, .-print_conv.part.0
	.p2align 4
	.globl	alpha2num
	.type	alpha2num, @function
alpha2num:
.LFB35:
	.cfi_startproc
	endbr64
	cmpb	$111, %dil
	jle	.L45
	movl	$55, %eax
	cmpb	$115, %dil
	jle	.L39
	movl	$56, %eax
	cmpb	$118, %dil
	jle	.L39
	cmpb	$123, %dil
	setl	%al
	leal	48(%rax,%rax,8), %eax
.L39:
	ret
	.p2align 4,,10
	.p2align 3
.L45:
	movsbl	%dil, %edi
	subl	$97, %edi
	movslq	%edi, %rax
	sarl	$31, %edi
	imulq	$1431655766, %rax, %rax
	shrq	$32, %rax
	subl	%edi, %eax
	addl	$50, %eax
	ret
	.cfi_endproc
.LFE35:
	.size	alpha2num, .-alpha2num
	.p2align 4
	.globl	strncmp_keitai
	.type	strncmp_keitai, @function
strncmp_keitai:
.LFB36:
	.cfi_startproc
	endbr64
	movq	%rdi, %r8
	movq	%rsi, %r9
	testl	%edx, %edx
	jle	.L51
	movslq	%edx, %rdx
	xorl	%esi, %esi
	jmp	.L50
	.p2align 4,,10
	.p2align 3
.L48:
	movl	$55, %eax
	cmpb	$115, %cl
	jle	.L49
	movl	$56, %eax
	cmpb	$118, %cl
	jle	.L49
	cmpb	$123, %cl
	setl	%al
	leal	48(%rax,%rax,8), %eax
.L49:
	cmpb	%al, %dil
	jne	.L56
.L58:
	addq	$1, %rsi
	cmpq	%rsi, %rdx
	je	.L51
.L50:
	movzbl	(%r9,%rsi), %edi
	testb	%dil, %dil
	je	.L56
	movsbl	(%r8,%rsi), %ecx
	cmpb	$111, %cl
	jg	.L48
	subl	$97, %ecx
	movslq	%ecx, %rax
	sarl	$31, %ecx
	imulq	$1431655766, %rax, %rax
	shrq	$32, %rax
	subl	%ecx, %eax
	addl	$50, %eax
	cmpb	%al, %dil
	je	.L58
.L56:
	movl	$-1, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L51:
	xorl	%eax, %eax
	ret
	.cfi_endproc
.LFE36:
	.size	strncmp_keitai, .-strncmp_keitai
	.p2align 4
	.globl	print_conv
	.type	print_conv, @function
print_conv:
.LFB37:
	.cfi_startproc
	endbr64
	cmpb	$0, (%rdi)
	je	.L68
	jmp	print_conv.part.0
	.p2align 4,,10
	.p2align 3
.L68:
	movl	rlen(%rip), %eax
	testl	%eax, %eax
	jle	.L65
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	leaq	result(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	xorl	%ebx, %ebx
	subq	$8, %rsp
	.cfi_def_cfa_offset 32
	.p2align 4,,10
	.p2align 3
.L62:
	movsbl	0(%rbp,%rbx), %edi
	addq	$1, %rbx
	call	putchar@PLT
	cmpl	%ebx, rlen(%rip)
	jg	.L62
	addq	$8, %rsp
	.cfi_def_cfa_offset 24
	leaq	.LC0(%rip), %rdi
	popq	%rbx
	.cfi_restore 3
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 8
	jmp	puts@PLT
.L65:
	leaq	.LC0(%rip), %rdi
	jmp	puts@PLT
	.cfi_endproc
.LFE37:
	.size	print_conv, .-print_conv
	.section	.rodata.str1.1
.LC1:
	.string	"SEQ:%s\n"
	.text
	.p2align 4
	.globl	print_seq
	.type	print_seq, @function
print_seq:
.LFB38:
	.cfi_startproc
	endbr64
	leaq	seq(%rip), %rdx
	leaq	.LC1(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	jmp	__printf_chk@PLT
	.cfi_endproc
.LFE38:
	.size	print_seq, .-print_seq
	.section	.rodata.str1.1
.LC2:
	.string	"%d:%s\n"
	.text
	.p2align 4
	.globl	print_dict
	.type	print_dict, @function
print_dict:
.LFB39:
	.cfi_startproc
	endbr64
	movl	n(%rip), %eax
	testl	%eax, %eax
	jle	.L75
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	leaq	.LC2(%rip), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	leaq	dict(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	xorl	%ebx, %ebx
	.p2align 4,,10
	.p2align 3
.L72:
	movq	%rbp, %rcx
	movl	%ebx, %edx
	xorl	%eax, %eax
	movq	%r12, %rsi
	movl	$1, %edi
	addl	$1, %ebx
	addq	$51, %rbp
	call	__printf_chk@PLT
	cmpl	%ebx, n(%rip)
	jg	.L72
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L75:
	.cfi_restore 3
	.cfi_restore 6
	.cfi_restore 12
	ret
	.cfi_endproc
.LFE39:
	.size	print_dict, .-print_dict
	.section	.rodata.str1.1
.LC3:
	.string	"%s\n"
.LC4:
	.string	"--"
.LC5:
	.string	"%d"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB40:
	.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
	leaq	n(%rip), %r14
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	leaq	.LC0(%rip), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	leaq	seq(%rip), %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	leaq	.LC3(%rip), %rbx
	subq	$8, %rsp
	.cfi_def_cfa_offset 64
	.p2align 4,,10
	.p2align 3
.L79:
	xorl	%eax, %eax
	movq	%r14, %rsi
	leaq	.LC5(%rip), %rdi
	call	__isoc99_scanf@PLT
	cmpl	$-1, %eax
	je	.L83
	movl	n(%rip), %eax
	testl	%eax, %eax
	je	.L83
	leaq	dict(%rip), %r13
	movl	$0, %r15d
	jle	.L85
	.p2align 4,,10
	.p2align 3
.L80:
	movq	%r13, %rsi
	xorl	%eax, %eax
	movq	%rbx, %rdi
	addl	$1, %r15d
	call	__isoc99_scanf@PLT
	addq	$51, %r13
	cmpl	%r15d, n(%rip)
	jg	.L80
.L85:
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movq	%rbp, %rdi
	call	strlen@PLT
	cmpb	$0, 0(%rbp)
	movl	$0, rlen(%rip)
	movl	%eax, inputlen(%rip)
	je	.L95
	movq	%rbp, %rdi
	call	print_conv.part.0
	.p2align 4,,10
	.p2align 3
.L82:
	leaq	.LC4(%rip), %rdi
	call	puts@PLT
	jmp	.L79
	.p2align 4,,10
	.p2align 3
.L95:
	movq	%r12, %rdi
	call	puts@PLT
	jmp	.L82
	.p2align 4,,10
	.p2align 3
.L83:
	addq	$8, %rsp
	.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
	.cfi_endproc
.LFE40:
	.size	main, .-main
	.globl	inputlen
	.bss
	.align 4
	.type	inputlen, @object
	.size	inputlen, 4
inputlen:
	.zero	4
	.globl	rlen
	.align 4
	.type	rlen, @object
	.size	rlen, 4
rlen:
	.zero	4
	.globl	result
	.align 32
	.type	result, @object
	.size	result, 301
result:
	.zero	301
	.globl	seq
	.align 32
	.type	seq, @object
	.size	seq, 301
seq:
	.zero	301
	.globl	dict
	.align 32
	.type	dict, @object
	.size	dict, 5100
dict:
	.zero	5100
	.globl	n
	.align 4
	.type	n, @object
	.size	n, 4
n:
	.zero	4
	.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:

/*
AizuOnline A1227
Title 77377
*/
#include <stdio.h>
// Select Below
//#include <stdlib.h>
#include <string.h>
//#include <float.h>
//#include <math.h>
//#include <limits.h>
//Global data section
int n;
char dict[100][51];
char seq[301];
char result[301];
int  rlen;
int  inputlen;
//
char alpha2num(char a)
{
        if(a < 'p')
                return('2'+(a-'a')/3);
        if(a < 't')
                return('7');
        if(a < 'w')
                return('8');
        else if(a <= 'z')
                return('9');
        else
                return('0');
}
int strncmp_keitai(char *wd,char *sq,int c)
{
        int i;
        for(i=0;i<c;i++)
                if(!sq[i] || alpha2num(wd[i])!=sq[i])
                        return(-1);
        return(0);  //matched
}
void print_conv(char * s)
{
        int i,j,len,sp;
        char d2[52];

        if(!s[0])
        {    
                for(i=0;i<rlen;i++)
                        printf("%c",result[i]);
                printf(".\n");
                return;
        }
        for(i=0;i<n;i++)
        {
                len=strlen(&dict[i][0]);
                if(0==strncmp_keitai(&dict[i][0],s,len))
                {
                        if(s==seq)
                        {        strcpy(d2,&dict[i][0]);
                                
                        }
                        else
                        {
                                d2[0]=' ';d2[1]='\0';
                                strcat(d2,&dict[i][0]);
                                
                        }
                        
                        for(j=0;j<strlen(d2);j++)
                                result[rlen+j]=d2[j];
                        rlen += strlen(d2);
                        print_conv(s+len);
                        rlen -= strlen(d2);
                }     
        }
}
print_seq()
{
        printf("SEQ:%s\n",seq);
}
print_dict()
{
        int i;
        for(i=0;i<n;i++)
                printf("%d:%s\n",i,&dict[i][0]);
}
main()
{
        int i;

        while(EOF!=scanf("%d",&n) && n)
        {
                for(i=0;i<n;i++)
                        scanf("%s\n",&dict[i][0]);
                scanf("%s\n",seq);
                inputlen=strlen(seq);
                rlen=0;
                //print_seq();
                //print_dict();
                print_conv(seq);
                printf("--\n");
        }
return(0);
}
5
push
press
the
button
bottom
77377843288866
4
i
ma
going
go
42646464
3
a
b
c
333
0
 5
push
press
eht
button
bottom
77377843288866
4
i
am
going
go
42646464
3
a
b
c
333
0
 5
push
sserp
the
button
bottom
77377843288866
4
i
m`
goimg
go
42646464
3
a
b
c
333
0
 5
push
sserp
the
button
bottom
77377843288866
4
i
m`
goimg
go
37447855
3
a
b
d
333
0
 5
push
ssepr
the
button
bottom
77377843288866
4
i
m`
goimg
go
57770063
3
a
a
d
333
0
 5
push
ssepr
the
button
bottom
77377843288866
4
h
m`
goimg
go
57770063
0
a
a
d
333
0
 5
push
ssepr
the
cutton
bottom
77377843288866
4
h
m`
goimg
go
57770063
0
a
a
d
333
0
 5
push
press
the
button
bottom
137030633938432
4
i
ma
going
go
42646464
3
b
b
c
333
0
 5
push
sserp
eht
button
bottom
77377843288866
4
i
m`
goimg
go
37447855
3
a
b
d
333
0
 5
push
sserp
the
button
bottom
77377843288866
0
i
m`
goimg
go
37447855
3
a
a
d
333
0

press the button.
--
--
--
 --
i am going.
i am go go i.
--
--
 sserp the button.
--
--
--
 sserp the button.
--
--
d d d.
--
 ssepr the button.
--
--
d d d.
--
 ssepr the button.
--
--
 ssepr the cutton.
--
--
 --
--
--
 --
--
d d d.
--
 sserp the button.
--

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

```c
/*
AizuOnline A1227
Title 77377
*/
#include <stdio.h>
// Select Below
//#include <stdlib.h>
#include <string.h>
//#include <float.h>
//#include <math.h>
//#include <limits.h>
//Global data section
int n;
char dict[100][51];
char seq[301];
char result[301];
int  rlen;
int  inputlen;
//
char alpha2num(char a)
{
        if(a < 'p')
                return('2'+(a-'a')/3);
        if(a < 't')
                return('7');
        if(a < 'w')
                return('8');
        else if(a <= 'z')
                return('9');
        else
                return('0');
}
int strncmp_keitai(char *wd,char *sq,int c)
{
        int i;
        for(i=0;i<c;i++)
                if(!sq[i] || alpha2num(wd[i])!=sq[i])
                        return(-1);
        return(0);  //matched
}
void print_conv(char * s)
{
        int i,j,len,sp;
        char d2[52];

        if(!s[0])
        {    
                for(i=0;i<rlen;i++)
                        printf("%c",result[i]);
                printf(".\n");
                return;
        }
        for(i=0;i<n;i++)
        {
                len=strlen(&dict[i][0]);
                if(0==strncmp_keitai(&dict[i][0],s,len))
                {
                        if(s==seq)
                        {        strcpy(d2,&dict[i][0]);
                                
                        }
                        else
                        {
                                d2[0]=' ';d2[1]='\0';
                                strcat(d2,&dict[i][0]);
                                
                        }
                        
                        for(j=0;j<strlen(d2);j++)
                                result[rlen+j]=d2[j];
                        rlen += strlen(d2);
                        print_conv(s+len);
                        rlen -= strlen(d2);
                }     
        }
}
print_seq()
{
        printf("SEQ:%s\n",seq);
}
print_dict()
{
        int i;
        for(i=0;i<n;i++)
                printf("%d:%s\n",i,&dict[i][0]);
}
main()
{
        int i;

        while(EOF!=scanf("%d",&n) && n)
        {
                for(i=0;i<n;i++)
                        scanf("%s\n",&dict[i][0]);
                scanf("%s\n",seq);
                inputlen=strlen(seq);
                rlen=0;
                //print_seq();
                //print_dict();
                print_conv(seq);
                printf("--\n");
        }
return(0);
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	n
	.bss
	.align 4
	.type	n, @object
	.size	n, 4
n:
	.zero	4
	.globl	dict
	.align 32
	.type	dict, @object
	.size	dict, 5100
dict:
	.zero	5100
	.globl	seq
	.align 32
	.type	seq, @object
	.size	seq, 301
seq:
	.zero	301
	.globl	result
	.align 32
	.type	result, @object
	.size	result, 301
result:
	.zero	301
	.globl	rlen
	.align 4
	.type	rlen, @object
	.size	rlen, 4
rlen:
	.zero	4
	.globl	inputlen
	.align 4
	.type	inputlen, @object
	.size	inputlen, 4
inputlen:
	.zero	4
	.text
	.globl	alpha2num
	.type	alpha2num, @function
alpha2num:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, %eax
	movb	%al, -4(%rbp)
	cmpb	$111, -4(%rbp)
	jg	.L2
	movsbl	-4(%rbp), %eax
	subl	$97, %eax
	movslq	%eax, %rdx
	imulq	$1431655766, %rdx, %rdx
	shrq	$32, %rdx
	sarl	$31, %eax
	movl	%eax, %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	addl	$50, %eax
	jmp	.L3
.L2:
	cmpb	$115, -4(%rbp)
	jg	.L4
	movl	$55, %eax
	jmp	.L3
.L4:
	cmpb	$118, -4(%rbp)
	jg	.L5
	movl	$56, %eax
	jmp	.L3
.L5:
	cmpb	$122, -4(%rbp)
	jg	.L6
	movl	$57, %eax
	jmp	.L3
.L6:
	movl	$48, %eax
.L3:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	alpha2num, .-alpha2num
	.globl	strncmp_keitai
	.type	strncmp_keitai, @function
strncmp_keitai:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$40, %rsp
	movq	%rdi, -24(%rbp)
	movq	%rsi, -32(%rbp)
	movl	%edx, -36(%rbp)
	movl	$0, -4(%rbp)
	jmp	.L8
.L12:
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	-32(%rbp), %rax
	addq	%rdx, %rax
	movzbl	(%rax), %eax
	testb	%al, %al
	je	.L9
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movzbl	(%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	alpha2num
	movl	-4(%rbp), %edx
	movslq	%edx, %rcx
	movq	-32(%rbp), %rdx
	addq	%rcx, %rdx
	movzbl	(%rdx), %edx
	cmpb	%dl, %al
	je	.L10
.L9:
	movl	$-1, %eax
	jmp	.L11
.L10:
	addl	$1, -4(%rbp)
.L8:
	movl	-4(%rbp), %eax
	cmpl	-36(%rbp), %eax
	jl	.L12
	movl	$0, %eax
.L11:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	strncmp_keitai, .-strncmp_keitai
	.section	.rodata
.LC0:
	.string	"."
	.text
	.globl	print_conv
	.type	print_conv, @function
print_conv:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	subq	$104, %rsp
	.cfi_offset 3, -24
	movq	%rdi, -104(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -24(%rbp)
	xorl	%eax, %eax
	movq	-104(%rbp), %rax
	movzbl	(%rax), %eax
	testb	%al, %al
	jne	.L14
	movl	$0, -92(%rbp)
	jmp	.L15
.L16:
	movl	-92(%rbp), %eax
	cltq
	leaq	result(%rip), %rdx
	movzbl	(%rax,%rdx), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	putchar@PLT
	addl	$1, -92(%rbp)
.L15:
	movl	rlen(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L16
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	jmp	.L13
.L14:
	movl	$0, -92(%rbp)
	jmp	.L18
.L24:
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rdx, %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, -84(%rbp)
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	leaq	(%rax,%rdx), %rcx
	movl	-84(%rbp), %edx
	movq	-104(%rbp), %rax
	movq	%rax, %rsi
	movq	%rcx, %rdi
	call	strncmp_keitai
	testl	%eax, %eax
	jne	.L19
	leaq	seq(%rip), %rax
	cmpq	%rax, -104(%rbp)
	jne	.L20
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rax, %rdx
	leaq	-80(%rbp), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcpy@PLT
	jmp	.L21
.L20:
	movb	$32, -80(%rbp)
	movb	$0, -79(%rbp)
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rax, %rdx
	leaq	-80(%rbp), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcat@PLT
.L21:
	movl	$0, -88(%rbp)
	jmp	.L22
.L23:
	movl	rlen(%rip), %edx
	movl	-88(%rbp), %eax
	leal	(%rdx,%rax), %ecx
	movl	-88(%rbp), %eax
	cltq
	movzbl	-80(%rbp,%rax), %edx
	movslq	%ecx, %rax
	leaq	result(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -88(%rbp)
.L22:
	movl	-88(%rbp), %eax
	movslq	%eax, %rbx
	leaq	-80(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	cmpq	%rax, %rbx
	jb	.L23
	leaq	-80(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, %edx
	movl	rlen(%rip), %eax
	addl	%edx, %eax
	movl	%eax, rlen(%rip)
	movl	-84(%rbp), %eax
	movslq	%eax, %rdx
	movq	-104(%rbp), %rax
	addq	%rdx, %rax
	movq	%rax, %rdi
	call	print_conv
	movl	rlen(%rip), %eax
	movl	%eax, %ebx
	leaq	-80(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, %edx
	movl	%ebx, %eax
	subl	%edx, %eax
	movl	%eax, rlen(%rip)
.L19:
	addl	$1, -92(%rbp)
.L18:
	movl	n(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L24
.L13:
	movq	-24(%rbp), %rax
	subq	%fs:40, %rax
	je	.L25
	call	__stack_chk_fail@PLT
.L25:
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	print_conv, .-print_conv
	.section	.rodata
.LC1:
	.string	"SEQ:%s\n"
	.text
	.globl	print_seq
	.type	print_seq, @function
print_seq:
.LFB3:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	leaq	seq(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	nop
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	print_seq, .-print_seq
	.section	.rodata
.LC2:
	.string	"%d:%s\n"
	.text
	.globl	print_dict
	.type	print_dict, @function
print_dict:
.LFB4:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movl	$0, -4(%rbp)
	jmp	.L28
.L29:
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rax, %rdx
	movl	-4(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -4(%rbp)
.L28:
	movl	n(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jl	.L29
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	print_dict, .-print_dict
	.section	.rodata
.LC3:
	.string	"%s\n"
.LC4:
	.string	"--"
.LC5:
	.string	"%d"
	.text
	.globl	main
	.type	main, @function
main:
.LFB5:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	jmp	.L31
.L35:
	movl	$0, -4(%rbp)
	jmp	.L32
.L33:
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -4(%rbp)
.L32:
	movl	n(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jl	.L33
	leaq	seq(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	leaq	seq(%rip), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, inputlen(%rip)
	movl	$0, rlen(%rip)
	leaq	seq(%rip), %rax
	movq	%rax, %rdi
	call	print_conv
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
.L31:
	leaq	n(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$-1, %eax
	je	.L34
	movl	n(%rip), %eax
	testl	%eax, %eax
	jne	.L35
.L34:
	movl	$0, %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.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
	.globl	n
	.bss
	.align 4
	.type	n, @object
	.size	n, 4
n:
	.zero	4
	.globl	dict
	.align 32
	.type	dict, @object
	.size	dict, 5100
dict:
	.zero	5100
	.globl	seq
	.align 32
	.type	seq, @object
	.size	seq, 301
seq:
	.zero	301
	.globl	result
	.align 32
	.type	result, @object
	.size	result, 301
result:
	.zero	301
	.globl	rlen
	.align 4
	.type	rlen, @object
	.size	rlen, 4
rlen:
	.zero	4
	.globl	inputlen
	.align 4
	.type	inputlen, @object
	.size	inputlen, 4
inputlen:
	.zero	4
	.text
	.globl	alpha2num
	.type	alpha2num, @function
alpha2num:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, %eax
	movb	%al, -4(%rbp)
	cmpb	$111, -4(%rbp)
	jg	.L2
	movsbl	-4(%rbp), %eax
	subl	$97, %eax
	movslq	%eax, %rdx
	imulq	$1431655766, %rdx, %rdx
	shrq	$32, %rdx
	sarl	$31, %eax
	movl	%eax, %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	addl	$50, %eax
	jmp	.L3
.L2:
	cmpb	$115, -4(%rbp)
	jg	.L4
	movl	$55, %eax
	jmp	.L3
.L4:
	cmpb	$118, -4(%rbp)
	jg	.L5
	movl	$56, %eax
	jmp	.L3
.L5:
	cmpb	$122, -4(%rbp)
	jg	.L6
	movl	$57, %eax
	jmp	.L3
.L6:
	movl	$48, %eax
.L3:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	alpha2num, .-alpha2num
	.globl	strncmp_keitai
	.type	strncmp_keitai, @function
strncmp_keitai:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$40, %rsp
	movq	%rdi, -24(%rbp)
	movq	%rsi, -32(%rbp)
	movl	%edx, -36(%rbp)
	movl	$0, -4(%rbp)
	jmp	.L8
.L12:
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	-32(%rbp), %rax
	addq	%rdx, %rax
	movzbl	(%rax), %eax
	testb	%al, %al
	je	.L9
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movzbl	(%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	alpha2num
	movl	-4(%rbp), %edx
	movslq	%edx, %rcx
	movq	-32(%rbp), %rdx
	addq	%rcx, %rdx
	movzbl	(%rdx), %edx
	cmpb	%dl, %al
	je	.L10
.L9:
	movl	$-1, %eax
	jmp	.L11
.L10:
	addl	$1, -4(%rbp)
.L8:
	movl	-4(%rbp), %eax
	cmpl	-36(%rbp), %eax
	jl	.L12
	movl	$0, %eax
.L11:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	strncmp_keitai, .-strncmp_keitai
	.section	.rodata
.LC0:
	.string	"."
	.text
	.globl	print_conv
	.type	print_conv, @function
print_conv:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	subq	$104, %rsp
	.cfi_offset 3, -24
	movq	%rdi, -104(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -24(%rbp)
	xorl	%eax, %eax
	movq	-104(%rbp), %rax
	movzbl	(%rax), %eax
	testb	%al, %al
	jne	.L14
	movl	$0, -92(%rbp)
	jmp	.L15
.L16:
	movl	-92(%rbp), %eax
	cltq
	leaq	result(%rip), %rdx
	movzbl	(%rax,%rdx), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	putchar@PLT
	addl	$1, -92(%rbp)
.L15:
	movl	rlen(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L16
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	jmp	.L13
.L14:
	movl	$0, -92(%rbp)
	jmp	.L18
.L24:
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rdx, %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, -84(%rbp)
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	leaq	(%rax,%rdx), %rcx
	movl	-84(%rbp), %edx
	movq	-104(%rbp), %rax
	movq	%rax, %rsi
	movq	%rcx, %rdi
	call	strncmp_keitai
	testl	%eax, %eax
	jne	.L19
	leaq	seq(%rip), %rax
	cmpq	%rax, -104(%rbp)
	jne	.L20
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rax, %rdx
	leaq	-80(%rbp), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcpy@PLT
	jmp	.L21
.L20:
	movb	$32, -80(%rbp)
	movb	$0, -79(%rbp)
	movl	-92(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rax, %rdx
	leaq	-80(%rbp), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	strcat@PLT
.L21:
	movl	$0, -88(%rbp)
	jmp	.L22
.L23:
	movl	rlen(%rip), %edx
	movl	-88(%rbp), %eax
	leal	(%rdx,%rax), %ecx
	movl	-88(%rbp), %eax
	cltq
	movzbl	-80(%rbp,%rax), %edx
	movslq	%ecx, %rax
	leaq	result(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -88(%rbp)
.L22:
	movl	-88(%rbp), %eax
	movslq	%eax, %rbx
	leaq	-80(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	cmpq	%rax, %rbx
	jb	.L23
	leaq	-80(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, %edx
	movl	rlen(%rip), %eax
	addl	%edx, %eax
	movl	%eax, rlen(%rip)
	movl	-84(%rbp), %eax
	movslq	%eax, %rdx
	movq	-104(%rbp), %rax
	addq	%rdx, %rax
	movq	%rax, %rdi
	call	print_conv
	movl	rlen(%rip), %eax
	movl	%eax, %ebx
	leaq	-80(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, %edx
	movl	%ebx, %eax
	subl	%edx, %eax
	movl	%eax, rlen(%rip)
.L19:
	addl	$1, -92(%rbp)
.L18:
	movl	n(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L24
.L13:
	movq	-24(%rbp), %rax
	subq	%fs:40, %rax
	je	.L25
	call	__stack_chk_fail@PLT
.L25:
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	print_conv, .-print_conv
	.section	.rodata
.LC1:
	.string	"SEQ:%s\n"
	.text
	.globl	print_seq
	.type	print_seq, @function
print_seq:
.LFB3:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	leaq	seq(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	nop
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	print_seq, .-print_seq
	.section	.rodata
.LC2:
	.string	"%d:%s\n"
	.text
	.globl	print_dict
	.type	print_dict, @function
print_dict:
.LFB4:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movl	$0, -4(%rbp)
	jmp	.L28
.L29:
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rax, %rdx
	movl	-4(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -4(%rbp)
.L28:
	movl	n(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jl	.L29
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	print_dict, .-print_dict
	.section	.rodata
.LC3:
	.string	"%s\n"
.LC4:
	.string	"--"
.LC5:
	.string	"%d"
	.text
	.globl	main
	.type	main, @function
main:
.LFB5:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	jmp	.L31
.L35:
	movl	$0, -4(%rbp)
	jmp	.L32
.L33:
	movl	-4(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	movq	%rax, %rdx
	salq	$4, %rdx
	addq	%rdx, %rax
	leaq	dict(%rip), %rdx
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -4(%rbp)
.L32:
	movl	n(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jl	.L33
	leaq	seq(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	leaq	seq(%rip), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, inputlen(%rip)
	movl	$0, rlen(%rip)
	leaq	seq(%rip), %rax
	movq	%rax, %rdi
	call	print_conv
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
.L31:
	leaq	n(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$-1, %eax
	je	.L34
	movl	n(%rip), %eax
	testl	%eax, %eax
	jne	.L35
.L34:
	movl	$0, %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.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:
