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 map[9][9];
char c_map[9][9];

void scan(int x, int y, int h, int w){
  int counter[9];
  int i,j,k;

  for(i = 0; i < 9; i++){
    counter[i] = 0;
  }

  for(i = 0; i < h; i++){
    for(j = 0; j < w; j++){
      counter[map[y+i][x+j] - 1]++;
    }
  } 
  
  for(i = 0; i < 9; i++){
    if(counter[i] > 1){
      for(j = 0; j < h; j++){
	for(k = 0; k < w; k++){
	  if(i == (map[y+j][x+k] - 1)){
	    c_map[y+j][x+k] = '*';
	  }
	}
      }
    }
  }
}

int main(int argc,char* argv[]){
  int n,i;
  int first = 0;

  scanf("%d",&n);

  for(i = 0; i < n; i++){
    int j,k;

    if(first != 0){
      printf("\n");
    }
    
    for(j = 0; j < 9; j++){
      for(k = 0; k < 9; k++){
	scanf("%d",&map[j][k]);
      }
    }

    for(j = 0; j < 9; j++){
      for(k = 0; k < 9; k++){
	c_map[j][k] = ' ';
      }
    }

    for(j = 0; j < 9; j++){
      scan(j,0,9,1);
    }
    
    for(j = 0; j < 9; j++){
      scan(0,j,1,9);
    }

    for(j = 0; j < 9; j++){
      scan((j / 3) * 3, (j % 3) * 3,3,3);
    }

    for(j = 0; j < 9; j++){
      for(k = 0; k < 9; k++){
	printf("%c%d",c_map[j][k],map[j][k]);
      }
      printf("\n");
    }

    if(first == 0){
      first = 1;
    }
    
  }
  return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	map
	.bss
	.align 32
	.type	map, @object
	.size	map, 324
map:
	.zero	324
	.globl	c_map
	.align 32
	.type	c_map, @object
	.size	c_map, 81
c_map:
	.zero	81
	.text
	.globl	scan
	.type	scan, @function
scan:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$80, %rsp
	movl	%edi, -68(%rbp)
	movl	%esi, -72(%rbp)
	movl	%edx, -76(%rbp)
	movl	%ecx, -80(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -60(%rbp)
	jmp	.L2
.L3:
	movl	-60(%rbp), %eax
	cltq
	movl	$0, -48(%rbp,%rax,4)
	addl	$1, -60(%rbp)
.L2:
	cmpl	$8, -60(%rbp)
	jle	.L3
	movl	$0, -60(%rbp)
	jmp	.L4
.L7:
	movl	$0, -56(%rbp)
	jmp	.L5
.L6:
	movl	-72(%rbp), %edx
	movl	-60(%rbp), %eax
	addl	%edx, %eax
	movl	-68(%rbp), %ecx
	movl	-56(%rbp), %edx
	addl	%ecx, %edx
	movslq	%edx, %rcx
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	movl	(%rdx,%rax), %eax
	subl	$1, %eax
	movslq	%eax, %rdx
	movl	-48(%rbp,%rdx,4), %edx
	addl	$1, %edx
	cltq
	movl	%edx, -48(%rbp,%rax,4)
	addl	$1, -56(%rbp)
.L5:
	movl	-56(%rbp), %eax
	cmpl	-80(%rbp), %eax
	jl	.L6
	addl	$1, -60(%rbp)
.L4:
	movl	-60(%rbp), %eax
	cmpl	-76(%rbp), %eax
	jl	.L7
	movl	$0, -60(%rbp)
	jmp	.L8
.L15:
	movl	-60(%rbp), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	cmpl	$1, %eax
	jle	.L9
	movl	$0, -56(%rbp)
	jmp	.L10
.L14:
	movl	$0, -52(%rbp)
	jmp	.L11
.L13:
	movl	-72(%rbp), %edx
	movl	-56(%rbp), %eax
	addl	%edx, %eax
	movl	-68(%rbp), %ecx
	movl	-52(%rbp), %edx
	addl	%ecx, %edx
	movslq	%edx, %rcx
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	movl	(%rdx,%rax), %eax
	subl	$1, %eax
	cmpl	%eax, -60(%rbp)
	jne	.L12
	movl	-72(%rbp), %edx
	movl	-56(%rbp), %eax
	addl	%edx, %eax
	movl	-68(%rbp), %ecx
	movl	-52(%rbp), %edx
	addl	%ecx, %edx
	movslq	%edx, %rcx
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	leaq	(%rax,%rcx), %rdx
	leaq	c_map(%rip), %rax
	addq	%rdx, %rax
	movb	$42, (%rax)
.L12:
	addl	$1, -52(%rbp)
.L11:
	movl	-52(%rbp), %eax
	cmpl	-80(%rbp), %eax
	jl	.L13
	addl	$1, -56(%rbp)
.L10:
	movl	-56(%rbp), %eax
	cmpl	-76(%rbp), %eax
	jl	.L14
.L9:
	addl	$1, -60(%rbp)
.L8:
	cmpl	$8, -60(%rbp)
	jle	.L15
	nop
	movq	-8(%rbp), %rax
	subq	%fs:40, %rax
	je	.L16
	call	__stack_chk_fail@PLT
.L16:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	scan, .-scan
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%c%d"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movl	%edi, -36(%rbp)
	movq	%rsi, -48(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -20(%rbp)
	leaq	-28(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -24(%rbp)
	jmp	.L18
.L39:
	cmpl	$0, -20(%rbp)
	je	.L19
	movl	$10, %edi
	call	putchar@PLT
.L19:
	movl	$0, -16(%rbp)
	jmp	.L20
.L23:
	movl	$0, -12(%rbp)
	jmp	.L21
.L22:
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -12(%rbp)
.L21:
	cmpl	$8, -12(%rbp)
	jle	.L22
	addl	$1, -16(%rbp)
.L20:
	cmpl	$8, -16(%rbp)
	jle	.L23
	movl	$0, -16(%rbp)
	jmp	.L24
.L27:
	movl	$0, -12(%rbp)
	jmp	.L25
.L26:
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	leaq	(%rax,%rcx), %rdx
	leaq	c_map(%rip), %rax
	addq	%rdx, %rax
	movb	$32, (%rax)
	addl	$1, -12(%rbp)
.L25:
	cmpl	$8, -12(%rbp)
	jle	.L26
	addl	$1, -16(%rbp)
.L24:
	cmpl	$8, -16(%rbp)
	jle	.L27
	movl	$0, -16(%rbp)
	jmp	.L28
.L29:
	movl	-16(%rbp), %eax
	movl	$1, %ecx
	movl	$9, %edx
	movl	$0, %esi
	movl	%eax, %edi
	call	scan
	addl	$1, -16(%rbp)
.L28:
	cmpl	$8, -16(%rbp)
	jle	.L29
	movl	$0, -16(%rbp)
	jmp	.L30
.L31:
	movl	-16(%rbp), %eax
	movl	$9, %ecx
	movl	$1, %edx
	movl	%eax, %esi
	movl	$0, %edi
	call	scan
	addl	$1, -16(%rbp)
.L30:
	cmpl	$8, -16(%rbp)
	jle	.L31
	movl	$0, -16(%rbp)
	jmp	.L32
.L33:
	movl	-16(%rbp), %edx
	movslq	%edx, %rax
	imulq	$1431655766, %rax, %rax
	shrq	$32, %rax
	movl	%edx, %ecx
	sarl	$31, %ecx
	subl	%ecx, %eax
	movl	%eax, %ecx
	addl	%ecx, %ecx
	addl	%eax, %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	movl	%eax, %edx
	addl	%edx, %edx
	leal	(%rdx,%rax), %esi
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	imulq	$1431655766, %rdx, %rdx
	shrq	$32, %rdx
	sarl	$31, %eax
	subl	%eax, %edx
	movl	%edx, %eax
	addl	%eax, %eax
	addl	%edx, %eax
	movl	$3, %ecx
	movl	$3, %edx
	movl	%eax, %edi
	call	scan
	addl	$1, -16(%rbp)
.L32:
	cmpl	$8, -16(%rbp)
	jle	.L33
	movl	$0, -16(%rbp)
	jmp	.L34
.L37:
	movl	$0, -12(%rbp)
	jmp	.L35
.L36:
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-12(%rbp), %eax
	movslq	%eax, %rsi
	movl	-16(%rbp), %eax
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$3, %rax
	addq	%rcx, %rax
	leaq	(%rax,%rsi), %rcx
	leaq	c_map(%rip), %rax
	addq	%rcx, %rax
	movzbl	(%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %esi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -12(%rbp)
.L35:
	cmpl	$8, -12(%rbp)
	jle	.L36
	movl	$10, %edi
	call	putchar@PLT
	addl	$1, -16(%rbp)
.L34:
	cmpl	$8, -16(%rbp)
	jle	.L37
	cmpl	$0, -20(%rbp)
	jne	.L38
	movl	$1, -20(%rbp)
.L38:
	addl	$1, -24(%rbp)
.L18:
	movl	-28(%rbp), %eax
	cmpl	%eax, -24(%rbp)
	jl	.L39
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L41
	call	__stack_chk_fail@PLT
.L41:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.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
	.p2align 4
	.globl	scan
	.type	scan, @function
scan:
.LFB23:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pxor	%xmm0, %xmm0
	movl	%edi, %r10d
	movl	%edx, %edi
	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	%edx, 24(%rsp)
	movl	%ecx, %edx
	movq	%fs:40, %rax
	movq	%rax, 72(%rsp)
	xorl	%eax, %eax
	movl	$0, 64(%rsp)
	movaps	%xmm0, 32(%rsp)
	movaps	%xmm0, 48(%rsp)
	testl	%edi, %edi
	jle	.L80
	testl	%ecx, %ecx
	jle	.L81
	movslq	%esi, %rsi
	leal	-1(%rdi), %ecx
	leaq	map(%rip), %r11
	movslq	%r10d, %r9
	movq	%rcx, %rdi
	leaq	(%rsi,%rsi,8), %rax
	leaq	36(%r11), %r8
	addq	%rsi, %rcx
	leaq	(%rcx,%rcx,8), %rcx
	addq	%r9, %rax
	addq	%r9, %rcx
	leaq	(%r11,%rax,4), %rax
	leaq	(%r8,%rcx,4), %r8
	.p2align 4,,10
	.p2align 3
.L4:
	movl	(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$1, %edx
	je	.L5
	movl	4(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$2, %edx
	je	.L5
	movl	8(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$3, %edx
	je	.L5
	movl	12(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$4, %edx
	je	.L5
	movl	16(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$5, %edx
	je	.L5
	movl	20(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$6, %edx
	je	.L5
	movl	24(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$7, %edx
	je	.L5
	movl	28(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$8, %edx
	je	.L5
	movl	32(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
.L5:
	addq	$36, %rax
	cmpq	%r8, %rax
	jne	.L4
.L2:
	leaq	(%rsi,%rsi,8), %rax
	leaq	c_map(%rip), %rcx
	addq	%r9, %rax
	leal	1(%r10), %r12d
	leal	2(%r10), %r13d
	leaq	(%r11,%rax,4), %rbx
	addq	%rcx, %rax
	leaq	32(%rsp), %rbp
	movslq	%r12d, %r12
	movq	%rax, 16(%rsp)
	movl	%edi, %eax
	movslq	%r13d, %r13
	xorl	%edi, %edi
	addq	%rsi, %rax
	movq	%rbx, 8(%rsp)
	leaq	(%rax,%rax,8), %r11
	leaq	9(%rcx), %rax
	addq	%r9, %rax
	addq	%rax, %r11
	leal	3(%r10), %eax
	cltq
	movq	%rax, (%rsp)
	leal	4(%r10), %eax
	movl	%eax, 28(%rsp)
	jmp	.L21
	.p2align 4,,10
	.p2align 3
.L7:
	addq	$1, %rdi
	cmpq	$9, %rdi
	je	.L82
.L21:
	cmpl	$1, 0(%rbp,%rdi,4)
	jle	.L7
	movl	24(%rsp), %eax
	testl	%eax, %eax
	jle	.L7
	leal	5(%r10), %ebx
	movq	16(%rsp), %rsi
	movq	8(%rsp), %rax
	movslq	28(%rsp), %r14
	movslq	%ebx, %rbx
	testl	%edx, %edx
	jle	.L7
	.p2align 4,,10
	.p2align 3
.L8:
	movl	(%rax), %r15d
	movl	%edi, %ecx
	leal	-1(%r15), %r8d
	cmpl	%edi, %r8d
	jne	.L11
	movb	$42, (%rsi)
.L11:
	cmpl	$1, %edx
	je	.L12
	movl	4(%rax), %r15d
	leal	-1(%r15), %r8d
	cmpl	%ecx, %r8d
	jne	.L13
	movq	%r9, %r8
	leaq	(%rsi,%r12), %r15
	negq	%r8
	movb	$42, (%r15,%r8)
.L13:
	cmpl	$2, %edx
	je	.L12
	movl	8(%rax), %r15d
	leal	-1(%r15), %r8d
	cmpl	%ecx, %r8d
	jne	.L14
	movq	%r9, %r8
	leaq	(%rsi,%r13), %r15
	negq	%r8
	movb	$42, (%r15,%r8)
.L14:
	cmpl	$3, %edx
	je	.L12
	movl	12(%rax), %r15d
	leal	-1(%r15), %r8d
	cmpl	%ecx, %r8d
	jne	.L15
	movq	(%rsp), %r15
	movq	%r9, %r8
	negq	%r8
	addq	%rsi, %r15
	movb	$42, (%r15,%r8)
.L15:
	cmpl	$4, %edx
	je	.L12
	movl	16(%rax), %r15d
	leal	-1(%r15), %r8d
	cmpl	%ecx, %r8d
	jne	.L16
	movq	%r9, %r8
	leaq	(%rsi,%r14), %r15
	negq	%r8
	movb	$42, (%r15,%r8)
.L16:
	cmpl	$5, %edx
	je	.L12
	movl	20(%rax), %r15d
	leal	-1(%r15), %r8d
	cmpl	%ecx, %r8d
	jne	.L17
	movq	%r9, %r8
	leaq	(%rsi,%rbx), %r15
	negq	%r8
	movb	$42, (%r15,%r8)
.L17:
	cmpl	$6, %edx
	je	.L12
	movl	24(%rax), %r15d
	leal	6(%r10), %r8d
	movslq	%r8d, %r8
	subl	$1, %r15d
	cmpl	%ecx, %r15d
	jne	.L18
	movq	%r9, %r15
	addq	%rsi, %r8
	negq	%r15
	movb	$42, (%r8,%r15)
.L18:
	cmpl	$7, %edx
	je	.L12
	movl	28(%rax), %r8d
	leal	7(%r10), %r15d
	movslq	%r15d, %r15
	subl	$1, %r8d
	cmpl	%ecx, %r8d
	jne	.L19
	movq	%r9, %r8
	addq	%rsi, %r15
	negq	%r8
	movb	$42, (%r15,%r8)
.L19:
	cmpl	$8, %edx
	je	.L12
	movl	32(%rax), %r15d
	leal	8(%r10), %r8d
	movslq	%r8d, %r8
	subl	$1, %r15d
	cmpl	%ecx, %r15d
	jne	.L12
	movq	%r9, %rcx
	addq	%rsi, %r8
	negq	%rcx
	movb	$42, (%r8,%rcx)
	.p2align 4,,10
	.p2align 3
.L12:
	addq	$9, %rsi
	addq	$36, %rax
	cmpq	%r11, %rsi
	jne	.L8
	addq	$1, %rdi
	cmpq	$9, %rdi
	jne	.L21
.L82:
	movq	72(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L83
	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
.L80:
	.cfi_restore_state
	movslq	%r10d, %r9
	leaq	map(%rip), %r11
	leal	-1(%rdi), %edi
	movslq	%esi, %rsi
	jmp	.L2
.L81:
	movslq	%r10d, %r9
	leaq	map(%rip), %r11
	leal	-1(%rdi), %edi
	movslq	%esi, %rsi
	jmp	.L2
.L83:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE23:
	.size	scan, .-scan
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC2:
	.string	"%c%d"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB24:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC0(%rip), %rdi
	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	$120, %rsp
	.cfi_def_cfa_offset 176
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	60(%rsp), %rsi
	call	__isoc99_scanf@PLT
	movl	60(%rsp), %r14d
	testl	%r14d, %r14d
	jle	.L484
	leaq	c_map(%rip), %rax
	movl	$0, 20(%rsp)
	movl	$0, 16(%rsp)
	movq	%rax, %r15
	movq	%rax, 24(%rsp)
.L85:
	leaq	map(%rip), %r13
	leaq	36(%r13), %rbx
.L86:
	leaq	-36(%rbx), %rbp
	.p2align 4,,10
	.p2align 3
.L87:
	movq	%rbp, %rsi
	leaq	.LC0(%rip), %rdi
	xorl	%eax, %eax
	addq	$4, %rbp
	call	__isoc99_scanf@PLT
	cmpq	%rbp, %rbx
	jne	.L87
	addq	$36, %rbx
	leaq	360+map(%rip), %rax
	cmpq	%rbx, %rax
	jne	.L86
	movdqa	.LC1(%rip), %xmm3
	movq	24(%rsp), %rax
	leaq	c_map(%rip), %r14
	movb	$32, 80+c_map(%rip)
	movq	%r15, 24(%rsp)
	leaq	map(%rip), %rdx
	movaps	%xmm3, (%rax)
	movq	%r14, %rax
	movaps	%xmm3, 16+c_map(%rip)
	movaps	%xmm3, 32+c_map(%rip)
	movaps	%xmm3, 48+c_map(%rip)
	movaps	%xmm3, 64+c_map(%rip)
	jmp	.L188
.L90:
	cmpl	$1, 68(%rsp)
	jg	.L494
.L101:
	cmpl	$1, 72(%rsp)
	jg	.L495
.L112:
	cmpl	$1, 76(%rsp)
	jg	.L496
.L123:
	cmpl	$1, 80(%rsp)
	jg	.L497
.L134:
	cmpl	$1, 84(%rsp)
	jg	.L498
.L145:
	cmpl	$1, 88(%rsp)
	jg	.L499
.L156:
	cmpl	$1, 92(%rsp)
	jg	.L500
.L167:
	cmpl	$1, 96(%rsp)
	jg	.L501
.L178:
	addq	$1, %rax
	leaq	9+c_map(%rip), %rdi
	addq	$4, %rdx
	cmpq	%rax, %rdi
	je	.L502
.L188:
	movl	(%rdx), %edi
	movl	72(%rdx), %esi
	pxor	%xmm0, %xmm0
	movl	$0, 96(%rsp)
	movaps	%xmm0, 64(%rsp)
	leal	-1(%rdi), %ebp
	movl	36(%rdx), %edi
	leal	-1(%rsi), %r11d
	movl	144(%rdx), %esi
	movslq	%ebp, %rcx
	movaps	%xmm0, 80(%rsp)
	leal	-1(%rdi), %ebx
	movl	108(%rdx), %edi
	addl	$1, 64(%rsp,%rcx,4)
	leal	-1(%rsi), %r9d
	movslq	%ebx, %rcx
	movl	216(%rdx), %esi
	addl	$1, 64(%rsp,%rcx,4)
	leal	-1(%rdi), %r10d
	movslq	%r11d, %rcx
	movl	180(%rdx), %edi
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%r10d, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	leal	-1(%rdi), %r8d
	leal	-1(%rsi), %edi
	movslq	%r9d, %rcx
	movl	252(%rdx), %esi
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%r8d, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%edi, %rcx
	subl	$1, %esi
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%esi, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	movl	288(%rdx), %ecx
	subl	$1, %ecx
	movslq	%ecx, %r12
	addl	$1, 64(%rsp,%r12,4)
	cmpl	$1, 64(%rsp)
	jle	.L90
	testl	%ebp, %ebp
	jne	.L91
	movb	$42, (%rax)
.L91:
	testl	%ebx, %ebx
	jne	.L92
	movb	$42, 9(%rax)
.L92:
	testl	%r11d, %r11d
	jne	.L93
	movb	$42, 18(%rax)
.L93:
	testl	%r10d, %r10d
	jne	.L94
	movb	$42, 27(%rax)
.L94:
	testl	%r9d, %r9d
	jne	.L95
	movb	$42, 36(%rax)
.L95:
	testl	%r8d, %r8d
	jne	.L96
	movb	$42, 45(%rax)
.L96:
	testl	%edi, %edi
	jne	.L97
	movb	$42, 54(%rax)
.L97:
	testl	%esi, %esi
	jne	.L98
	movb	$42, 63(%rax)
.L98:
	testl	%ecx, %ecx
	jne	.L90
	cmpl	$1, 68(%rsp)
	movb	$42, 72(%rax)
	jle	.L101
.L494:
	cmpl	$1, %ebp
	jne	.L102
	movb	$42, (%rax)
.L102:
	cmpl	$1, %ebx
	jne	.L103
	movb	$42, 9(%rax)
.L103:
	cmpl	$1, %r11d
	jne	.L104
	movb	$42, 18(%rax)
.L104:
	cmpl	$1, %r10d
	jne	.L105
	movb	$42, 27(%rax)
.L105:
	cmpl	$1, %r9d
	jne	.L106
	movb	$42, 36(%rax)
.L106:
	cmpl	$1, %r8d
	jne	.L107
	movb	$42, 45(%rax)
.L107:
	cmpl	$1, %edi
	jne	.L108
	movb	$42, 54(%rax)
.L108:
	cmpl	$1, %esi
	jne	.L109
	movb	$42, 63(%rax)
.L109:
	cmpl	$1, %ecx
	jne	.L101
	cmpl	$1, 72(%rsp)
	movb	$42, 72(%rax)
	jle	.L112
.L495:
	cmpl	$2, %ebp
	jne	.L113
	movb	$42, (%rax)
.L113:
	cmpl	$2, %ebx
	jne	.L114
	movb	$42, 9(%rax)
.L114:
	cmpl	$2, %r11d
	jne	.L115
	movb	$42, 18(%rax)
.L115:
	cmpl	$2, %r10d
	jne	.L116
	movb	$42, 27(%rax)
.L116:
	cmpl	$2, %r9d
	jne	.L117
	movb	$42, 36(%rax)
.L117:
	cmpl	$2, %r8d
	jne	.L118
	movb	$42, 45(%rax)
.L118:
	cmpl	$2, %edi
	jne	.L119
	movb	$42, 54(%rax)
.L119:
	cmpl	$2, %esi
	jne	.L120
	movb	$42, 63(%rax)
.L120:
	cmpl	$2, %ecx
	jne	.L112
	cmpl	$1, 76(%rsp)
	movb	$42, 72(%rax)
	jle	.L123
.L496:
	cmpl	$3, %ebp
	jne	.L124
	movb	$42, (%rax)
.L124:
	cmpl	$3, %ebx
	jne	.L125
	movb	$42, 9(%rax)
.L125:
	cmpl	$3, %r11d
	jne	.L126
	movb	$42, 18(%rax)
.L126:
	cmpl	$3, %r10d
	jne	.L127
	movb	$42, 27(%rax)
.L127:
	cmpl	$3, %r9d
	jne	.L128
	movb	$42, 36(%rax)
.L128:
	cmpl	$3, %r8d
	jne	.L129
	movb	$42, 45(%rax)
.L129:
	cmpl	$3, %edi
	jne	.L130
	movb	$42, 54(%rax)
.L130:
	cmpl	$3, %esi
	jne	.L131
	movb	$42, 63(%rax)
.L131:
	cmpl	$3, %ecx
	jne	.L123
	cmpl	$1, 80(%rsp)
	movb	$42, 72(%rax)
	jle	.L134
.L497:
	cmpl	$4, %ebp
	jne	.L135
	movb	$42, (%rax)
.L135:
	cmpl	$4, %ebx
	jne	.L136
	movb	$42, 9(%rax)
.L136:
	cmpl	$4, %r11d
	jne	.L137
	movb	$42, 18(%rax)
.L137:
	cmpl	$4, %r10d
	jne	.L138
	movb	$42, 27(%rax)
.L138:
	cmpl	$4, %r9d
	jne	.L139
	movb	$42, 36(%rax)
.L139:
	cmpl	$4, %r8d
	jne	.L140
	movb	$42, 45(%rax)
.L140:
	cmpl	$4, %edi
	jne	.L141
	movb	$42, 54(%rax)
.L141:
	cmpl	$4, %esi
	jne	.L142
	movb	$42, 63(%rax)
.L142:
	cmpl	$4, %ecx
	jne	.L134
	cmpl	$1, 84(%rsp)
	movb	$42, 72(%rax)
	jle	.L145
.L498:
	cmpl	$5, %ebp
	jne	.L146
	movb	$42, (%rax)
.L146:
	cmpl	$5, %ebx
	jne	.L147
	movb	$42, 9(%rax)
.L147:
	cmpl	$5, %r11d
	jne	.L148
	movb	$42, 18(%rax)
.L148:
	cmpl	$5, %r10d
	jne	.L149
	movb	$42, 27(%rax)
.L149:
	cmpl	$5, %r9d
	jne	.L150
	movb	$42, 36(%rax)
.L150:
	cmpl	$5, %r8d
	jne	.L151
	movb	$42, 45(%rax)
.L151:
	cmpl	$5, %edi
	jne	.L152
	movb	$42, 54(%rax)
.L152:
	cmpl	$5, %esi
	jne	.L153
	movb	$42, 63(%rax)
.L153:
	cmpl	$5, %ecx
	jne	.L145
	cmpl	$1, 88(%rsp)
	movb	$42, 72(%rax)
	jle	.L156
.L499:
	cmpl	$6, %ebp
	jne	.L157
	movb	$42, (%rax)
.L157:
	cmpl	$6, %ebx
	jne	.L158
	movb	$42, 9(%rax)
.L158:
	cmpl	$6, %r11d
	jne	.L159
	movb	$42, 18(%rax)
.L159:
	cmpl	$6, %r10d
	jne	.L160
	movb	$42, 27(%rax)
.L160:
	cmpl	$6, %r9d
	jne	.L161
	movb	$42, 36(%rax)
.L161:
	cmpl	$6, %r8d
	jne	.L162
	movb	$42, 45(%rax)
.L162:
	cmpl	$6, %edi
	jne	.L163
	movb	$42, 54(%rax)
.L163:
	cmpl	$6, %esi
	jne	.L164
	movb	$42, 63(%rax)
.L164:
	cmpl	$6, %ecx
	jne	.L156
	cmpl	$1, 92(%rsp)
	movb	$42, 72(%rax)
	jle	.L167
.L500:
	cmpl	$7, %ebp
	jne	.L168
	movb	$42, (%rax)
.L168:
	cmpl	$7, %ebx
	jne	.L169
	movb	$42, 9(%rax)
.L169:
	cmpl	$7, %r11d
	jne	.L170
	movb	$42, 18(%rax)
.L170:
	cmpl	$7, %r10d
	jne	.L171
	movb	$42, 27(%rax)
.L171:
	cmpl	$7, %r9d
	jne	.L172
	movb	$42, 36(%rax)
.L172:
	cmpl	$7, %r8d
	jne	.L173
	movb	$42, 45(%rax)
.L173:
	cmpl	$7, %edi
	jne	.L174
	movb	$42, 54(%rax)
.L174:
	cmpl	$7, %esi
	jne	.L175
	movb	$42, 63(%rax)
.L175:
	cmpl	$7, %ecx
	jne	.L167
	cmpl	$1, 96(%rsp)
	movb	$42, 72(%rax)
	jle	.L178
.L501:
	cmpl	$8, %ebp
	jne	.L179
	movb	$42, (%rax)
.L179:
	cmpl	$8, %ebx
	jne	.L180
	movb	$42, 9(%rax)
.L180:
	cmpl	$8, %r11d
	jne	.L181
	movb	$42, 18(%rax)
.L181:
	cmpl	$8, %r10d
	jne	.L182
	movb	$42, 27(%rax)
.L182:
	cmpl	$8, %r9d
	jne	.L183
	movb	$42, 36(%rax)
.L183:
	cmpl	$8, %r8d
	jne	.L184
	movb	$42, 45(%rax)
.L184:
	cmpl	$8, %edi
	jne	.L185
	movb	$42, 54(%rax)
.L185:
	cmpl	$8, %esi
	jne	.L186
	movb	$42, 63(%rax)
.L186:
	cmpl	$8, %ecx
	jne	.L178
	movb	$42, 72(%rax)
	jmp	.L178
.L502:
	leaq	-9(%rdi), %rax
	leaq	map(%rip), %rdx
	jmp	.L342
.L198:
	cmpl	$1, 68(%rsp)
	jg	.L503
.L215:
	cmpl	$1, 72(%rsp)
	jg	.L504
.L232:
	cmpl	$1, 76(%rsp)
	jg	.L505
.L249:
	cmpl	$1, 80(%rsp)
	jg	.L506
.L266:
	cmpl	$1, 84(%rsp)
	jg	.L507
.L283:
	cmpl	$1, 88(%rsp)
	jg	.L508
.L300:
	cmpl	$1, 92(%rsp)
	jg	.L509
.L317:
	cmpl	$1, 96(%rsp)
	jg	.L510
.L334:
	addq	$9, %rax
	leaq	81+c_map(%rip), %rsi
	addq	$36, %rdx
	cmpq	%rsi, %rax
	je	.L511
.L342:
	movl	(%rdx), %edi
	movl	4(%rdx), %esi
	pxor	%xmm1, %xmm1
	movl	$0, 96(%rsp)
	movaps	%xmm1, 64(%rsp)
	leal	-1(%rdi), %ebp
	leal	-1(%rsi), %ebx
	movl	8(%rdx), %edi
	movaps	%xmm1, 80(%rsp)
	movslq	%ebp, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%ebx, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	leal	-1(%rdi), %ecx
	movslq	%ecx, %rsi
	addl	$1, 64(%rsp,%rsi,4)
	movl	12(%rdx), %esi
	subl	$1, %esi
	movslq	%esi, %rdi
	addl	$1, 64(%rsp,%rdi,4)
	movl	16(%rdx), %edi
	subl	$1, %edi
	movslq	%edi, %r8
	addl	$1, 64(%rsp,%r8,4)
	movl	20(%rdx), %r8d
	subl	$1, %r8d
	movslq	%r8d, %r9
	addl	$1, 64(%rsp,%r9,4)
	movl	24(%rdx), %r9d
	subl	$1, %r9d
	movslq	%r9d, %r10
	addl	$1, 64(%rsp,%r10,4)
	movl	28(%rdx), %r10d
	subl	$1, %r10d
	movslq	%r10d, %r11
	addl	$1, 64(%rsp,%r11,4)
	movl	32(%rdx), %r11d
	subl	$1, %r11d
	movslq	%r11d, %r12
	addl	$1, 64(%rsp,%r12,4)
	cmpl	$1, 64(%rsp)
	jle	.L198
	testl	%ebp, %ebp
	jne	.L190
	movb	$42, (%rax)
.L190:
	testl	%ebx, %ebx
	jne	.L205
	movb	$42, 1(%rax)
.L205:
	testl	%ecx, %ecx
	jne	.L204
	movb	$42, 2(%rax)
.L204:
	testl	%esi, %esi
	jne	.L203
	movb	$42, 3(%rax)
.L203:
	testl	%edi, %edi
	jne	.L202
	movb	$42, 4(%rax)
.L202:
	testl	%r8d, %r8d
	jne	.L201
	movb	$42, 5(%rax)
.L201:
	testl	%r9d, %r9d
	jne	.L200
	movb	$42, 6(%rax)
.L200:
	testl	%r10d, %r10d
	jne	.L199
	movb	$42, 7(%rax)
.L199:
	testl	%r11d, %r11d
	jne	.L198
	cmpl	$1, 68(%rsp)
	movb	$42, 8(%rax)
	jle	.L215
.L503:
	cmpl	$1, %ebp
	jne	.L207
	movb	$42, (%rax)
.L207:
	cmpl	$1, %ebx
	jne	.L222
	movb	$42, 1(%rax)
.L222:
	cmpl	$1, %ecx
	jne	.L221
	movb	$42, 2(%rax)
.L221:
	cmpl	$1, %esi
	jne	.L220
	movb	$42, 3(%rax)
.L220:
	cmpl	$1, %edi
	jne	.L219
	movb	$42, 4(%rax)
.L219:
	cmpl	$1, %r8d
	jne	.L218
	movb	$42, 5(%rax)
.L218:
	cmpl	$1, %r9d
	jne	.L217
	movb	$42, 6(%rax)
.L217:
	cmpl	$1, %r10d
	jne	.L216
	movb	$42, 7(%rax)
.L216:
	cmpl	$1, %r11d
	jne	.L215
	cmpl	$1, 72(%rsp)
	movb	$42, 8(%rax)
	jle	.L232
.L504:
	cmpl	$2, %ebp
	jne	.L224
	movb	$42, (%rax)
.L224:
	cmpl	$2, %ebx
	jne	.L239
	movb	$42, 1(%rax)
.L239:
	cmpl	$2, %ecx
	jne	.L238
	movb	$42, 2(%rax)
.L238:
	cmpl	$2, %esi
	jne	.L237
	movb	$42, 3(%rax)
.L237:
	cmpl	$2, %edi
	jne	.L236
	movb	$42, 4(%rax)
.L236:
	cmpl	$2, %r8d
	jne	.L235
	movb	$42, 5(%rax)
.L235:
	cmpl	$2, %r9d
	jne	.L234
	movb	$42, 6(%rax)
.L234:
	cmpl	$2, %r10d
	jne	.L233
	movb	$42, 7(%rax)
.L233:
	cmpl	$2, %r11d
	jne	.L232
	cmpl	$1, 76(%rsp)
	movb	$42, 8(%rax)
	jle	.L249
.L505:
	cmpl	$3, %ebp
	jne	.L241
	movb	$42, (%rax)
.L241:
	cmpl	$3, %ebx
	jne	.L256
	movb	$42, 1(%rax)
.L256:
	cmpl	$3, %ecx
	jne	.L255
	movb	$42, 2(%rax)
.L255:
	cmpl	$3, %esi
	jne	.L254
	movb	$42, 3(%rax)
.L254:
	cmpl	$3, %edi
	jne	.L253
	movb	$42, 4(%rax)
.L253:
	cmpl	$3, %r8d
	jne	.L252
	movb	$42, 5(%rax)
.L252:
	cmpl	$3, %r9d
	jne	.L251
	movb	$42, 6(%rax)
.L251:
	cmpl	$3, %r10d
	jne	.L250
	movb	$42, 7(%rax)
.L250:
	cmpl	$3, %r11d
	jne	.L249
	cmpl	$1, 80(%rsp)
	movb	$42, 8(%rax)
	jle	.L266
.L506:
	cmpl	$4, %ebp
	jne	.L258
	movb	$42, (%rax)
.L258:
	cmpl	$4, %ebx
	jne	.L273
	movb	$42, 1(%rax)
.L273:
	cmpl	$4, %ecx
	jne	.L272
	movb	$42, 2(%rax)
.L272:
	cmpl	$4, %esi
	jne	.L271
	movb	$42, 3(%rax)
.L271:
	cmpl	$4, %edi
	jne	.L270
	movb	$42, 4(%rax)
.L270:
	cmpl	$4, %r8d
	jne	.L269
	movb	$42, 5(%rax)
.L269:
	cmpl	$4, %r9d
	jne	.L268
	movb	$42, 6(%rax)
.L268:
	cmpl	$4, %r10d
	jne	.L267
	movb	$42, 7(%rax)
.L267:
	cmpl	$4, %r11d
	jne	.L266
	cmpl	$1, 84(%rsp)
	movb	$42, 8(%rax)
	jle	.L283
.L507:
	cmpl	$5, %ebp
	jne	.L275
	movb	$42, (%rax)
.L275:
	cmpl	$5, %ebx
	jne	.L290
	movb	$42, 1(%rax)
.L290:
	cmpl	$5, %ecx
	jne	.L289
	movb	$42, 2(%rax)
.L289:
	cmpl	$5, %esi
	jne	.L288
	movb	$42, 3(%rax)
.L288:
	cmpl	$5, %edi
	jne	.L287
	movb	$42, 4(%rax)
.L287:
	cmpl	$5, %r8d
	jne	.L286
	movb	$42, 5(%rax)
.L286:
	cmpl	$5, %r9d
	jne	.L285
	movb	$42, 6(%rax)
.L285:
	cmpl	$5, %r10d
	jne	.L284
	movb	$42, 7(%rax)
.L284:
	cmpl	$5, %r11d
	jne	.L283
	cmpl	$1, 88(%rsp)
	movb	$42, 8(%rax)
	jle	.L300
.L508:
	cmpl	$6, %ebp
	jne	.L292
	movb	$42, (%rax)
.L292:
	cmpl	$6, %ebx
	jne	.L307
	movb	$42, 1(%rax)
.L307:
	cmpl	$6, %ecx
	jne	.L306
	movb	$42, 2(%rax)
.L306:
	cmpl	$6, %esi
	jne	.L305
	movb	$42, 3(%rax)
.L305:
	cmpl	$6, %edi
	jne	.L304
	movb	$42, 4(%rax)
.L304:
	cmpl	$6, %r8d
	jne	.L303
	movb	$42, 5(%rax)
.L303:
	cmpl	$6, %r9d
	jne	.L302
	movb	$42, 6(%rax)
.L302:
	cmpl	$6, %r10d
	jne	.L301
	movb	$42, 7(%rax)
.L301:
	cmpl	$6, %r11d
	jne	.L300
	cmpl	$1, 92(%rsp)
	movb	$42, 8(%rax)
	jle	.L317
.L509:
	cmpl	$7, %ebp
	jne	.L309
	movb	$42, (%rax)
.L309:
	cmpl	$7, %ebx
	jne	.L324
	movb	$42, 1(%rax)
.L324:
	cmpl	$7, %ecx
	jne	.L323
	movb	$42, 2(%rax)
.L323:
	cmpl	$7, %esi
	jne	.L322
	movb	$42, 3(%rax)
.L322:
	cmpl	$7, %edi
	jne	.L321
	movb	$42, 4(%rax)
.L321:
	cmpl	$7, %r8d
	jne	.L320
	movb	$42, 5(%rax)
.L320:
	cmpl	$7, %r9d
	jne	.L319
	movb	$42, 6(%rax)
.L319:
	cmpl	$7, %r10d
	jne	.L318
	movb	$42, 7(%rax)
.L318:
	cmpl	$7, %r11d
	jne	.L317
	cmpl	$1, 96(%rsp)
	movb	$42, 8(%rax)
	jle	.L334
.L510:
	cmpl	$8, %ebp
	jne	.L326
	movb	$42, (%rax)
.L326:
	cmpl	$8, %ebx
	jne	.L341
	movb	$42, 1(%rax)
.L341:
	cmpl	$8, %ecx
	jne	.L340
	movb	$42, 2(%rax)
.L340:
	cmpl	$8, %esi
	jne	.L339
	movb	$42, 3(%rax)
.L339:
	cmpl	$8, %edi
	jne	.L338
	movb	$42, 4(%rax)
.L338:
	cmpl	$8, %r8d
	jne	.L337
	movb	$42, 5(%rax)
.L337:
	cmpl	$8, %r9d
	jne	.L336
	movb	$42, 6(%rax)
.L336:
	cmpl	$8, %r10d
	jne	.L335
	movb	$42, 7(%rax)
.L335:
	cmpl	$8, %r11d
	jne	.L334
	movb	$42, 8(%rax)
	jmp	.L334
.L511:
	movl	$0, (%rsp)
	movq	%r14, 32(%rsp)
	movq	%r13, 40(%rsp)
	jmp	.L478
.L352:
	cmpl	$1, 68(%rsp)
	jg	.L512
.L367:
	cmpl	$1, 72(%rsp)
	jg	.L513
.L382:
	cmpl	$1, 76(%rsp)
	jg	.L514
.L397:
	cmpl	$1, 80(%rsp)
	jg	.L515
.L412:
	cmpl	$1, 84(%rsp)
	jg	.L516
.L427:
	cmpl	$1, 88(%rsp)
	jg	.L517
.L442:
	cmpl	$1, 92(%rsp)
	jg	.L518
.L457:
	cmpl	$1, 96(%rsp)
	jg	.L519
.L472:
	addl	$1, (%rsp)
	movl	(%rsp), %eax
	cmpl	$9, %eax
	je	.L520
.L478:
	movl	(%rsp), %eax
	movl	$2863311531, %edi
	pxor	%xmm2, %xmm2
	leaq	map(%rip), %rbx
	movl	$0, 96(%rsp)
	movq	%rax, %rsi
	imulq	%rdi, %rax
	movaps	%xmm2, 64(%rsp)
	movaps	%xmm2, 80(%rsp)
	shrq	$33, %rax
	leal	(%rax,%rax,2), %edx
	movl	%esi, %eax
	subl	%edx, %eax
	movslq	%edx, %r8
	leal	1(%rdx), %edi
	addl	$2, %edx
	leal	(%rax,%rax,2), %eax
	movslq	%edi, %rdi
	movslq	%eax, %rsi
	leaq	(%rsi,%rsi,8), %r13
	leaq	0(%r13,%r8), %rcx
	movl	(%rbx,%rcx,4), %r12d
	subl	$1, %r12d
	movslq	%r12d, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	leaq	0(%r13,%rdi), %rcx
	movl	(%rbx,%rcx,4), %ebp
	subl	$1, %ebp
	movslq	%ebp, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%edx, %rcx
	leaq	0(%r13,%rcx), %rdx
	movl	(%rbx,%rdx,4), %edx
	subl	$1, %edx
	movl	%edx, 4(%rsp)
	movslq	%edx, %rdx
	addl	$1, 64(%rsp,%rdx,4)
	leal	1(%rax), %edx
	addl	$2, %eax
	movslq	%edx, %rdx
	cltq
	leaq	(%rdx,%rdx,8), %r9
	leaq	(%r9,%r8), %r10
	movl	(%rbx,%r10,4), %r10d
	leal	-1(%r10), %r11d
	movslq	%r11d, %r10
	movl	%r11d, 8(%rsp)
	movq	%rbx, %r11
	addl	$1, 64(%rsp,%r10,4)
	leaq	(%r9,%rdi), %r10
	addq	%rcx, %r9
	movl	(%rbx,%r10,4), %r10d
	movl	(%rbx,%r9,4), %r9d
	leaq	(%rax,%rax,8), %rbx
	leal	-1(%r10), %r14d
	subl	$1, %r9d
	movslq	%r14d, %r10
	movl	%r14d, 12(%rsp)
	movq	%r11, %r14
	addl	$1, 64(%rsp,%r10,4)
	movslq	%r9d, %r10
	addl	$1, 64(%rsp,%r10,4)
	leaq	(%rbx,%r8), %r10
	movl	(%r11,%r10,4), %r10d
	subl	$1, %r10d
	movslq	%r10d, %r11
	addl	$1, 64(%rsp,%r11,4)
	leaq	(%rbx,%rdi), %r11
	addq	%rcx, %rbx
	movl	(%r14,%r11,4), %r11d
	subl	$1, %r11d
	movslq	%r11d, %r14
	addl	$1, 64(%rsp,%r14,4)
	leaq	map(%rip), %r14
	movl	(%r14,%rbx,4), %ebx
	subl	$1, %ebx
	movslq	%ebx, %r14
	addl	$1, 64(%rsp,%r14,4)
	cmpl	$1, 64(%rsp)
	jle	.L352
	testl	%r12d, %r12d
	jne	.L344
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L344:
	testl	%ebp, %ebp
	jne	.L357
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L357:
	movl	4(%rsp), %r13d
	testl	%r13d, %r13d
	jne	.L356
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L356:
	movl	8(%rsp), %r14d
	testl	%r14d, %r14d
	jne	.L347
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L347:
	movl	12(%rsp), %r13d
	testl	%r13d, %r13d
	jne	.L355
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L355:
	testl	%r9d, %r9d
	jne	.L354
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L354:
	testl	%r10d, %r10d
	jne	.L350
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L350:
	testl	%r11d, %r11d
	jne	.L353
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L353:
	testl	%ebx, %ebx
	jne	.L352
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 68(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L367
.L512:
	cmpl	$1, %r12d
	jne	.L359
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L359:
	cmpl	$1, %ebp
	jne	.L372
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L372:
	cmpl	$1, 4(%rsp)
	jne	.L371
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L371:
	cmpl	$1, 8(%rsp)
	jne	.L362
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L362:
	cmpl	$1, 12(%rsp)
	jne	.L370
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L370:
	cmpl	$1, %r9d
	jne	.L369
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L369:
	cmpl	$1, %r10d
	jne	.L365
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L365:
	cmpl	$1, %r11d
	jne	.L368
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L368:
	cmpl	$1, %ebx
	jne	.L367
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 72(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L382
.L513:
	cmpl	$2, %r12d
	jne	.L374
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L374:
	cmpl	$2, %ebp
	jne	.L387
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L387:
	cmpl	$2, 4(%rsp)
	jne	.L386
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L386:
	cmpl	$2, 8(%rsp)
	jne	.L377
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L377:
	cmpl	$2, 12(%rsp)
	jne	.L385
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L385:
	cmpl	$2, %r9d
	jne	.L384
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L384:
	cmpl	$2, %r10d
	jne	.L380
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L380:
	cmpl	$2, %r11d
	jne	.L383
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L383:
	cmpl	$2, %ebx
	jne	.L382
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 76(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L397
.L514:
	cmpl	$3, %r12d
	jne	.L389
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L389:
	cmpl	$3, %ebp
	jne	.L402
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L402:
	cmpl	$3, 4(%rsp)
	jne	.L401
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L401:
	cmpl	$3, 8(%rsp)
	jne	.L392
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L392:
	cmpl	$3, 12(%rsp)
	jne	.L400
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L400:
	cmpl	$3, %r9d
	jne	.L399
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L399:
	cmpl	$3, %r10d
	jne	.L395
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L395:
	cmpl	$3, %r11d
	jne	.L398
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L398:
	cmpl	$3, %ebx
	jne	.L397
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 80(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L412
.L515:
	cmpl	$4, %r12d
	jne	.L404
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L404:
	cmpl	$4, %ebp
	jne	.L417
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L417:
	cmpl	$4, 4(%rsp)
	jne	.L416
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L416:
	cmpl	$4, 8(%rsp)
	jne	.L407
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L407:
	cmpl	$4, 12(%rsp)
	jne	.L415
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L415:
	cmpl	$4, %r9d
	jne	.L414
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L414:
	cmpl	$4, %r10d
	jne	.L410
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L410:
	cmpl	$4, %r11d
	jne	.L413
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L413:
	cmpl	$4, %ebx
	jne	.L412
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 84(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L427
.L516:
	cmpl	$5, %r12d
	jne	.L419
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L419:
	cmpl	$5, %ebp
	jne	.L432
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L432:
	cmpl	$5, 4(%rsp)
	jne	.L431
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L431:
	cmpl	$5, 8(%rsp)
	jne	.L422
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L422:
	cmpl	$5, 12(%rsp)
	jne	.L430
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L430:
	cmpl	$5, %r9d
	jne	.L429
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L429:
	cmpl	$5, %r10d
	jne	.L425
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L425:
	cmpl	$5, %r11d
	jne	.L428
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L428:
	cmpl	$5, %ebx
	jne	.L427
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 88(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L442
.L517:
	cmpl	$6, %r12d
	jne	.L434
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L434:
	cmpl	$6, %ebp
	jne	.L447
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L447:
	cmpl	$6, 4(%rsp)
	jne	.L446
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L446:
	cmpl	$6, 8(%rsp)
	jne	.L437
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L437:
	cmpl	$6, 12(%rsp)
	jne	.L445
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L445:
	cmpl	$6, %r9d
	jne	.L444
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L444:
	cmpl	$6, %r10d
	jne	.L440
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L440:
	cmpl	$6, %r11d
	jne	.L443
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L443:
	cmpl	$6, %ebx
	jne	.L442
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 92(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L457
.L518:
	cmpl	$7, %r12d
	jne	.L449
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L449:
	cmpl	$7, %ebp
	jne	.L462
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L462:
	cmpl	$7, 4(%rsp)
	jne	.L461
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L461:
	cmpl	$7, 8(%rsp)
	jne	.L452
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L452:
	cmpl	$7, 12(%rsp)
	jne	.L460
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L460:
	cmpl	$7, %r9d
	jne	.L459
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L459:
	cmpl	$7, %r10d
	jne	.L455
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L455:
	cmpl	$7, %r11d
	jne	.L458
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L458:
	cmpl	$7, %ebx
	jne	.L457
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 96(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L472
.L519:
	cmpl	$8, %r12d
	jne	.L464
	leaq	(%rsi,%rsi,8), %r12
	addq	%r15, %r12
	movb	$42, (%r12,%r8)
.L464:
	cmpl	$8, %ebp
	jne	.L477
	leaq	(%rsi,%rsi,8), %rbp
	addq	%r15, %rbp
	movb	$42, 0(%rbp,%rdi)
.L477:
	cmpl	$8, 4(%rsp)
	jne	.L476
	leaq	(%rsi,%rsi,8), %rsi
	addq	%r15, %rsi
	movb	$42, (%rsi,%rcx)
.L476:
	cmpl	$8, 8(%rsp)
	jne	.L467
	leaq	(%rdx,%rdx,8), %rsi
	addq	%r15, %rsi
	movb	$42, (%rsi,%r8)
.L467:
	cmpl	$8, 12(%rsp)
	jne	.L475
	leaq	(%rdx,%rdx,8), %rsi
	addq	%r15, %rsi
	movb	$42, (%rsi,%rdi)
.L475:
	cmpl	$8, %r9d
	jne	.L474
	leaq	(%rdx,%rdx,8), %rdx
	addq	%r15, %rdx
	movb	$42, (%rdx,%rcx)
.L474:
	cmpl	$8, %r10d
	jne	.L470
	leaq	(%rax,%rax,8), %rdx
	addq	%r15, %rdx
	movb	$42, (%rdx,%r8)
.L470:
	cmpl	$8, %r11d
	jne	.L473
	leaq	(%rax,%rax,8), %rdx
	addq	%r15, %rdx
	movb	$42, (%rdx,%rdi)
.L473:
	cmpl	$8, %ebx
	jne	.L472
	leaq	(%rax,%rax,8), %rax
	addl	$1, (%rsp)
	addq	%r15, %rax
	movb	$42, (%rax,%rcx)
	movl	(%rsp), %eax
	cmpl	$9, %eax
	jne	.L478
.L520:
	movq	32(%rsp), %r14
	movq	40(%rsp), %r13
.L479:
	xorl	%ebx, %ebx
	.p2align 4,,10
	.p2align 3
.L480:
	movl	0(%r13,%rbx,4), %ecx
	movsbl	(%r14,%rbx), %edx
	leaq	.LC2(%rip), %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	addq	$1, %rbx
	call	__printf_chk@PLT
	cmpq	$9, %rbx
	jne	.L480
	movl	$10, %edi
	addq	$36, %r13
	addq	$9, %r14
	call	putchar@PLT
	leaq	324+map(%rip), %rax
	cmpq	%rax, %r13
	jne	.L479
	movl	20(%rsp), %edx
	addl	$1, 16(%rsp)
	movl	60(%rsp), %eax
	movl	16(%rsp), %esi
	testl	%edx, %edx
	jne	.L482
	cmpl	%eax, %esi
	jge	.L484
.L483:
	movl	$10, %edi
	call	putchar@PLT
	movl	$1, 20(%rsp)
	jmp	.L85
.L482:
	cmpl	%eax, 16(%rsp)
	jl	.L483
.L484:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L521
	addq	$120, %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
.L521:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE24:
	.size	main, .-main
	.globl	c_map
	.bss
	.align 32
	.type	c_map, @object
	.size	c_map, 81
c_map:
	.zero	81
	.globl	map
	.align 32
	.type	map, @object
	.size	map, 324
map:
	.zero	324
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC1:
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.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
	.p2align 4
	.globl	scan
	.type	scan, @function
scan:
.LFB23:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pxor	%xmm0, %xmm0
	movl	%edi, %r10d
	movl	%edx, %edi
	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	%edx, 24(%rsp)
	movl	%ecx, %edx
	movq	%fs:40, %rax
	movq	%rax, 72(%rsp)
	xorl	%eax, %eax
	movl	$0, 64(%rsp)
	movaps	%xmm0, 32(%rsp)
	movaps	%xmm0, 48(%rsp)
	testl	%edi, %edi
	jle	.L80
	testl	%ecx, %ecx
	jle	.L81
	movslq	%esi, %rsi
	leal	-1(%rdi), %ecx
	leaq	map(%rip), %r11
	movslq	%r10d, %r9
	movq	%rcx, %rdi
	leaq	(%rsi,%rsi,8), %rax
	leaq	36(%r11), %r8
	addq	%rsi, %rcx
	leaq	(%rcx,%rcx,8), %rcx
	addq	%r9, %rax
	addq	%r9, %rcx
	leaq	(%r11,%rax,4), %rax
	leaq	(%r8,%rcx,4), %r8
	.p2align 4,,10
	.p2align 3
.L4:
	movl	(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$1, %edx
	je	.L5
	movl	4(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$2, %edx
	je	.L5
	movl	8(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$3, %edx
	je	.L5
	movl	12(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$4, %edx
	je	.L5
	movl	16(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$5, %edx
	je	.L5
	movl	20(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$6, %edx
	je	.L5
	movl	24(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$7, %edx
	je	.L5
	movl	28(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
	cmpl	$8, %edx
	je	.L5
	movl	32(%rax), %ebx
	leal	-1(%rbx), %ecx
	movslq	%ecx, %rcx
	addl	$1, 32(%rsp,%rcx,4)
.L5:
	addq	$36, %rax
	cmpq	%r8, %rax
	jne	.L4
.L2:
	leaq	(%rsi,%rsi,8), %rax
	leaq	c_map(%rip), %rcx
	addq	%r9, %rax
	leal	1(%r10), %r12d
	leal	2(%r10), %r13d
	leaq	(%r11,%rax,4), %rbx
	addq	%rcx, %rax
	leaq	32(%rsp), %rbp
	movslq	%r12d, %r12
	movq	%rax, 16(%rsp)
	movl	%edi, %eax
	movslq	%r13d, %r13
	xorl	%edi, %edi
	addq	%rsi, %rax
	movq	%rbx, 8(%rsp)
	leaq	(%rax,%rax,8), %r11
	leaq	9(%rcx), %rax
	addq	%r9, %rax
	addq	%rax, %r11
	leal	3(%r10), %eax
	cltq
	movq	%rax, (%rsp)
	leal	4(%r10), %eax
	movl	%eax, 28(%rsp)
	jmp	.L21
	.p2align 4,,10
	.p2align 3
.L7:
	addq	$1, %rdi
	cmpq	$9, %rdi
	je	.L82
.L21:
	cmpl	$1, 0(%rbp,%rdi,4)
	jle	.L7
	movl	24(%rsp), %eax
	testl	%eax, %eax
	jle	.L7
	leal	5(%r10), %ebx
	movq	16(%rsp), %rsi
	movq	8(%rsp), %rax
	movslq	28(%rsp), %r14
	movslq	%ebx, %rbx
	testl	%edx, %edx
	jle	.L7
	.p2align 4,,10
	.p2align 3
.L8:
	movl	(%rax), %r15d
	movl	%edi, %ecx
	leal	-1(%r15), %r8d
	cmpl	%edi, %r8d
	jne	.L11
	movb	$42, (%rsi)
.L11:
	cmpl	$1, %edx
	je	.L12
	movl	4(%rax), %r15d
	leal	-1(%r15), %r8d
	cmpl	%ecx, %r8d
	jne	.L13
	movq	%r9, %r8
	leaq	(%rsi,%r12), %r15
	negq	%r8
	movb	$42, (%r15,%r8)
.L13:
	cmpl	$2, %edx
	je	.L12
	movl	8(%rax), %r15d
	leal	-1(%r15), %r8d
	cmpl	%ecx, %r8d
	jne	.L14
	movq	%r9, %r8
	leaq	(%rsi,%r13), %r15
	negq	%r8
	movb	$42, (%r15,%r8)
.L14:
	cmpl	$3, %edx
	je	.L12
	movl	12(%rax), %r15d
	leal	-1(%r15), %r8d
	cmpl	%ecx, %r8d
	jne	.L15
	movq	(%rsp), %r15
	movq	%r9, %r8
	negq	%r8
	addq	%rsi, %r15
	movb	$42, (%r15,%r8)
.L15:
	cmpl	$4, %edx
	je	.L12
	movl	16(%rax), %r15d
	leal	-1(%r15), %r8d
	cmpl	%ecx, %r8d
	jne	.L16
	movq	%r9, %r8
	leaq	(%rsi,%r14), %r15
	negq	%r8
	movb	$42, (%r15,%r8)
.L16:
	cmpl	$5, %edx
	je	.L12
	movl	20(%rax), %r15d
	leal	-1(%r15), %r8d
	cmpl	%ecx, %r8d
	jne	.L17
	movq	%r9, %r8
	leaq	(%rsi,%rbx), %r15
	negq	%r8
	movb	$42, (%r15,%r8)
.L17:
	cmpl	$6, %edx
	je	.L12
	movl	24(%rax), %r15d
	leal	6(%r10), %r8d
	movslq	%r8d, %r8
	subl	$1, %r15d
	cmpl	%ecx, %r15d
	jne	.L18
	movq	%r9, %r15
	addq	%rsi, %r8
	negq	%r15
	movb	$42, (%r8,%r15)
.L18:
	cmpl	$7, %edx
	je	.L12
	movl	28(%rax), %r8d
	leal	7(%r10), %r15d
	movslq	%r15d, %r15
	subl	$1, %r8d
	cmpl	%ecx, %r8d
	jne	.L19
	movq	%r9, %r8
	addq	%rsi, %r15
	negq	%r8
	movb	$42, (%r15,%r8)
.L19:
	cmpl	$8, %edx
	je	.L12
	movl	32(%rax), %r15d
	leal	8(%r10), %r8d
	movslq	%r8d, %r8
	subl	$1, %r15d
	cmpl	%ecx, %r15d
	jne	.L12
	movq	%r9, %rcx
	addq	%rsi, %r8
	negq	%rcx
	movb	$42, (%r8,%rcx)
	.p2align 4,,10
	.p2align 3
.L12:
	addq	$9, %rsi
	addq	$36, %rax
	cmpq	%r11, %rsi
	jne	.L8
	addq	$1, %rdi
	cmpq	$9, %rdi
	jne	.L21
.L82:
	movq	72(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L83
	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
.L80:
	.cfi_restore_state
	movslq	%r10d, %r9
	leaq	map(%rip), %r11
	leal	-1(%rdi), %edi
	movslq	%esi, %rsi
	jmp	.L2
.L81:
	movslq	%r10d, %r9
	leaq	map(%rip), %r11
	leal	-1(%rdi), %edi
	movslq	%esi, %rsi
	jmp	.L2
.L83:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE23:
	.size	scan, .-scan
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC2:
	.string	"%c%d"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB24:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC0(%rip), %rdi
	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	$120, %rsp
	.cfi_def_cfa_offset 176
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	60(%rsp), %rsi
	call	__isoc99_scanf@PLT
	movl	60(%rsp), %r14d
	testl	%r14d, %r14d
	jle	.L484
	leaq	c_map(%rip), %rax
	movl	$0, 20(%rsp)
	movl	$0, 16(%rsp)
	movq	%rax, %r15
	movq	%rax, 24(%rsp)
.L85:
	leaq	map(%rip), %r13
	leaq	36(%r13), %rbx
.L86:
	leaq	-36(%rbx), %rbp
	.p2align 4,,10
	.p2align 3
.L87:
	movq	%rbp, %rsi
	leaq	.LC0(%rip), %rdi
	xorl	%eax, %eax
	addq	$4, %rbp
	call	__isoc99_scanf@PLT
	cmpq	%rbp, %rbx
	jne	.L87
	addq	$36, %rbx
	leaq	360+map(%rip), %rax
	cmpq	%rbx, %rax
	jne	.L86
	movdqa	.LC1(%rip), %xmm3
	movq	24(%rsp), %rax
	leaq	c_map(%rip), %r14
	movb	$32, 80+c_map(%rip)
	movq	%r15, 24(%rsp)
	leaq	map(%rip), %rdx
	movaps	%xmm3, (%rax)
	movq	%r14, %rax
	movaps	%xmm3, 16+c_map(%rip)
	movaps	%xmm3, 32+c_map(%rip)
	movaps	%xmm3, 48+c_map(%rip)
	movaps	%xmm3, 64+c_map(%rip)
	jmp	.L188
.L90:
	cmpl	$1, 68(%rsp)
	jg	.L494
.L101:
	cmpl	$1, 72(%rsp)
	jg	.L495
.L112:
	cmpl	$1, 76(%rsp)
	jg	.L496
.L123:
	cmpl	$1, 80(%rsp)
	jg	.L497
.L134:
	cmpl	$1, 84(%rsp)
	jg	.L498
.L145:
	cmpl	$1, 88(%rsp)
	jg	.L499
.L156:
	cmpl	$1, 92(%rsp)
	jg	.L500
.L167:
	cmpl	$1, 96(%rsp)
	jg	.L501
.L178:
	addq	$1, %rax
	leaq	9+c_map(%rip), %rdi
	addq	$4, %rdx
	cmpq	%rax, %rdi
	je	.L502
.L188:
	movl	(%rdx), %edi
	movl	72(%rdx), %esi
	pxor	%xmm0, %xmm0
	movl	$0, 96(%rsp)
	movaps	%xmm0, 64(%rsp)
	leal	-1(%rdi), %ebp
	movl	36(%rdx), %edi
	leal	-1(%rsi), %r11d
	movl	144(%rdx), %esi
	movslq	%ebp, %rcx
	movaps	%xmm0, 80(%rsp)
	leal	-1(%rdi), %ebx
	movl	108(%rdx), %edi
	addl	$1, 64(%rsp,%rcx,4)
	leal	-1(%rsi), %r9d
	movslq	%ebx, %rcx
	movl	216(%rdx), %esi
	addl	$1, 64(%rsp,%rcx,4)
	leal	-1(%rdi), %r10d
	movslq	%r11d, %rcx
	movl	180(%rdx), %edi
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%r10d, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	leal	-1(%rdi), %r8d
	leal	-1(%rsi), %edi
	movslq	%r9d, %rcx
	movl	252(%rdx), %esi
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%r8d, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%edi, %rcx
	subl	$1, %esi
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%esi, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	movl	288(%rdx), %ecx
	subl	$1, %ecx
	movslq	%ecx, %r12
	addl	$1, 64(%rsp,%r12,4)
	cmpl	$1, 64(%rsp)
	jle	.L90
	testl	%ebp, %ebp
	jne	.L91
	movb	$42, (%rax)
.L91:
	testl	%ebx, %ebx
	jne	.L92
	movb	$42, 9(%rax)
.L92:
	testl	%r11d, %r11d
	jne	.L93
	movb	$42, 18(%rax)
.L93:
	testl	%r10d, %r10d
	jne	.L94
	movb	$42, 27(%rax)
.L94:
	testl	%r9d, %r9d
	jne	.L95
	movb	$42, 36(%rax)
.L95:
	testl	%r8d, %r8d
	jne	.L96
	movb	$42, 45(%rax)
.L96:
	testl	%edi, %edi
	jne	.L97
	movb	$42, 54(%rax)
.L97:
	testl	%esi, %esi
	jne	.L98
	movb	$42, 63(%rax)
.L98:
	testl	%ecx, %ecx
	jne	.L90
	cmpl	$1, 68(%rsp)
	movb	$42, 72(%rax)
	jle	.L101
.L494:
	cmpl	$1, %ebp
	jne	.L102
	movb	$42, (%rax)
.L102:
	cmpl	$1, %ebx
	jne	.L103
	movb	$42, 9(%rax)
.L103:
	cmpl	$1, %r11d
	jne	.L104
	movb	$42, 18(%rax)
.L104:
	cmpl	$1, %r10d
	jne	.L105
	movb	$42, 27(%rax)
.L105:
	cmpl	$1, %r9d
	jne	.L106
	movb	$42, 36(%rax)
.L106:
	cmpl	$1, %r8d
	jne	.L107
	movb	$42, 45(%rax)
.L107:
	cmpl	$1, %edi
	jne	.L108
	movb	$42, 54(%rax)
.L108:
	cmpl	$1, %esi
	jne	.L109
	movb	$42, 63(%rax)
.L109:
	cmpl	$1, %ecx
	jne	.L101
	cmpl	$1, 72(%rsp)
	movb	$42, 72(%rax)
	jle	.L112
.L495:
	cmpl	$2, %ebp
	jne	.L113
	movb	$42, (%rax)
.L113:
	cmpl	$2, %ebx
	jne	.L114
	movb	$42, 9(%rax)
.L114:
	cmpl	$2, %r11d
	jne	.L115
	movb	$42, 18(%rax)
.L115:
	cmpl	$2, %r10d
	jne	.L116
	movb	$42, 27(%rax)
.L116:
	cmpl	$2, %r9d
	jne	.L117
	movb	$42, 36(%rax)
.L117:
	cmpl	$2, %r8d
	jne	.L118
	movb	$42, 45(%rax)
.L118:
	cmpl	$2, %edi
	jne	.L119
	movb	$42, 54(%rax)
.L119:
	cmpl	$2, %esi
	jne	.L120
	movb	$42, 63(%rax)
.L120:
	cmpl	$2, %ecx
	jne	.L112
	cmpl	$1, 76(%rsp)
	movb	$42, 72(%rax)
	jle	.L123
.L496:
	cmpl	$3, %ebp
	jne	.L124
	movb	$42, (%rax)
.L124:
	cmpl	$3, %ebx
	jne	.L125
	movb	$42, 9(%rax)
.L125:
	cmpl	$3, %r11d
	jne	.L126
	movb	$42, 18(%rax)
.L126:
	cmpl	$3, %r10d
	jne	.L127
	movb	$42, 27(%rax)
.L127:
	cmpl	$3, %r9d
	jne	.L128
	movb	$42, 36(%rax)
.L128:
	cmpl	$3, %r8d
	jne	.L129
	movb	$42, 45(%rax)
.L129:
	cmpl	$3, %edi
	jne	.L130
	movb	$42, 54(%rax)
.L130:
	cmpl	$3, %esi
	jne	.L131
	movb	$42, 63(%rax)
.L131:
	cmpl	$3, %ecx
	jne	.L123
	cmpl	$1, 80(%rsp)
	movb	$42, 72(%rax)
	jle	.L134
.L497:
	cmpl	$4, %ebp
	jne	.L135
	movb	$42, (%rax)
.L135:
	cmpl	$4, %ebx
	jne	.L136
	movb	$42, 9(%rax)
.L136:
	cmpl	$4, %r11d
	jne	.L137
	movb	$42, 18(%rax)
.L137:
	cmpl	$4, %r10d
	jne	.L138
	movb	$42, 27(%rax)
.L138:
	cmpl	$4, %r9d
	jne	.L139
	movb	$42, 36(%rax)
.L139:
	cmpl	$4, %r8d
	jne	.L140
	movb	$42, 45(%rax)
.L140:
	cmpl	$4, %edi
	jne	.L141
	movb	$42, 54(%rax)
.L141:
	cmpl	$4, %esi
	jne	.L142
	movb	$42, 63(%rax)
.L142:
	cmpl	$4, %ecx
	jne	.L134
	cmpl	$1, 84(%rsp)
	movb	$42, 72(%rax)
	jle	.L145
.L498:
	cmpl	$5, %ebp
	jne	.L146
	movb	$42, (%rax)
.L146:
	cmpl	$5, %ebx
	jne	.L147
	movb	$42, 9(%rax)
.L147:
	cmpl	$5, %r11d
	jne	.L148
	movb	$42, 18(%rax)
.L148:
	cmpl	$5, %r10d
	jne	.L149
	movb	$42, 27(%rax)
.L149:
	cmpl	$5, %r9d
	jne	.L150
	movb	$42, 36(%rax)
.L150:
	cmpl	$5, %r8d
	jne	.L151
	movb	$42, 45(%rax)
.L151:
	cmpl	$5, %edi
	jne	.L152
	movb	$42, 54(%rax)
.L152:
	cmpl	$5, %esi
	jne	.L153
	movb	$42, 63(%rax)
.L153:
	cmpl	$5, %ecx
	jne	.L145
	cmpl	$1, 88(%rsp)
	movb	$42, 72(%rax)
	jle	.L156
.L499:
	cmpl	$6, %ebp
	jne	.L157
	movb	$42, (%rax)
.L157:
	cmpl	$6, %ebx
	jne	.L158
	movb	$42, 9(%rax)
.L158:
	cmpl	$6, %r11d
	jne	.L159
	movb	$42, 18(%rax)
.L159:
	cmpl	$6, %r10d
	jne	.L160
	movb	$42, 27(%rax)
.L160:
	cmpl	$6, %r9d
	jne	.L161
	movb	$42, 36(%rax)
.L161:
	cmpl	$6, %r8d
	jne	.L162
	movb	$42, 45(%rax)
.L162:
	cmpl	$6, %edi
	jne	.L163
	movb	$42, 54(%rax)
.L163:
	cmpl	$6, %esi
	jne	.L164
	movb	$42, 63(%rax)
.L164:
	cmpl	$6, %ecx
	jne	.L156
	cmpl	$1, 92(%rsp)
	movb	$42, 72(%rax)
	jle	.L167
.L500:
	cmpl	$7, %ebp
	jne	.L168
	movb	$42, (%rax)
.L168:
	cmpl	$7, %ebx
	jne	.L169
	movb	$42, 9(%rax)
.L169:
	cmpl	$7, %r11d
	jne	.L170
	movb	$42, 18(%rax)
.L170:
	cmpl	$7, %r10d
	jne	.L171
	movb	$42, 27(%rax)
.L171:
	cmpl	$7, %r9d
	jne	.L172
	movb	$42, 36(%rax)
.L172:
	cmpl	$7, %r8d
	jne	.L173
	movb	$42, 45(%rax)
.L173:
	cmpl	$7, %edi
	jne	.L174
	movb	$42, 54(%rax)
.L174:
	cmpl	$7, %esi
	jne	.L175
	movb	$42, 63(%rax)
.L175:
	cmpl	$7, %ecx
	jne	.L167
	cmpl	$1, 96(%rsp)
	movb	$42, 72(%rax)
	jle	.L178
.L501:
	cmpl	$8, %ebp
	jne	.L179
	movb	$42, (%rax)
.L179:
	cmpl	$8, %ebx
	jne	.L180
	movb	$42, 9(%rax)
.L180:
	cmpl	$8, %r11d
	jne	.L181
	movb	$42, 18(%rax)
.L181:
	cmpl	$8, %r10d
	jne	.L182
	movb	$42, 27(%rax)
.L182:
	cmpl	$8, %r9d
	jne	.L183
	movb	$42, 36(%rax)
.L183:
	cmpl	$8, %r8d
	jne	.L184
	movb	$42, 45(%rax)
.L184:
	cmpl	$8, %edi
	jne	.L185
	movb	$42, 54(%rax)
.L185:
	cmpl	$8, %esi
	jne	.L186
	movb	$42, 63(%rax)
.L186:
	cmpl	$8, %ecx
	jne	.L178
	movb	$42, 72(%rax)
	jmp	.L178
.L502:
	leaq	-9(%rdi), %rax
	leaq	map(%rip), %rdx
	jmp	.L342
.L198:
	cmpl	$1, 68(%rsp)
	jg	.L503
.L215:
	cmpl	$1, 72(%rsp)
	jg	.L504
.L232:
	cmpl	$1, 76(%rsp)
	jg	.L505
.L249:
	cmpl	$1, 80(%rsp)
	jg	.L506
.L266:
	cmpl	$1, 84(%rsp)
	jg	.L507
.L283:
	cmpl	$1, 88(%rsp)
	jg	.L508
.L300:
	cmpl	$1, 92(%rsp)
	jg	.L509
.L317:
	cmpl	$1, 96(%rsp)
	jg	.L510
.L334:
	addq	$9, %rax
	leaq	81+c_map(%rip), %rsi
	addq	$36, %rdx
	cmpq	%rsi, %rax
	je	.L511
.L342:
	movl	(%rdx), %edi
	movl	4(%rdx), %esi
	pxor	%xmm1, %xmm1
	movl	$0, 96(%rsp)
	movaps	%xmm1, 64(%rsp)
	leal	-1(%rdi), %ebp
	leal	-1(%rsi), %ebx
	movl	8(%rdx), %edi
	movaps	%xmm1, 80(%rsp)
	movslq	%ebp, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%ebx, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	leal	-1(%rdi), %ecx
	movslq	%ecx, %rsi
	addl	$1, 64(%rsp,%rsi,4)
	movl	12(%rdx), %esi
	subl	$1, %esi
	movslq	%esi, %rdi
	addl	$1, 64(%rsp,%rdi,4)
	movl	16(%rdx), %edi
	subl	$1, %edi
	movslq	%edi, %r8
	addl	$1, 64(%rsp,%r8,4)
	movl	20(%rdx), %r8d
	subl	$1, %r8d
	movslq	%r8d, %r9
	addl	$1, 64(%rsp,%r9,4)
	movl	24(%rdx), %r9d
	subl	$1, %r9d
	movslq	%r9d, %r10
	addl	$1, 64(%rsp,%r10,4)
	movl	28(%rdx), %r10d
	subl	$1, %r10d
	movslq	%r10d, %r11
	addl	$1, 64(%rsp,%r11,4)
	movl	32(%rdx), %r11d
	subl	$1, %r11d
	movslq	%r11d, %r12
	addl	$1, 64(%rsp,%r12,4)
	cmpl	$1, 64(%rsp)
	jle	.L198
	testl	%ebp, %ebp
	jne	.L190
	movb	$42, (%rax)
.L190:
	testl	%ebx, %ebx
	jne	.L205
	movb	$42, 1(%rax)
.L205:
	testl	%ecx, %ecx
	jne	.L204
	movb	$42, 2(%rax)
.L204:
	testl	%esi, %esi
	jne	.L203
	movb	$42, 3(%rax)
.L203:
	testl	%edi, %edi
	jne	.L202
	movb	$42, 4(%rax)
.L202:
	testl	%r8d, %r8d
	jne	.L201
	movb	$42, 5(%rax)
.L201:
	testl	%r9d, %r9d
	jne	.L200
	movb	$42, 6(%rax)
.L200:
	testl	%r10d, %r10d
	jne	.L199
	movb	$42, 7(%rax)
.L199:
	testl	%r11d, %r11d
	jne	.L198
	cmpl	$1, 68(%rsp)
	movb	$42, 8(%rax)
	jle	.L215
.L503:
	cmpl	$1, %ebp
	jne	.L207
	movb	$42, (%rax)
.L207:
	cmpl	$1, %ebx
	jne	.L222
	movb	$42, 1(%rax)
.L222:
	cmpl	$1, %ecx
	jne	.L221
	movb	$42, 2(%rax)
.L221:
	cmpl	$1, %esi
	jne	.L220
	movb	$42, 3(%rax)
.L220:
	cmpl	$1, %edi
	jne	.L219
	movb	$42, 4(%rax)
.L219:
	cmpl	$1, %r8d
	jne	.L218
	movb	$42, 5(%rax)
.L218:
	cmpl	$1, %r9d
	jne	.L217
	movb	$42, 6(%rax)
.L217:
	cmpl	$1, %r10d
	jne	.L216
	movb	$42, 7(%rax)
.L216:
	cmpl	$1, %r11d
	jne	.L215
	cmpl	$1, 72(%rsp)
	movb	$42, 8(%rax)
	jle	.L232
.L504:
	cmpl	$2, %ebp
	jne	.L224
	movb	$42, (%rax)
.L224:
	cmpl	$2, %ebx
	jne	.L239
	movb	$42, 1(%rax)
.L239:
	cmpl	$2, %ecx
	jne	.L238
	movb	$42, 2(%rax)
.L238:
	cmpl	$2, %esi
	jne	.L237
	movb	$42, 3(%rax)
.L237:
	cmpl	$2, %edi
	jne	.L236
	movb	$42, 4(%rax)
.L236:
	cmpl	$2, %r8d
	jne	.L235
	movb	$42, 5(%rax)
.L235:
	cmpl	$2, %r9d
	jne	.L234
	movb	$42, 6(%rax)
.L234:
	cmpl	$2, %r10d
	jne	.L233
	movb	$42, 7(%rax)
.L233:
	cmpl	$2, %r11d
	jne	.L232
	cmpl	$1, 76(%rsp)
	movb	$42, 8(%rax)
	jle	.L249
.L505:
	cmpl	$3, %ebp
	jne	.L241
	movb	$42, (%rax)
.L241:
	cmpl	$3, %ebx
	jne	.L256
	movb	$42, 1(%rax)
.L256:
	cmpl	$3, %ecx
	jne	.L255
	movb	$42, 2(%rax)
.L255:
	cmpl	$3, %esi
	jne	.L254
	movb	$42, 3(%rax)
.L254:
	cmpl	$3, %edi
	jne	.L253
	movb	$42, 4(%rax)
.L253:
	cmpl	$3, %r8d
	jne	.L252
	movb	$42, 5(%rax)
.L252:
	cmpl	$3, %r9d
	jne	.L251
	movb	$42, 6(%rax)
.L251:
	cmpl	$3, %r10d
	jne	.L250
	movb	$42, 7(%rax)
.L250:
	cmpl	$3, %r11d
	jne	.L249
	cmpl	$1, 80(%rsp)
	movb	$42, 8(%rax)
	jle	.L266
.L506:
	cmpl	$4, %ebp
	jne	.L258
	movb	$42, (%rax)
.L258:
	cmpl	$4, %ebx
	jne	.L273
	movb	$42, 1(%rax)
.L273:
	cmpl	$4, %ecx
	jne	.L272
	movb	$42, 2(%rax)
.L272:
	cmpl	$4, %esi
	jne	.L271
	movb	$42, 3(%rax)
.L271:
	cmpl	$4, %edi
	jne	.L270
	movb	$42, 4(%rax)
.L270:
	cmpl	$4, %r8d
	jne	.L269
	movb	$42, 5(%rax)
.L269:
	cmpl	$4, %r9d
	jne	.L268
	movb	$42, 6(%rax)
.L268:
	cmpl	$4, %r10d
	jne	.L267
	movb	$42, 7(%rax)
.L267:
	cmpl	$4, %r11d
	jne	.L266
	cmpl	$1, 84(%rsp)
	movb	$42, 8(%rax)
	jle	.L283
.L507:
	cmpl	$5, %ebp
	jne	.L275
	movb	$42, (%rax)
.L275:
	cmpl	$5, %ebx
	jne	.L290
	movb	$42, 1(%rax)
.L290:
	cmpl	$5, %ecx
	jne	.L289
	movb	$42, 2(%rax)
.L289:
	cmpl	$5, %esi
	jne	.L288
	movb	$42, 3(%rax)
.L288:
	cmpl	$5, %edi
	jne	.L287
	movb	$42, 4(%rax)
.L287:
	cmpl	$5, %r8d
	jne	.L286
	movb	$42, 5(%rax)
.L286:
	cmpl	$5, %r9d
	jne	.L285
	movb	$42, 6(%rax)
.L285:
	cmpl	$5, %r10d
	jne	.L284
	movb	$42, 7(%rax)
.L284:
	cmpl	$5, %r11d
	jne	.L283
	cmpl	$1, 88(%rsp)
	movb	$42, 8(%rax)
	jle	.L300
.L508:
	cmpl	$6, %ebp
	jne	.L292
	movb	$42, (%rax)
.L292:
	cmpl	$6, %ebx
	jne	.L307
	movb	$42, 1(%rax)
.L307:
	cmpl	$6, %ecx
	jne	.L306
	movb	$42, 2(%rax)
.L306:
	cmpl	$6, %esi
	jne	.L305
	movb	$42, 3(%rax)
.L305:
	cmpl	$6, %edi
	jne	.L304
	movb	$42, 4(%rax)
.L304:
	cmpl	$6, %r8d
	jne	.L303
	movb	$42, 5(%rax)
.L303:
	cmpl	$6, %r9d
	jne	.L302
	movb	$42, 6(%rax)
.L302:
	cmpl	$6, %r10d
	jne	.L301
	movb	$42, 7(%rax)
.L301:
	cmpl	$6, %r11d
	jne	.L300
	cmpl	$1, 92(%rsp)
	movb	$42, 8(%rax)
	jle	.L317
.L509:
	cmpl	$7, %ebp
	jne	.L309
	movb	$42, (%rax)
.L309:
	cmpl	$7, %ebx
	jne	.L324
	movb	$42, 1(%rax)
.L324:
	cmpl	$7, %ecx
	jne	.L323
	movb	$42, 2(%rax)
.L323:
	cmpl	$7, %esi
	jne	.L322
	movb	$42, 3(%rax)
.L322:
	cmpl	$7, %edi
	jne	.L321
	movb	$42, 4(%rax)
.L321:
	cmpl	$7, %r8d
	jne	.L320
	movb	$42, 5(%rax)
.L320:
	cmpl	$7, %r9d
	jne	.L319
	movb	$42, 6(%rax)
.L319:
	cmpl	$7, %r10d
	jne	.L318
	movb	$42, 7(%rax)
.L318:
	cmpl	$7, %r11d
	jne	.L317
	cmpl	$1, 96(%rsp)
	movb	$42, 8(%rax)
	jle	.L334
.L510:
	cmpl	$8, %ebp
	jne	.L326
	movb	$42, (%rax)
.L326:
	cmpl	$8, %ebx
	jne	.L341
	movb	$42, 1(%rax)
.L341:
	cmpl	$8, %ecx
	jne	.L340
	movb	$42, 2(%rax)
.L340:
	cmpl	$8, %esi
	jne	.L339
	movb	$42, 3(%rax)
.L339:
	cmpl	$8, %edi
	jne	.L338
	movb	$42, 4(%rax)
.L338:
	cmpl	$8, %r8d
	jne	.L337
	movb	$42, 5(%rax)
.L337:
	cmpl	$8, %r9d
	jne	.L336
	movb	$42, 6(%rax)
.L336:
	cmpl	$8, %r10d
	jne	.L335
	movb	$42, 7(%rax)
.L335:
	cmpl	$8, %r11d
	jne	.L334
	movb	$42, 8(%rax)
	jmp	.L334
.L511:
	movl	$0, (%rsp)
	movq	%r14, 32(%rsp)
	movq	%r13, 40(%rsp)
	jmp	.L478
.L352:
	cmpl	$1, 68(%rsp)
	jg	.L512
.L367:
	cmpl	$1, 72(%rsp)
	jg	.L513
.L382:
	cmpl	$1, 76(%rsp)
	jg	.L514
.L397:
	cmpl	$1, 80(%rsp)
	jg	.L515
.L412:
	cmpl	$1, 84(%rsp)
	jg	.L516
.L427:
	cmpl	$1, 88(%rsp)
	jg	.L517
.L442:
	cmpl	$1, 92(%rsp)
	jg	.L518
.L457:
	cmpl	$1, 96(%rsp)
	jg	.L519
.L472:
	addl	$1, (%rsp)
	movl	(%rsp), %eax
	cmpl	$9, %eax
	je	.L520
.L478:
	movl	(%rsp), %eax
	movl	$2863311531, %edi
	pxor	%xmm2, %xmm2
	leaq	map(%rip), %rbx
	movl	$0, 96(%rsp)
	movq	%rax, %rsi
	imulq	%rdi, %rax
	movaps	%xmm2, 64(%rsp)
	movaps	%xmm2, 80(%rsp)
	shrq	$33, %rax
	leal	(%rax,%rax,2), %edx
	movl	%esi, %eax
	subl	%edx, %eax
	movslq	%edx, %r8
	leal	1(%rdx), %edi
	addl	$2, %edx
	leal	(%rax,%rax,2), %eax
	movslq	%edi, %rdi
	movslq	%eax, %rsi
	leaq	(%rsi,%rsi,8), %r13
	leaq	0(%r13,%r8), %rcx
	movl	(%rbx,%rcx,4), %r12d
	subl	$1, %r12d
	movslq	%r12d, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	leaq	0(%r13,%rdi), %rcx
	movl	(%rbx,%rcx,4), %ebp
	subl	$1, %ebp
	movslq	%ebp, %rcx
	addl	$1, 64(%rsp,%rcx,4)
	movslq	%edx, %rcx
	leaq	0(%r13,%rcx), %rdx
	movl	(%rbx,%rdx,4), %edx
	subl	$1, %edx
	movl	%edx, 4(%rsp)
	movslq	%edx, %rdx
	addl	$1, 64(%rsp,%rdx,4)
	leal	1(%rax), %edx
	addl	$2, %eax
	movslq	%edx, %rdx
	cltq
	leaq	(%rdx,%rdx,8), %r9
	leaq	(%r9,%r8), %r10
	movl	(%rbx,%r10,4), %r10d
	leal	-1(%r10), %r11d
	movslq	%r11d, %r10
	movl	%r11d, 8(%rsp)
	movq	%rbx, %r11
	addl	$1, 64(%rsp,%r10,4)
	leaq	(%r9,%rdi), %r10
	addq	%rcx, %r9
	movl	(%rbx,%r10,4), %r10d
	movl	(%rbx,%r9,4), %r9d
	leaq	(%rax,%rax,8), %rbx
	leal	-1(%r10), %r14d
	subl	$1, %r9d
	movslq	%r14d, %r10
	movl	%r14d, 12(%rsp)
	movq	%r11, %r14
	addl	$1, 64(%rsp,%r10,4)
	movslq	%r9d, %r10
	addl	$1, 64(%rsp,%r10,4)
	leaq	(%rbx,%r8), %r10
	movl	(%r11,%r10,4), %r10d
	subl	$1, %r10d
	movslq	%r10d, %r11
	addl	$1, 64(%rsp,%r11,4)
	leaq	(%rbx,%rdi), %r11
	addq	%rcx, %rbx
	movl	(%r14,%r11,4), %r11d
	subl	$1, %r11d
	movslq	%r11d, %r14
	addl	$1, 64(%rsp,%r14,4)
	leaq	map(%rip), %r14
	movl	(%r14,%rbx,4), %ebx
	subl	$1, %ebx
	movslq	%ebx, %r14
	addl	$1, 64(%rsp,%r14,4)
	cmpl	$1, 64(%rsp)
	jle	.L352
	testl	%r12d, %r12d
	jne	.L344
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L344:
	testl	%ebp, %ebp
	jne	.L357
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L357:
	movl	4(%rsp), %r13d
	testl	%r13d, %r13d
	jne	.L356
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L356:
	movl	8(%rsp), %r14d
	testl	%r14d, %r14d
	jne	.L347
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L347:
	movl	12(%rsp), %r13d
	testl	%r13d, %r13d
	jne	.L355
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L355:
	testl	%r9d, %r9d
	jne	.L354
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L354:
	testl	%r10d, %r10d
	jne	.L350
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L350:
	testl	%r11d, %r11d
	jne	.L353
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L353:
	testl	%ebx, %ebx
	jne	.L352
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 68(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L367
.L512:
	cmpl	$1, %r12d
	jne	.L359
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L359:
	cmpl	$1, %ebp
	jne	.L372
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L372:
	cmpl	$1, 4(%rsp)
	jne	.L371
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L371:
	cmpl	$1, 8(%rsp)
	jne	.L362
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L362:
	cmpl	$1, 12(%rsp)
	jne	.L370
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L370:
	cmpl	$1, %r9d
	jne	.L369
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L369:
	cmpl	$1, %r10d
	jne	.L365
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L365:
	cmpl	$1, %r11d
	jne	.L368
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L368:
	cmpl	$1, %ebx
	jne	.L367
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 72(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L382
.L513:
	cmpl	$2, %r12d
	jne	.L374
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L374:
	cmpl	$2, %ebp
	jne	.L387
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L387:
	cmpl	$2, 4(%rsp)
	jne	.L386
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L386:
	cmpl	$2, 8(%rsp)
	jne	.L377
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L377:
	cmpl	$2, 12(%rsp)
	jne	.L385
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L385:
	cmpl	$2, %r9d
	jne	.L384
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L384:
	cmpl	$2, %r10d
	jne	.L380
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L380:
	cmpl	$2, %r11d
	jne	.L383
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L383:
	cmpl	$2, %ebx
	jne	.L382
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 76(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L397
.L514:
	cmpl	$3, %r12d
	jne	.L389
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L389:
	cmpl	$3, %ebp
	jne	.L402
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L402:
	cmpl	$3, 4(%rsp)
	jne	.L401
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L401:
	cmpl	$3, 8(%rsp)
	jne	.L392
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L392:
	cmpl	$3, 12(%rsp)
	jne	.L400
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L400:
	cmpl	$3, %r9d
	jne	.L399
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L399:
	cmpl	$3, %r10d
	jne	.L395
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L395:
	cmpl	$3, %r11d
	jne	.L398
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L398:
	cmpl	$3, %ebx
	jne	.L397
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 80(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L412
.L515:
	cmpl	$4, %r12d
	jne	.L404
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L404:
	cmpl	$4, %ebp
	jne	.L417
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L417:
	cmpl	$4, 4(%rsp)
	jne	.L416
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L416:
	cmpl	$4, 8(%rsp)
	jne	.L407
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L407:
	cmpl	$4, 12(%rsp)
	jne	.L415
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L415:
	cmpl	$4, %r9d
	jne	.L414
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L414:
	cmpl	$4, %r10d
	jne	.L410
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L410:
	cmpl	$4, %r11d
	jne	.L413
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L413:
	cmpl	$4, %ebx
	jne	.L412
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 84(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L427
.L516:
	cmpl	$5, %r12d
	jne	.L419
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L419:
	cmpl	$5, %ebp
	jne	.L432
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L432:
	cmpl	$5, 4(%rsp)
	jne	.L431
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L431:
	cmpl	$5, 8(%rsp)
	jne	.L422
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L422:
	cmpl	$5, 12(%rsp)
	jne	.L430
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L430:
	cmpl	$5, %r9d
	jne	.L429
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L429:
	cmpl	$5, %r10d
	jne	.L425
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L425:
	cmpl	$5, %r11d
	jne	.L428
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L428:
	cmpl	$5, %ebx
	jne	.L427
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 88(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L442
.L517:
	cmpl	$6, %r12d
	jne	.L434
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L434:
	cmpl	$6, %ebp
	jne	.L447
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L447:
	cmpl	$6, 4(%rsp)
	jne	.L446
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L446:
	cmpl	$6, 8(%rsp)
	jne	.L437
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L437:
	cmpl	$6, 12(%rsp)
	jne	.L445
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L445:
	cmpl	$6, %r9d
	jne	.L444
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L444:
	cmpl	$6, %r10d
	jne	.L440
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L440:
	cmpl	$6, %r11d
	jne	.L443
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L443:
	cmpl	$6, %ebx
	jne	.L442
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 92(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L457
.L518:
	cmpl	$7, %r12d
	jne	.L449
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L449:
	cmpl	$7, %ebp
	jne	.L462
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L462:
	cmpl	$7, 4(%rsp)
	jne	.L461
	leaq	(%rsi,%rsi,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L461:
	cmpl	$7, 8(%rsp)
	jne	.L452
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L452:
	cmpl	$7, 12(%rsp)
	jne	.L460
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L460:
	cmpl	$7, %r9d
	jne	.L459
	leaq	(%rdx,%rdx,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rcx)
.L459:
	cmpl	$7, %r10d
	jne	.L455
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%r8)
.L455:
	cmpl	$7, %r11d
	jne	.L458
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	movb	$42, 0(%r13,%rdi)
.L458:
	cmpl	$7, %ebx
	jne	.L457
	leaq	(%rax,%rax,8), %r13
	addq	%r15, %r13
	cmpl	$1, 96(%rsp)
	movb	$42, 0(%r13,%rcx)
	jle	.L472
.L519:
	cmpl	$8, %r12d
	jne	.L464
	leaq	(%rsi,%rsi,8), %r12
	addq	%r15, %r12
	movb	$42, (%r12,%r8)
.L464:
	cmpl	$8, %ebp
	jne	.L477
	leaq	(%rsi,%rsi,8), %rbp
	addq	%r15, %rbp
	movb	$42, 0(%rbp,%rdi)
.L477:
	cmpl	$8, 4(%rsp)
	jne	.L476
	leaq	(%rsi,%rsi,8), %rsi
	addq	%r15, %rsi
	movb	$42, (%rsi,%rcx)
.L476:
	cmpl	$8, 8(%rsp)
	jne	.L467
	leaq	(%rdx,%rdx,8), %rsi
	addq	%r15, %rsi
	movb	$42, (%rsi,%r8)
.L467:
	cmpl	$8, 12(%rsp)
	jne	.L475
	leaq	(%rdx,%rdx,8), %rsi
	addq	%r15, %rsi
	movb	$42, (%rsi,%rdi)
.L475:
	cmpl	$8, %r9d
	jne	.L474
	leaq	(%rdx,%rdx,8), %rdx
	addq	%r15, %rdx
	movb	$42, (%rdx,%rcx)
.L474:
	cmpl	$8, %r10d
	jne	.L470
	leaq	(%rax,%rax,8), %rdx
	addq	%r15, %rdx
	movb	$42, (%rdx,%r8)
.L470:
	cmpl	$8, %r11d
	jne	.L473
	leaq	(%rax,%rax,8), %rdx
	addq	%r15, %rdx
	movb	$42, (%rdx,%rdi)
.L473:
	cmpl	$8, %ebx
	jne	.L472
	leaq	(%rax,%rax,8), %rax
	addl	$1, (%rsp)
	addq	%r15, %rax
	movb	$42, (%rax,%rcx)
	movl	(%rsp), %eax
	cmpl	$9, %eax
	jne	.L478
.L520:
	movq	32(%rsp), %r14
	movq	40(%rsp), %r13
.L479:
	xorl	%ebx, %ebx
	.p2align 4,,10
	.p2align 3
.L480:
	movl	0(%r13,%rbx,4), %ecx
	movsbl	(%r14,%rbx), %edx
	leaq	.LC2(%rip), %rsi
	xorl	%eax, %eax
	movl	$1, %edi
	addq	$1, %rbx
	call	__printf_chk@PLT
	cmpq	$9, %rbx
	jne	.L480
	movl	$10, %edi
	addq	$36, %r13
	addq	$9, %r14
	call	putchar@PLT
	leaq	324+map(%rip), %rax
	cmpq	%rax, %r13
	jne	.L479
	movl	20(%rsp), %edx
	addl	$1, 16(%rsp)
	movl	60(%rsp), %eax
	movl	16(%rsp), %esi
	testl	%edx, %edx
	jne	.L482
	cmpl	%eax, %esi
	jge	.L484
.L483:
	movl	$10, %edi
	call	putchar@PLT
	movl	$1, 20(%rsp)
	jmp	.L85
.L482:
	cmpl	%eax, 16(%rsp)
	jl	.L483
.L484:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L521
	addq	$120, %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
.L521:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE24:
	.size	main, .-main
	.globl	c_map
	.bss
	.align 32
	.type	c_map, @object
	.size	c_map, 81
c_map:
	.zero	81
	.globl	map
	.align 32
	.type	map, @object
	.size	map, 324
map:
	.zero	324
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC1:
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.byte	32
	.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 map[9][9];
char c_map[9][9];

void scan(int x, int y, int h, int w){
  int counter[9];
  int i,j,k;

  for(i = 0; i < 9; i++){
    counter[i] = 0;
  }

  for(i = 0; i < h; i++){
    for(j = 0; j < w; j++){
      counter[map[y+i][x+j] - 1]++;
    }
  } 
  
  for(i = 0; i < 9; i++){
    if(counter[i] > 1){
      for(j = 0; j < h; j++){
	for(k = 0; k < w; k++){
	  if(i == (map[y+j][x+k] - 1)){
	    c_map[y+j][x+k] = '*';
	  }
	}
      }
    }
  }
}

int main(int argc,char* argv[]){
  int n,i;
  int first = 0;

  scanf("%d",&n);

  for(i = 0; i < n; i++){
    int j,k;

    if(first != 0){
      printf("\n");
    }
    
    for(j = 0; j < 9; j++){
      for(k = 0; k < 9; k++){
	scanf("%d",&map[j][k]);
      }
    }

    for(j = 0; j < 9; j++){
      for(k = 0; k < 9; k++){
	c_map[j][k] = ' ';
      }
    }

    for(j = 0; j < 9; j++){
      scan(j,0,9,1);
    }
    
    for(j = 0; j < 9; j++){
      scan(0,j,1,9);
    }

    for(j = 0; j < 9; j++){
      scan((j / 3) * 3, (j % 3) * 3,3,3);
    }

    for(j = 0; j < 9; j++){
      for(k = 0; k < 9; k++){
	printf("%c%d",c_map[j][k],map[j][k]);
      }
      printf("\n");
    }

    if(first == 0){
      first = 1;
    }
    
  }
  return 0;
}
2
2 1 3 4 5 6 7 8 9
4 5 6 7 8 9 1 2 3
7 8 9 1 2 3 4 5 6
2 3 4 5 6 7 8 9 1
5 6 7 8 9 0 2 3 4
8 9 1 2 3 4 5 6 7
3 4 5 6 7 8 9 1 2
6 7 8 9 1 2 3 4 5
9 1 2 3 4 5 6 7 8
2 1 3 4 5 6 7 8 9
4 5 6 7 8 9 1 2 3
7 8 9 1 2 3 4 5 6
2 3 4 5 6 7 8 9 1
5 6 7 8 9 1 2 3 4
8 9 1 2 3 4 5 6 7
3 4 5 6 7 8 9 1 2
6 7 8 9 1 2 3 4 5
9 1 2 3 4 5 6 7 8

*2*1 3 4 5 6 7 8 9
 4 5 6 7 8 9 1 2 3
 7 8 9 1 2 3 4 5 6
*2 3 4 5 6 7 8 9 1
 5 6 7 8 9 0 2 3 4
 8 9 1 2 3 4 5 6 7
 3 4 5 6 7 8 9 1 2
 6 7 8 9 1 2 3 4 5
 9*1 2 3 4 5 6 7 8

*2*1 3 4 5 6 7 8 9
 4 5 6 7 8 9 1 2 3
 7 8 9 1 2 3 4 5 6
*2 3 4 5 6 7 8 9 1
 5 6 7 8 9 1 2 3 4
 8 9 1 2 3 4 5 6 7
 3 4 5 6 7 8 9 1 2
 6 7 8 9 1 2 3 4 5
 9*1 2 3 4 5 6 7 8

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 map[9][9];
char c_map[9][9];

void scan(int x, int y, int h, int w){
  int counter[9];
  int i,j,k;

  for(i = 0; i < 9; i++){
    counter[i] = 0;
  }

  for(i = 0; i < h; i++){
    for(j = 0; j < w; j++){
      counter[map[y+i][x+j] - 1]++;
    }
  } 
  
  for(i = 0; i < 9; i++){
    if(counter[i] > 1){
      for(j = 0; j < h; j++){
	for(k = 0; k < w; k++){
	  if(i == (map[y+j][x+k] - 1)){
	    c_map[y+j][x+k] = '*';
	  }
	}
      }
    }
  }
}

int main(int argc,char* argv[]){
  int n,i;
  int first = 0;

  scanf("%d",&n);

  for(i = 0; i < n; i++){
    int j,k;

    if(first != 0){
      printf("\n");
    }
    
    for(j = 0; j < 9; j++){
      for(k = 0; k < 9; k++){
	scanf("%d",&map[j][k]);
      }
    }

    for(j = 0; j < 9; j++){
      for(k = 0; k < 9; k++){
	c_map[j][k] = ' ';
      }
    }

    for(j = 0; j < 9; j++){
      scan(j,0,9,1);
    }
    
    for(j = 0; j < 9; j++){
      scan(0,j,1,9);
    }

    for(j = 0; j < 9; j++){
      scan((j / 3) * 3, (j % 3) * 3,3,3);
    }

    for(j = 0; j < 9; j++){
      for(k = 0; k < 9; k++){
	printf("%c%d",c_map[j][k],map[j][k]);
      }
      printf("\n");
    }

    if(first == 0){
      first = 1;
    }
    
  }
  return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	map
	.bss
	.align 32
	.type	map, @object
	.size	map, 324
map:
	.zero	324
	.globl	c_map
	.align 32
	.type	c_map, @object
	.size	c_map, 81
c_map:
	.zero	81
	.text
	.globl	scan
	.type	scan, @function
scan:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$80, %rsp
	movl	%edi, -68(%rbp)
	movl	%esi, -72(%rbp)
	movl	%edx, -76(%rbp)
	movl	%ecx, -80(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -60(%rbp)
	jmp	.L2
.L3:
	movl	-60(%rbp), %eax
	cltq
	movl	$0, -48(%rbp,%rax,4)
	addl	$1, -60(%rbp)
.L2:
	cmpl	$8, -60(%rbp)
	jle	.L3
	movl	$0, -60(%rbp)
	jmp	.L4
.L7:
	movl	$0, -56(%rbp)
	jmp	.L5
.L6:
	movl	-72(%rbp), %edx
	movl	-60(%rbp), %eax
	addl	%edx, %eax
	movl	-68(%rbp), %ecx
	movl	-56(%rbp), %edx
	addl	%ecx, %edx
	movslq	%edx, %rcx
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	movl	(%rdx,%rax), %eax
	subl	$1, %eax
	movslq	%eax, %rdx
	movl	-48(%rbp,%rdx,4), %edx
	addl	$1, %edx
	cltq
	movl	%edx, -48(%rbp,%rax,4)
	addl	$1, -56(%rbp)
.L5:
	movl	-56(%rbp), %eax
	cmpl	-80(%rbp), %eax
	jl	.L6
	addl	$1, -60(%rbp)
.L4:
	movl	-60(%rbp), %eax
	cmpl	-76(%rbp), %eax
	jl	.L7
	movl	$0, -60(%rbp)
	jmp	.L8
.L15:
	movl	-60(%rbp), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	cmpl	$1, %eax
	jle	.L9
	movl	$0, -56(%rbp)
	jmp	.L10
.L14:
	movl	$0, -52(%rbp)
	jmp	.L11
.L13:
	movl	-72(%rbp), %edx
	movl	-56(%rbp), %eax
	addl	%edx, %eax
	movl	-68(%rbp), %ecx
	movl	-52(%rbp), %edx
	addl	%ecx, %edx
	movslq	%edx, %rcx
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	movl	(%rdx,%rax), %eax
	subl	$1, %eax
	cmpl	%eax, -60(%rbp)
	jne	.L12
	movl	-72(%rbp), %edx
	movl	-56(%rbp), %eax
	addl	%edx, %eax
	movl	-68(%rbp), %ecx
	movl	-52(%rbp), %edx
	addl	%ecx, %edx
	movslq	%edx, %rcx
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	leaq	(%rax,%rcx), %rdx
	leaq	c_map(%rip), %rax
	addq	%rdx, %rax
	movb	$42, (%rax)
.L12:
	addl	$1, -52(%rbp)
.L11:
	movl	-52(%rbp), %eax
	cmpl	-80(%rbp), %eax
	jl	.L13
	addl	$1, -56(%rbp)
.L10:
	movl	-56(%rbp), %eax
	cmpl	-76(%rbp), %eax
	jl	.L14
.L9:
	addl	$1, -60(%rbp)
.L8:
	cmpl	$8, -60(%rbp)
	jle	.L15
	nop
	movq	-8(%rbp), %rax
	subq	%fs:40, %rax
	je	.L16
	call	__stack_chk_fail@PLT
.L16:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	scan, .-scan
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%c%d"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movl	%edi, -36(%rbp)
	movq	%rsi, -48(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -20(%rbp)
	leaq	-28(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -24(%rbp)
	jmp	.L18
.L39:
	cmpl	$0, -20(%rbp)
	je	.L19
	movl	$10, %edi
	call	putchar@PLT
.L19:
	movl	$0, -16(%rbp)
	jmp	.L20
.L23:
	movl	$0, -12(%rbp)
	jmp	.L21
.L22:
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -12(%rbp)
.L21:
	cmpl	$8, -12(%rbp)
	jle	.L22
	addl	$1, -16(%rbp)
.L20:
	cmpl	$8, -16(%rbp)
	jle	.L23
	movl	$0, -16(%rbp)
	jmp	.L24
.L27:
	movl	$0, -12(%rbp)
	jmp	.L25
.L26:
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	leaq	(%rax,%rcx), %rdx
	leaq	c_map(%rip), %rax
	addq	%rdx, %rax
	movb	$32, (%rax)
	addl	$1, -12(%rbp)
.L25:
	cmpl	$8, -12(%rbp)
	jle	.L26
	addl	$1, -16(%rbp)
.L24:
	cmpl	$8, -16(%rbp)
	jle	.L27
	movl	$0, -16(%rbp)
	jmp	.L28
.L29:
	movl	-16(%rbp), %eax
	movl	$1, %ecx
	movl	$9, %edx
	movl	$0, %esi
	movl	%eax, %edi
	call	scan
	addl	$1, -16(%rbp)
.L28:
	cmpl	$8, -16(%rbp)
	jle	.L29
	movl	$0, -16(%rbp)
	jmp	.L30
.L31:
	movl	-16(%rbp), %eax
	movl	$9, %ecx
	movl	$1, %edx
	movl	%eax, %esi
	movl	$0, %edi
	call	scan
	addl	$1, -16(%rbp)
.L30:
	cmpl	$8, -16(%rbp)
	jle	.L31
	movl	$0, -16(%rbp)
	jmp	.L32
.L33:
	movl	-16(%rbp), %edx
	movslq	%edx, %rax
	imulq	$1431655766, %rax, %rax
	shrq	$32, %rax
	movl	%edx, %ecx
	sarl	$31, %ecx
	subl	%ecx, %eax
	movl	%eax, %ecx
	addl	%ecx, %ecx
	addl	%eax, %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	movl	%eax, %edx
	addl	%edx, %edx
	leal	(%rdx,%rax), %esi
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	imulq	$1431655766, %rdx, %rdx
	shrq	$32, %rdx
	sarl	$31, %eax
	subl	%eax, %edx
	movl	%edx, %eax
	addl	%eax, %eax
	addl	%edx, %eax
	movl	$3, %ecx
	movl	$3, %edx
	movl	%eax, %edi
	call	scan
	addl	$1, -16(%rbp)
.L32:
	cmpl	$8, -16(%rbp)
	jle	.L33
	movl	$0, -16(%rbp)
	jmp	.L34
.L37:
	movl	$0, -12(%rbp)
	jmp	.L35
.L36:
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-12(%rbp), %eax
	movslq	%eax, %rsi
	movl	-16(%rbp), %eax
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$3, %rax
	addq	%rcx, %rax
	leaq	(%rax,%rsi), %rcx
	leaq	c_map(%rip), %rax
	addq	%rcx, %rax
	movzbl	(%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %esi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -12(%rbp)
.L35:
	cmpl	$8, -12(%rbp)
	jle	.L36
	movl	$10, %edi
	call	putchar@PLT
	addl	$1, -16(%rbp)
.L34:
	cmpl	$8, -16(%rbp)
	jle	.L37
	cmpl	$0, -20(%rbp)
	jne	.L38
	movl	$1, -20(%rbp)
.L38:
	addl	$1, -24(%rbp)
.L18:
	movl	-28(%rbp), %eax
	cmpl	%eax, -24(%rbp)
	jl	.L39
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L41
	call	__stack_chk_fail@PLT
.L41:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.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	map
	.bss
	.align 32
	.type	map, @object
	.size	map, 324
map:
	.zero	324
	.globl	c_map
	.align 32
	.type	c_map, @object
	.size	c_map, 81
c_map:
	.zero	81
	.text
	.globl	scan
	.type	scan, @function
scan:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$80, %rsp
	movl	%edi, -68(%rbp)
	movl	%esi, -72(%rbp)
	movl	%edx, -76(%rbp)
	movl	%ecx, -80(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -60(%rbp)
	jmp	.L2
.L3:
	movl	-60(%rbp), %eax
	cltq
	movl	$0, -48(%rbp,%rax,4)
	addl	$1, -60(%rbp)
.L2:
	cmpl	$8, -60(%rbp)
	jle	.L3
	movl	$0, -60(%rbp)
	jmp	.L4
.L7:
	movl	$0, -56(%rbp)
	jmp	.L5
.L6:
	movl	-72(%rbp), %edx
	movl	-60(%rbp), %eax
	addl	%edx, %eax
	movl	-68(%rbp), %ecx
	movl	-56(%rbp), %edx
	addl	%ecx, %edx
	movslq	%edx, %rcx
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	movl	(%rdx,%rax), %eax
	subl	$1, %eax
	movslq	%eax, %rdx
	movl	-48(%rbp,%rdx,4), %edx
	addl	$1, %edx
	cltq
	movl	%edx, -48(%rbp,%rax,4)
	addl	$1, -56(%rbp)
.L5:
	movl	-56(%rbp), %eax
	cmpl	-80(%rbp), %eax
	jl	.L6
	addl	$1, -60(%rbp)
.L4:
	movl	-60(%rbp), %eax
	cmpl	-76(%rbp), %eax
	jl	.L7
	movl	$0, -60(%rbp)
	jmp	.L8
.L15:
	movl	-60(%rbp), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	cmpl	$1, %eax
	jle	.L9
	movl	$0, -56(%rbp)
	jmp	.L10
.L14:
	movl	$0, -52(%rbp)
	jmp	.L11
.L13:
	movl	-72(%rbp), %edx
	movl	-56(%rbp), %eax
	addl	%edx, %eax
	movl	-68(%rbp), %ecx
	movl	-52(%rbp), %edx
	addl	%ecx, %edx
	movslq	%edx, %rcx
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	movl	(%rdx,%rax), %eax
	subl	$1, %eax
	cmpl	%eax, -60(%rbp)
	jne	.L12
	movl	-72(%rbp), %edx
	movl	-56(%rbp), %eax
	addl	%edx, %eax
	movl	-68(%rbp), %ecx
	movl	-52(%rbp), %edx
	addl	%ecx, %edx
	movslq	%edx, %rcx
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	leaq	(%rax,%rcx), %rdx
	leaq	c_map(%rip), %rax
	addq	%rdx, %rax
	movb	$42, (%rax)
.L12:
	addl	$1, -52(%rbp)
.L11:
	movl	-52(%rbp), %eax
	cmpl	-80(%rbp), %eax
	jl	.L13
	addl	$1, -56(%rbp)
.L10:
	movl	-56(%rbp), %eax
	cmpl	-76(%rbp), %eax
	jl	.L14
.L9:
	addl	$1, -60(%rbp)
.L8:
	cmpl	$8, -60(%rbp)
	jle	.L15
	nop
	movq	-8(%rbp), %rax
	subq	%fs:40, %rax
	je	.L16
	call	__stack_chk_fail@PLT
.L16:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	scan, .-scan
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%c%d"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movl	%edi, -36(%rbp)
	movq	%rsi, -48(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -20(%rbp)
	leaq	-28(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -24(%rbp)
	jmp	.L18
.L39:
	cmpl	$0, -20(%rbp)
	je	.L19
	movl	$10, %edi
	call	putchar@PLT
.L19:
	movl	$0, -16(%rbp)
	jmp	.L20
.L23:
	movl	$0, -12(%rbp)
	jmp	.L21
.L22:
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -12(%rbp)
.L21:
	cmpl	$8, -12(%rbp)
	jle	.L22
	addl	$1, -16(%rbp)
.L20:
	cmpl	$8, -16(%rbp)
	jle	.L23
	movl	$0, -16(%rbp)
	jmp	.L24
.L27:
	movl	$0, -12(%rbp)
	jmp	.L25
.L26:
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	leaq	(%rax,%rcx), %rdx
	leaq	c_map(%rip), %rax
	addq	%rdx, %rax
	movb	$32, (%rax)
	addl	$1, -12(%rbp)
.L25:
	cmpl	$8, -12(%rbp)
	jle	.L26
	addl	$1, -16(%rbp)
.L24:
	cmpl	$8, -16(%rbp)
	jle	.L27
	movl	$0, -16(%rbp)
	jmp	.L28
.L29:
	movl	-16(%rbp), %eax
	movl	$1, %ecx
	movl	$9, %edx
	movl	$0, %esi
	movl	%eax, %edi
	call	scan
	addl	$1, -16(%rbp)
.L28:
	cmpl	$8, -16(%rbp)
	jle	.L29
	movl	$0, -16(%rbp)
	jmp	.L30
.L31:
	movl	-16(%rbp), %eax
	movl	$9, %ecx
	movl	$1, %edx
	movl	%eax, %esi
	movl	$0, %edi
	call	scan
	addl	$1, -16(%rbp)
.L30:
	cmpl	$8, -16(%rbp)
	jle	.L31
	movl	$0, -16(%rbp)
	jmp	.L32
.L33:
	movl	-16(%rbp), %edx
	movslq	%edx, %rax
	imulq	$1431655766, %rax, %rax
	shrq	$32, %rax
	movl	%edx, %ecx
	sarl	$31, %ecx
	subl	%ecx, %eax
	movl	%eax, %ecx
	addl	%ecx, %ecx
	addl	%eax, %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	movl	%eax, %edx
	addl	%edx, %edx
	leal	(%rdx,%rax), %esi
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	imulq	$1431655766, %rdx, %rdx
	shrq	$32, %rdx
	sarl	$31, %eax
	subl	%eax, %edx
	movl	%edx, %eax
	addl	%eax, %eax
	addl	%edx, %eax
	movl	$3, %ecx
	movl	$3, %edx
	movl	%eax, %edi
	call	scan
	addl	$1, -16(%rbp)
.L32:
	cmpl	$8, -16(%rbp)
	jle	.L33
	movl	$0, -16(%rbp)
	jmp	.L34
.L37:
	movl	$0, -12(%rbp)
	jmp	.L35
.L36:
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-16(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	map(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-12(%rbp), %eax
	movslq	%eax, %rsi
	movl	-16(%rbp), %eax
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$3, %rax
	addq	%rcx, %rax
	leaq	(%rax,%rsi), %rcx
	leaq	c_map(%rip), %rax
	addq	%rcx, %rax
	movzbl	(%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %esi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -12(%rbp)
.L35:
	cmpl	$8, -12(%rbp)
	jle	.L36
	movl	$10, %edi
	call	putchar@PLT
	addl	$1, -16(%rbp)
.L34:
	cmpl	$8, -16(%rbp)
	jle	.L37
	cmpl	$0, -20(%rbp)
	jne	.L38
	movl	$1, -20(%rbp)
.L38:
	addl	$1, -24(%rbp)
.L18:
	movl	-28(%rbp), %eax
	cmpl	%eax, -24(%rbp)
	jl	.L39
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L41
	call	__stack_chk_fail@PLT
.L41:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.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:
