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>

int main(void){
	char a[3];int am,pm,i;
	for(i=0;i<9;i++){
		scanf("%s %d %d",a,&am,&pm);
		printf("%s %d %d\n",a,am+pm,am*200+pm*300);
	}
	return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.section	.rodata
.LC0:
	.string	"%s %d %d"
.LC1:
	.string	"%s %d %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	$32, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -16(%rbp)
	jmp	.L2
.L3:
	leaq	-20(%rbp), %rcx
	leaq	-24(%rbp), %rdx
	leaq	-11(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-24(%rbp), %eax
	imull	$200, %eax, %edx
	movl	-20(%rbp), %eax
	imull	$300, %eax, %eax
	leal	(%rdx,%rax), %ecx
	movl	-24(%rbp), %edx
	movl	-20(%rbp), %eax
	addl	%eax, %edx
	leaq	-11(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -16(%rbp)
.L2:
	cmpl	$8, -16(%rbp)
	jle	.L3
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L5
	call	__stack_chk_fail@PLT
.L5:
	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 %d %d"
.LC1:
	.string	"%s %d %d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB23:
	.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
	leaq	.LC0(%rip), %r13
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	leaq	.LC1(%rip), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movl	$9, %ebx
	subq	$40, %rsp
	.cfi_def_cfa_offset 96
	movq	%fs:40, %rax
	movq	%rax, 24(%rsp)
	xorl	%eax, %eax
	leaq	16(%rsp), %r15
	leaq	12(%rsp), %r14
	leaq	21(%rsp), %rbp
	.p2align 4,,10
	.p2align 3
.L2:
	movq	%r15, %rcx
	movq	%r14, %rdx
	movq	%rbp, %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	16(%rsp), %eax
	movl	12(%rsp), %ecx
	movl	$1, %edi
	imull	$200, %ecx, %esi
	addl	%eax, %ecx
	imull	$300, %eax, %edx
	xorl	%eax, %eax
	leal	(%rsi,%rdx), %r8d
	movq	%rbp, %rdx
	movq	%r12, %rsi
	call	__printf_chk@PLT
	subl	$1, %ebx
	jne	.L2
	movq	24(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L7
	addq	$40, %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
.L7:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE23:
	.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 %d %d"
.LC1:
	.string	"%s %d %d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB23:
	.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
	leaq	.LC0(%rip), %r13
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	leaq	.LC1(%rip), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movl	$9, %ebx
	subq	$40, %rsp
	.cfi_def_cfa_offset 96
	movq	%fs:40, %rax
	movq	%rax, 24(%rsp)
	xorl	%eax, %eax
	leaq	16(%rsp), %r15
	leaq	12(%rsp), %r14
	leaq	21(%rsp), %rbp
	.p2align 4,,10
	.p2align 3
.L2:
	movq	%r15, %rcx
	movq	%r14, %rdx
	movq	%rbp, %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	16(%rsp), %eax
	movl	12(%rsp), %ecx
	movl	$1, %edi
	imull	$200, %ecx, %esi
	addl	%eax, %ecx
	imull	$300, %eax, %edx
	xorl	%eax, %eax
	leal	(%rsi,%rdx), %r8d
	movq	%rbp, %rdx
	movq	%r12, %rsi
	call	__printf_chk@PLT
	subl	$1, %ebx
	jne	.L2
	movq	24(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L7
	addq	$40, %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
.L7:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE23:
	.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>

int main(void){
	char a[3];int am,pm,i;
	for(i=0;i<9;i++){
		scanf("%s %d %d",a,&am,&pm);
		printf("%s %d %d\n",a,am+pm,am*200+pm*300);
	}
	return 0;
}
1a 132 243
1c 324 183
1f 93 199
2b 372 163
2c 229 346
2e 391 206
3a 118 168
3b 263 293
3d 281 102
 1a 132 243
1c 324 183
1f 93 199
3b 372 163
2c 229 346
2e 391 206
3a 118 168
3b 263 293
3d 281 102
 1a 132 243
1c 324 183
1f 93 199
3b 372 163
2c 229 346
2e 12 206
3a 118 168
3b 263 293
3d 281 102
 1a 132 243
1c 324 183
1f 93 199
3b 372 163
2c 229 346
2e 12 206
3a 118 168
3b 263 103
3d 281 102
 1a 132 243
1c 324 122
1f 93 199
3b 372 163
2c 229 346
2e 12 206
3a 118 168
3b 263 103
3d 281 102
 1a 132 243
1c 324 122
1e 93 199
3b 372 163
2c 229 346
2e 12 206
3a 118 168
3b 263 103
3d 281 102
 1a 132 243
1c 324 122
1e 93 199
3b 372 163
2c 229 346
2e 12 206
3a 228 168
3b 263 103
3d 281 102
 1a 132 243
1c 324 122
1e 168 199
3b 372 163
2c 229 346
2e 12 206
3a 228 168
3b 263 103
3d 281 102
 1a 132 243
c1 324 122
1e 168 199
3b 372 163
2c 229 346
2e 12 206
3a 228 168
3b 263 103
3d 281 102
 1a 132 426
c1 324 122
1e 168 199
3b 372 163
2c 229 346
2e 12 206
3a 228 168
3b 263 103
3d 281 102

1a 375 99300
1c 507 119700
1f 292 78300
2b 535 123300
2c 575 149600
2e 597 140000
3a 286 74000
3b 556 140500
3d 383 86800
 1a 375 99300
1c 507 119700
1f 292 78300
3b 535 123300
2c 575 149600
2e 597 140000
3a 286 74000
3b 556 140500
3d 383 86800
 1a 375 99300
1c 507 119700
1f 292 78300
3b 535 123300
2c 575 149600
2e 218 64200
3a 286 74000
3b 556 140500
3d 383 86800
 1a 375 99300
1c 507 119700
1f 292 78300
3b 535 123300
2c 575 149600
2e 218 64200
3a 286 74000
3b 366 83500
3d 383 86800
 1a 375 99300
1c 446 101400
1f 292 78300
3b 535 123300
2c 575 149600
2e 218 64200
3a 286 74000
3b 366 83500
3d 383 86800
 1a 375 99300
1c 446 101400
1e 292 78300
3b 535 123300
2c 575 149600
2e 218 64200
3a 286 74000
3b 366 83500
3d 383 86800
 1a 375 99300
1c 446 101400
1e 292 78300
3b 535 123300
2c 575 149600
2e 218 64200
3a 396 96000
3b 366 83500
3d 383 86800
 1a 375 99300
1c 446 101400
1e 367 93300
3b 535 123300
2c 575 149600
2e 218 64200
3a 396 96000
3b 366 83500
3d 383 86800
 1a 375 99300
c1 446 101400
1e 367 93300
3b 535 123300
2c 575 149600
2e 218 64200
3a 396 96000
3b 366 83500
3d 383 86800
 1a 558 154200
c1 446 101400
1e 367 93300
3b 535 123300
2c 575 149600
2e 218 64200
3a 396 96000
3b 366 83500
3d 383 86800

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>

int main(void){
	char a[3];int am,pm,i;
	for(i=0;i<9;i++){
		scanf("%s %d %d",a,&am,&pm);
		printf("%s %d %d\n",a,am+pm,am*200+pm*300);
	}
	return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.section	.rodata
.LC0:
	.string	"%s %d %d"
.LC1:
	.string	"%s %d %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	$32, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -16(%rbp)
	jmp	.L2
.L3:
	leaq	-20(%rbp), %rcx
	leaq	-24(%rbp), %rdx
	leaq	-11(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-24(%rbp), %eax
	imull	$200, %eax, %edx
	movl	-20(%rbp), %eax
	imull	$300, %eax, %eax
	leal	(%rdx,%rax), %ecx
	movl	-24(%rbp), %edx
	movl	-20(%rbp), %eax
	addl	%eax, %edx
	leaq	-11(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -16(%rbp)
.L2:
	cmpl	$8, -16(%rbp)
	jle	.L3
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L5
	call	__stack_chk_fail@PLT
.L5:
	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 %d %d"
.LC1:
	.string	"%s %d %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	$32, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -16(%rbp)
	jmp	.L2
.L3:
	leaq	-20(%rbp), %rcx
	leaq	-24(%rbp), %rdx
	leaq	-11(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-24(%rbp), %eax
	imull	$200, %eax, %edx
	movl	-20(%rbp), %eax
	imull	$300, %eax, %eax
	leal	(%rdx,%rax), %ecx
	movl	-24(%rbp), %edx
	movl	-20(%rbp), %eax
	addl	%eax, %edx
	leaq	-11(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -16(%rbp)
.L2:
	cmpl	$8, -16(%rbp)
	jle	.L3
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L5
	call	__stack_chk_fail@PLT
.L5:
	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:
