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 max(int a, int b){return a > b ? a : b;}
int min(int a, int b){return a < b ? a : b;}
int main(){
    int n;
    scanf("%d",&n);
    char c[n + 1];
    scanf("%s",c);
    int ans = 100100100;
    int r = 0;
    int w = 0;
    for(int i = 0; i < n; i++){
        if(c[i] == 'R')
            r++;
        else w++;
    }
    if(w == n || r == n){
        puts("0");
        return 0;
    }
    int leftRed = 0;
    int leftWhite = 0;
    for(int i = 0; i < n; i++){
        if(c[i] == 'R'){
            leftRed++;
            r--;
        }
        else{
            leftWhite++;
            w--;
        }
        int p = max(leftWhite, r);
        ans = min(ans, p);
    }
    printf("%d\n",ans);
    return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	max
	.type	max, @function
max:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	-8(%rbp), %edx
	movl	-4(%rbp), %eax
	cmpl	%eax, %edx
	cmovge	%edx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	max, .-max
	.globl	min
	.type	min, @function
min:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	-8(%rbp), %edx
	movl	-4(%rbp), %eax
	cmpl	%eax, %edx
	cmovle	%edx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	min, .-min
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%s"
.LC2:
	.string	"0"
.LC3:
	.string	"%d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$72, %rsp
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	movq	%fs:40, %rax
	movq	%rax, -56(%rbp)
	xorl	%eax, %eax
	movq	%rsp, %rax
	movq	%rax, %rbx
	leaq	-108(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-108(%rbp), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	subq	$1, %rdx
	movq	%rdx, -72(%rbp)
	movslq	%eax, %rdx
	movq	%rdx, %r14
	movl	$0, %r15d
	movslq	%eax, %rdx
	movq	%rdx, %r12
	movl	$0, %r13d
	cltq
	movl	$16, %edx
	subq	$1, %rdx
	addq	%rdx, %rax
	movl	$16, %ecx
	movl	$0, %edx
	divq	%rcx
	imulq	$16, %rax, %rax
	movq	%rax, %rcx
	andq	$-4096, %rcx
	movq	%rsp, %rdx
	subq	%rcx, %rdx
.L6:
	cmpq	%rdx, %rsp
	je	.L7
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	jmp	.L6
.L7:
	movq	%rax, %rdx
	andl	$4095, %edx
	subq	%rdx, %rsp
	movq	%rax, %rdx
	andl	$4095, %edx
	testq	%rdx, %rdx
	je	.L8
	andl	$4095, %eax
	subq	$8, %rax
	addq	%rsp, %rax
	orq	$0, (%rax)
.L8:
	movq	%rsp, %rax
	addq	$0, %rax
	movq	%rax, -64(%rbp)
	movq	-64(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$100100100, -104(%rbp)
	movl	$0, -100(%rbp)
	movl	$0, -96(%rbp)
	movl	$0, -92(%rbp)
	jmp	.L9
.L12:
	movq	-64(%rbp), %rdx
	movl	-92(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %eax
	cmpb	$82, %al
	jne	.L10
	addl	$1, -100(%rbp)
	jmp	.L11
.L10:
	addl	$1, -96(%rbp)
.L11:
	addl	$1, -92(%rbp)
.L9:
	movl	-108(%rbp), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L12
	movl	-108(%rbp), %eax
	cmpl	%eax, -96(%rbp)
	je	.L13
	movl	-108(%rbp), %eax
	cmpl	%eax, -100(%rbp)
	jne	.L14
.L13:
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
	jmp	.L15
.L14:
	movl	$0, -88(%rbp)
	movl	$0, -84(%rbp)
	movl	$0, -80(%rbp)
	jmp	.L16
.L19:
	movq	-64(%rbp), %rdx
	movl	-80(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %eax
	cmpb	$82, %al
	jne	.L17
	addl	$1, -88(%rbp)
	subl	$1, -100(%rbp)
	jmp	.L18
.L17:
	addl	$1, -84(%rbp)
	subl	$1, -96(%rbp)
.L18:
	movl	-100(%rbp), %edx
	movl	-84(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	max
	movl	%eax, -76(%rbp)
	movl	-76(%rbp), %edx
	movl	-104(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	min
	movl	%eax, -104(%rbp)
	addl	$1, -80(%rbp)
.L16:
	movl	-108(%rbp), %eax
	cmpl	%eax, -80(%rbp)
	jl	.L19
	movl	-104(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
.L15:
	movq	%rbx, %rsp
	movq	-56(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L21
	call	__stack_chk_fail@PLT
.L21:
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.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	max
	.type	max, @function
max:
.LFB23:
	.cfi_startproc
	endbr64
	cmpl	%edi, %esi
	movl	%edi, %eax
	cmovge	%esi, %eax
	ret
	.cfi_endproc
.LFE23:
	.size	max, .-max
	.p2align 4
	.globl	min
	.type	min, @function
min:
.LFB24:
	.cfi_startproc
	endbr64
	cmpl	%edi, %esi
	movl	%edi, %eax
	cmovle	%esi, %eax
	ret
	.cfi_endproc
.LFE24:
	.size	min, .-min
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC1:
	.string	"%s"
.LC4:
	.string	"0"
.LC5:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB25:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	leaq	.LC0(%rip), %rdi
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	leaq	-28(%rbp), %rsi
	subq	$24, %rsp
	.cfi_offset 3, -24
	movq	%fs:40, %rax
	movq	%rax, -24(%rbp)
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	-28(%rbp), %eax
	movq	%rsp, %rcx
	addl	$1, %eax
	cltq
	addq	$15, %rax
	movq	%rax, %rdx
	andq	$-4096, %rax
	subq	%rax, %rcx
	andq	$-16, %rdx
	cmpq	%rcx, %rsp
	je	.L6
.L62:
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	cmpq	%rcx, %rsp
	jne	.L62
.L6:
	andl	$4095, %edx
	subq	%rdx, %rsp
	testq	%rdx, %rdx
	jne	.L63
.L7:
	movq	%rsp, %rsi
	leaq	.LC1(%rip), %rdi
	xorl	%eax, %eax
	movq	%rsp, %rbx
	call	__isoc99_scanf@PLT
	movl	-28(%rbp), %ecx
	testl	%ecx, %ecx
	jle	.L8
	leal	-1(%rcx), %eax
	cmpl	$14, %eax
	jbe	.L51
	movl	%ecx, %edx
	pxor	%xmm8, %xmm8
	pxor	%xmm3, %xmm3
	movq	%rsp, %rax
	shrl	$4, %edx
	movdqa	%xmm8, %xmm7
	pxor	%xmm2, %xmm2
	movdqa	.LC2(%rip), %xmm5
	salq	$4, %rdx
	movdqa	.LC3(%rip), %xmm4
	addq	%rsp, %rdx
	.p2align 4,,10
	.p2align 3
.L10:
	movdqu	(%rax), %xmm0
	movdqa	%xmm3, %xmm1
	movdqa	%xmm2, %xmm10
	addq	$16, %rax
	pcmpeqb	%xmm5, %xmm0
	movdqa	%xmm0, %xmm6
	pandn	%xmm4, %xmm0
	pand	%xmm4, %xmm6
	pcmpgtb	%xmm6, %xmm1
	movdqa	%xmm6, %xmm9
	punpcklbw	%xmm1, %xmm9
	punpckhbw	%xmm1, %xmm6
	pcmpgtw	%xmm9, %xmm10
	movdqa	%xmm9, %xmm1
	punpcklwd	%xmm10, %xmm1
	punpckhwd	%xmm10, %xmm9
	paddd	%xmm7, %xmm1
	movdqa	%xmm2, %xmm7
	pcmpgtw	%xmm6, %xmm7
	paddd	%xmm9, %xmm1
	movdqa	%xmm6, %xmm9
	punpcklwd	%xmm7, %xmm9
	punpckhwd	%xmm7, %xmm6
	paddd	%xmm9, %xmm1
	movdqa	%xmm2, %xmm9
	movdqa	%xmm1, %xmm7
	movdqa	%xmm3, %xmm1
	pcmpgtb	%xmm0, %xmm1
	paddd	%xmm6, %xmm7
	movdqa	%xmm0, %xmm6
	punpcklbw	%xmm1, %xmm6
	punpckhbw	%xmm1, %xmm0
	pcmpgtw	%xmm6, %xmm9
	movdqa	%xmm6, %xmm1
	punpcklwd	%xmm9, %xmm1
	punpckhwd	%xmm9, %xmm6
	paddd	%xmm8, %xmm1
	movdqa	%xmm0, %xmm8
	paddd	%xmm6, %xmm1
	movdqa	%xmm2, %xmm6
	pcmpgtw	%xmm0, %xmm6
	punpcklwd	%xmm6, %xmm8
	punpckhwd	%xmm6, %xmm0
	paddd	%xmm8, %xmm1
	paddd	%xmm0, %xmm1
	movdqa	%xmm1, %xmm8
	cmpq	%rax, %rdx
	jne	.L10
	movdqa	%xmm1, %xmm0
	movl	%ecx, %esi
	psrldq	$8, %xmm0
	andl	$-16, %esi
	paddd	%xmm0, %xmm8
	movdqa	%xmm8, %xmm0
	psrldq	$4, %xmm0
	paddd	%xmm0, %xmm8
	movdqa	%xmm7, %xmm0
	psrldq	$8, %xmm0
	movd	%xmm8, %edx
	paddd	%xmm0, %xmm7
	movdqa	%xmm7, %xmm0
	psrldq	$4, %xmm0
	paddd	%xmm0, %xmm7
	movd	%xmm7, %eax
	testb	$15, %cl
	je	.L11
.L9:
	movslq	%esi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L64
	addl	$1, %edx
.L13:
	leal	1(%rsi), %edi
	cmpl	%ecx, %edi
	jge	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L65
	addl	$1, %edx
.L15:
	leal	2(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L66
	addl	$1, %edx
.L17:
	leal	3(%rsi), %edi
	cmpl	%ecx, %edi
	jge	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L67
	addl	$1, %edx
.L19:
	leal	4(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L68
	addl	$1, %edx
.L21:
	leal	5(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L69
	addl	$1, %edx
.L23:
	leal	6(%rsi), %edi
	cmpl	%ecx, %edi
	jge	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L70
	addl	$1, %edx
.L25:
	leal	7(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L71
	addl	$1, %edx
.L27:
	leal	8(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L72
	addl	$1, %edx
.L29:
	leal	9(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L73
	addl	$1, %edx
.L31:
	leal	10(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L74
	addl	$1, %edx
.L33:
	leal	11(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L75
	addl	$1, %edx
.L35:
	leal	12(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L76
	addl	$1, %edx
.L37:
	leal	13(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L77
	addl	$1, %edx
.L39:
	addl	$14, %esi
	cmpl	%esi, %ecx
	jle	.L11
	movslq	%esi, %rsi
	cmpb	$82, (%rbx,%rsi)
	je	.L40
	addl	$1, %edx
	.p2align 4,,10
	.p2align 3
.L11:
	cmpl	%eax, %ecx
	je	.L48
	cmpl	%edx, %ecx
	je	.L48
	leaq	(%rbx,%rcx), %rdi
	movq	%rbx, %rdx
	xorl	%ecx, %ecx
	movl	$100100100, %r8d
	.p2align 4,,10
	.p2align 3
.L47:
	cmpb	$82, (%rdx)
	je	.L78
	addl	$1, %ecx
	movl	%eax, %esi
	cmpl	%eax, %ecx
	cmovge	%ecx, %esi
	cmpl	%esi, %r8d
	cmovg	%esi, %r8d
	addq	$1, %rdx
	cmpq	%rdi, %rdx
	jne	.L47
.L46:
	movl	%r8d, %edx
	leaq	.LC5(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
.L43:
	movq	-24(%rbp), %rax
	subq	%fs:40, %rax
	jne	.L79
	movq	-8(%rbp), %rbx
	xorl	%eax, %eax
	leave
	.cfi_remember_state
	.cfi_def_cfa 7, 8
	ret
	.p2align 4,,10
	.p2align 3
.L78:
	.cfi_restore_state
	subl	$1, %eax
	movl	%ecx, %esi
	cmpl	%ecx, %eax
	cmovge	%eax, %esi
	cmpl	%esi, %r8d
	cmovg	%esi, %r8d
	addq	$1, %rdx
	cmpq	%rdx, %rdi
	jne	.L47
	jmp	.L46
.L48:
	leaq	.LC4(%rip), %rdi
	call	puts@PLT
	jmp	.L43
.L64:
	addl	$1, %eax
	jmp	.L13
.L65:
	addl	$1, %eax
	jmp	.L15
.L66:
	addl	$1, %eax
	jmp	.L17
.L67:
	addl	$1, %eax
	jmp	.L19
.L63:
	orq	$0, -8(%rsp,%rdx)
	jmp	.L7
.L73:
	addl	$1, %eax
	jmp	.L31
.L68:
	addl	$1, %eax
	jmp	.L21
.L69:
	addl	$1, %eax
	jmp	.L23
.L70:
	addl	$1, %eax
	jmp	.L25
.L71:
	addl	$1, %eax
	jmp	.L27
.L72:
	addl	$1, %eax
	jmp	.L29
.L8:
	je	.L48
	movl	$100100100, %r8d
	jmp	.L46
.L51:
	xorl	%esi, %esi
	xorl	%edx, %edx
	xorl	%eax, %eax
	jmp	.L9
.L74:
	addl	$1, %eax
	jmp	.L33
.L75:
	addl	$1, %eax
	jmp	.L35
.L76:
	addl	$1, %eax
	jmp	.L37
.L77:
	addl	$1, %eax
	jmp	.L39
.L40:
	addl	$1, %eax
	jmp	.L11
.L79:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE25:
	.size	main, .-main
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC2:
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.align 16
.LC3:
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.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	max
	.type	max, @function
max:
.LFB23:
	.cfi_startproc
	endbr64
	cmpl	%edi, %esi
	movl	%edi, %eax
	cmovge	%esi, %eax
	ret
	.cfi_endproc
.LFE23:
	.size	max, .-max
	.p2align 4
	.globl	min
	.type	min, @function
min:
.LFB24:
	.cfi_startproc
	endbr64
	cmpl	%edi, %esi
	movl	%edi, %eax
	cmovle	%esi, %eax
	ret
	.cfi_endproc
.LFE24:
	.size	min, .-min
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC1:
	.string	"%s"
.LC4:
	.string	"0"
.LC5:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB25:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	leaq	.LC0(%rip), %rdi
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	leaq	-28(%rbp), %rsi
	subq	$24, %rsp
	.cfi_offset 3, -24
	movq	%fs:40, %rax
	movq	%rax, -24(%rbp)
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	-28(%rbp), %eax
	movq	%rsp, %rcx
	addl	$1, %eax
	cltq
	addq	$15, %rax
	movq	%rax, %rdx
	andq	$-4096, %rax
	subq	%rax, %rcx
	andq	$-16, %rdx
	cmpq	%rcx, %rsp
	je	.L6
.L62:
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	cmpq	%rcx, %rsp
	jne	.L62
.L6:
	andl	$4095, %edx
	subq	%rdx, %rsp
	testq	%rdx, %rdx
	jne	.L63
.L7:
	movq	%rsp, %rsi
	leaq	.LC1(%rip), %rdi
	xorl	%eax, %eax
	movq	%rsp, %rbx
	call	__isoc99_scanf@PLT
	movl	-28(%rbp), %ecx
	testl	%ecx, %ecx
	jle	.L8
	leal	-1(%rcx), %eax
	cmpl	$14, %eax
	jbe	.L51
	movl	%ecx, %edx
	pxor	%xmm8, %xmm8
	pxor	%xmm3, %xmm3
	movq	%rsp, %rax
	shrl	$4, %edx
	movdqa	%xmm8, %xmm7
	pxor	%xmm2, %xmm2
	movdqa	.LC2(%rip), %xmm5
	salq	$4, %rdx
	movdqa	.LC3(%rip), %xmm4
	addq	%rsp, %rdx
	.p2align 4,,10
	.p2align 3
.L10:
	movdqu	(%rax), %xmm0
	movdqa	%xmm3, %xmm1
	movdqa	%xmm2, %xmm10
	addq	$16, %rax
	pcmpeqb	%xmm5, %xmm0
	movdqa	%xmm0, %xmm6
	pandn	%xmm4, %xmm0
	pand	%xmm4, %xmm6
	pcmpgtb	%xmm6, %xmm1
	movdqa	%xmm6, %xmm9
	punpcklbw	%xmm1, %xmm9
	punpckhbw	%xmm1, %xmm6
	pcmpgtw	%xmm9, %xmm10
	movdqa	%xmm9, %xmm1
	punpcklwd	%xmm10, %xmm1
	punpckhwd	%xmm10, %xmm9
	paddd	%xmm7, %xmm1
	movdqa	%xmm2, %xmm7
	pcmpgtw	%xmm6, %xmm7
	paddd	%xmm9, %xmm1
	movdqa	%xmm6, %xmm9
	punpcklwd	%xmm7, %xmm9
	punpckhwd	%xmm7, %xmm6
	paddd	%xmm9, %xmm1
	movdqa	%xmm2, %xmm9
	movdqa	%xmm1, %xmm7
	movdqa	%xmm3, %xmm1
	pcmpgtb	%xmm0, %xmm1
	paddd	%xmm6, %xmm7
	movdqa	%xmm0, %xmm6
	punpcklbw	%xmm1, %xmm6
	punpckhbw	%xmm1, %xmm0
	pcmpgtw	%xmm6, %xmm9
	movdqa	%xmm6, %xmm1
	punpcklwd	%xmm9, %xmm1
	punpckhwd	%xmm9, %xmm6
	paddd	%xmm8, %xmm1
	movdqa	%xmm0, %xmm8
	paddd	%xmm6, %xmm1
	movdqa	%xmm2, %xmm6
	pcmpgtw	%xmm0, %xmm6
	punpcklwd	%xmm6, %xmm8
	punpckhwd	%xmm6, %xmm0
	paddd	%xmm8, %xmm1
	paddd	%xmm0, %xmm1
	movdqa	%xmm1, %xmm8
	cmpq	%rax, %rdx
	jne	.L10
	movdqa	%xmm1, %xmm0
	movl	%ecx, %esi
	psrldq	$8, %xmm0
	andl	$-16, %esi
	paddd	%xmm0, %xmm8
	movdqa	%xmm8, %xmm0
	psrldq	$4, %xmm0
	paddd	%xmm0, %xmm8
	movdqa	%xmm7, %xmm0
	psrldq	$8, %xmm0
	movd	%xmm8, %edx
	paddd	%xmm0, %xmm7
	movdqa	%xmm7, %xmm0
	psrldq	$4, %xmm0
	paddd	%xmm0, %xmm7
	movd	%xmm7, %eax
	testb	$15, %cl
	je	.L11
.L9:
	movslq	%esi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L64
	addl	$1, %edx
.L13:
	leal	1(%rsi), %edi
	cmpl	%ecx, %edi
	jge	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L65
	addl	$1, %edx
.L15:
	leal	2(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L66
	addl	$1, %edx
.L17:
	leal	3(%rsi), %edi
	cmpl	%ecx, %edi
	jge	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L67
	addl	$1, %edx
.L19:
	leal	4(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L68
	addl	$1, %edx
.L21:
	leal	5(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L69
	addl	$1, %edx
.L23:
	leal	6(%rsi), %edi
	cmpl	%ecx, %edi
	jge	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L70
	addl	$1, %edx
.L25:
	leal	7(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L71
	addl	$1, %edx
.L27:
	leal	8(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L72
	addl	$1, %edx
.L29:
	leal	9(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L73
	addl	$1, %edx
.L31:
	leal	10(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L74
	addl	$1, %edx
.L33:
	leal	11(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L75
	addl	$1, %edx
.L35:
	leal	12(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L76
	addl	$1, %edx
.L37:
	leal	13(%rsi), %edi
	cmpl	%edi, %ecx
	jle	.L11
	movslq	%edi, %rdi
	cmpb	$82, (%rbx,%rdi)
	je	.L77
	addl	$1, %edx
.L39:
	addl	$14, %esi
	cmpl	%esi, %ecx
	jle	.L11
	movslq	%esi, %rsi
	cmpb	$82, (%rbx,%rsi)
	je	.L40
	addl	$1, %edx
	.p2align 4,,10
	.p2align 3
.L11:
	cmpl	%eax, %ecx
	je	.L48
	cmpl	%edx, %ecx
	je	.L48
	leaq	(%rbx,%rcx), %rdi
	movq	%rbx, %rdx
	xorl	%ecx, %ecx
	movl	$100100100, %r8d
	.p2align 4,,10
	.p2align 3
.L47:
	cmpb	$82, (%rdx)
	je	.L78
	addl	$1, %ecx
	movl	%eax, %esi
	cmpl	%eax, %ecx
	cmovge	%ecx, %esi
	cmpl	%esi, %r8d
	cmovg	%esi, %r8d
	addq	$1, %rdx
	cmpq	%rdi, %rdx
	jne	.L47
.L46:
	movl	%r8d, %edx
	leaq	.LC5(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
.L43:
	movq	-24(%rbp), %rax
	subq	%fs:40, %rax
	jne	.L79
	movq	-8(%rbp), %rbx
	xorl	%eax, %eax
	leave
	.cfi_remember_state
	.cfi_def_cfa 7, 8
	ret
	.p2align 4,,10
	.p2align 3
.L78:
	.cfi_restore_state
	subl	$1, %eax
	movl	%ecx, %esi
	cmpl	%ecx, %eax
	cmovge	%eax, %esi
	cmpl	%esi, %r8d
	cmovg	%esi, %r8d
	addq	$1, %rdx
	cmpq	%rdx, %rdi
	jne	.L47
	jmp	.L46
.L48:
	leaq	.LC4(%rip), %rdi
	call	puts@PLT
	jmp	.L43
.L64:
	addl	$1, %eax
	jmp	.L13
.L65:
	addl	$1, %eax
	jmp	.L15
.L66:
	addl	$1, %eax
	jmp	.L17
.L67:
	addl	$1, %eax
	jmp	.L19
.L63:
	orq	$0, -8(%rsp,%rdx)
	jmp	.L7
.L73:
	addl	$1, %eax
	jmp	.L31
.L68:
	addl	$1, %eax
	jmp	.L21
.L69:
	addl	$1, %eax
	jmp	.L23
.L70:
	addl	$1, %eax
	jmp	.L25
.L71:
	addl	$1, %eax
	jmp	.L27
.L72:
	addl	$1, %eax
	jmp	.L29
.L8:
	je	.L48
	movl	$100100100, %r8d
	jmp	.L46
.L51:
	xorl	%esi, %esi
	xorl	%edx, %edx
	xorl	%eax, %eax
	jmp	.L9
.L74:
	addl	$1, %eax
	jmp	.L33
.L75:
	addl	$1, %eax
	jmp	.L35
.L76:
	addl	$1, %eax
	jmp	.L37
.L77:
	addl	$1, %eax
	jmp	.L39
.L40:
	addl	$1, %eax
	jmp	.L11
.L79:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE25:
	.size	main, .-main
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC2:
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.byte	82
	.align 16
.LC3:
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.byte	1
	.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 max(int a, int b){return a > b ? a : b;}
int min(int a, int b){return a < b ? a : b;}
int main(){
    int n;
    scanf("%d",&n);
    char c[n + 1];
    scanf("%s",c);
    int ans = 100100100;
    int r = 0;
    int w = 0;
    for(int i = 0; i < n; i++){
        if(c[i] == 'R')
            r++;
        else w++;
    }
    if(w == n || r == n){
        puts("0");
        return 0;
    }
    int leftRed = 0;
    int leftWhite = 0;
    for(int i = 0; i < n; i++){
        if(c[i] == 'R'){
            leftRed++;
            r--;
        }
        else{
            leftWhite++;
            w--;
        }
        int p = max(leftWhite, r);
        ans = min(ans, p);
    }
    printf("%d\n",ans);
    return 0;
}
8
RRWRWWRW
 2
RQ
 8
RRWWWRRW
 8
WRWWWRRR
 8
WWWWRRRR
 8
RRWRVWRW
 4
RRWW
 4
RWWR
 2
RS
 4
RRVW

1
 0
 2
 3
 4
 1
 0
 1
 0
 0

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

```c
#include<stdio.h>
int max(int a, int b){return a > b ? a : b;}
int min(int a, int b){return a < b ? a : b;}
int main(){
    int n;
    scanf("%d",&n);
    char c[n + 1];
    scanf("%s",c);
    int ans = 100100100;
    int r = 0;
    int w = 0;
    for(int i = 0; i < n; i++){
        if(c[i] == 'R')
            r++;
        else w++;
    }
    if(w == n || r == n){
        puts("0");
        return 0;
    }
    int leftRed = 0;
    int leftWhite = 0;
    for(int i = 0; i < n; i++){
        if(c[i] == 'R'){
            leftRed++;
            r--;
        }
        else{
            leftWhite++;
            w--;
        }
        int p = max(leftWhite, r);
        ans = min(ans, p);
    }
    printf("%d\n",ans);
    return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	max
	.type	max, @function
max:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	-8(%rbp), %edx
	movl	-4(%rbp), %eax
	cmpl	%eax, %edx
	cmovge	%edx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	max, .-max
	.globl	min
	.type	min, @function
min:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	-8(%rbp), %edx
	movl	-4(%rbp), %eax
	cmpl	%eax, %edx
	cmovle	%edx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	min, .-min
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%s"
.LC2:
	.string	"0"
.LC3:
	.string	"%d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$72, %rsp
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	movq	%fs:40, %rax
	movq	%rax, -56(%rbp)
	xorl	%eax, %eax
	movq	%rsp, %rax
	movq	%rax, %rbx
	leaq	-108(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-108(%rbp), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	subq	$1, %rdx
	movq	%rdx, -72(%rbp)
	movslq	%eax, %rdx
	movq	%rdx, %r14
	movl	$0, %r15d
	movslq	%eax, %rdx
	movq	%rdx, %r12
	movl	$0, %r13d
	cltq
	movl	$16, %edx
	subq	$1, %rdx
	addq	%rdx, %rax
	movl	$16, %ecx
	movl	$0, %edx
	divq	%rcx
	imulq	$16, %rax, %rax
	movq	%rax, %rcx
	andq	$-4096, %rcx
	movq	%rsp, %rdx
	subq	%rcx, %rdx
.L6:
	cmpq	%rdx, %rsp
	je	.L7
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	jmp	.L6
.L7:
	movq	%rax, %rdx
	andl	$4095, %edx
	subq	%rdx, %rsp
	movq	%rax, %rdx
	andl	$4095, %edx
	testq	%rdx, %rdx
	je	.L8
	andl	$4095, %eax
	subq	$8, %rax
	addq	%rsp, %rax
	orq	$0, (%rax)
.L8:
	movq	%rsp, %rax
	addq	$0, %rax
	movq	%rax, -64(%rbp)
	movq	-64(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$100100100, -104(%rbp)
	movl	$0, -100(%rbp)
	movl	$0, -96(%rbp)
	movl	$0, -92(%rbp)
	jmp	.L9
.L12:
	movq	-64(%rbp), %rdx
	movl	-92(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %eax
	cmpb	$82, %al
	jne	.L10
	addl	$1, -100(%rbp)
	jmp	.L11
.L10:
	addl	$1, -96(%rbp)
.L11:
	addl	$1, -92(%rbp)
.L9:
	movl	-108(%rbp), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L12
	movl	-108(%rbp), %eax
	cmpl	%eax, -96(%rbp)
	je	.L13
	movl	-108(%rbp), %eax
	cmpl	%eax, -100(%rbp)
	jne	.L14
.L13:
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
	jmp	.L15
.L14:
	movl	$0, -88(%rbp)
	movl	$0, -84(%rbp)
	movl	$0, -80(%rbp)
	jmp	.L16
.L19:
	movq	-64(%rbp), %rdx
	movl	-80(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %eax
	cmpb	$82, %al
	jne	.L17
	addl	$1, -88(%rbp)
	subl	$1, -100(%rbp)
	jmp	.L18
.L17:
	addl	$1, -84(%rbp)
	subl	$1, -96(%rbp)
.L18:
	movl	-100(%rbp), %edx
	movl	-84(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	max
	movl	%eax, -76(%rbp)
	movl	-76(%rbp), %edx
	movl	-104(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	min
	movl	%eax, -104(%rbp)
	addl	$1, -80(%rbp)
.L16:
	movl	-108(%rbp), %eax
	cmpl	%eax, -80(%rbp)
	jl	.L19
	movl	-104(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
.L15:
	movq	%rbx, %rsp
	movq	-56(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L21
	call	__stack_chk_fail@PLT
.L21:
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.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	max
	.type	max, @function
max:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	-8(%rbp), %edx
	movl	-4(%rbp), %eax
	cmpl	%eax, %edx
	cmovge	%edx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	max, .-max
	.globl	min
	.type	min, @function
min:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	-8(%rbp), %edx
	movl	-4(%rbp), %eax
	cmpl	%eax, %edx
	cmovle	%edx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	min, .-min
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%s"
.LC2:
	.string	"0"
.LC3:
	.string	"%d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$72, %rsp
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	movq	%fs:40, %rax
	movq	%rax, -56(%rbp)
	xorl	%eax, %eax
	movq	%rsp, %rax
	movq	%rax, %rbx
	leaq	-108(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-108(%rbp), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	subq	$1, %rdx
	movq	%rdx, -72(%rbp)
	movslq	%eax, %rdx
	movq	%rdx, %r14
	movl	$0, %r15d
	movslq	%eax, %rdx
	movq	%rdx, %r12
	movl	$0, %r13d
	cltq
	movl	$16, %edx
	subq	$1, %rdx
	addq	%rdx, %rax
	movl	$16, %ecx
	movl	$0, %edx
	divq	%rcx
	imulq	$16, %rax, %rax
	movq	%rax, %rcx
	andq	$-4096, %rcx
	movq	%rsp, %rdx
	subq	%rcx, %rdx
.L6:
	cmpq	%rdx, %rsp
	je	.L7
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	jmp	.L6
.L7:
	movq	%rax, %rdx
	andl	$4095, %edx
	subq	%rdx, %rsp
	movq	%rax, %rdx
	andl	$4095, %edx
	testq	%rdx, %rdx
	je	.L8
	andl	$4095, %eax
	subq	$8, %rax
	addq	%rsp, %rax
	orq	$0, (%rax)
.L8:
	movq	%rsp, %rax
	addq	$0, %rax
	movq	%rax, -64(%rbp)
	movq	-64(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$100100100, -104(%rbp)
	movl	$0, -100(%rbp)
	movl	$0, -96(%rbp)
	movl	$0, -92(%rbp)
	jmp	.L9
.L12:
	movq	-64(%rbp), %rdx
	movl	-92(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %eax
	cmpb	$82, %al
	jne	.L10
	addl	$1, -100(%rbp)
	jmp	.L11
.L10:
	addl	$1, -96(%rbp)
.L11:
	addl	$1, -92(%rbp)
.L9:
	movl	-108(%rbp), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L12
	movl	-108(%rbp), %eax
	cmpl	%eax, -96(%rbp)
	je	.L13
	movl	-108(%rbp), %eax
	cmpl	%eax, -100(%rbp)
	jne	.L14
.L13:
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
	jmp	.L15
.L14:
	movl	$0, -88(%rbp)
	movl	$0, -84(%rbp)
	movl	$0, -80(%rbp)
	jmp	.L16
.L19:
	movq	-64(%rbp), %rdx
	movl	-80(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %eax
	cmpb	$82, %al
	jne	.L17
	addl	$1, -88(%rbp)
	subl	$1, -100(%rbp)
	jmp	.L18
.L17:
	addl	$1, -84(%rbp)
	subl	$1, -96(%rbp)
.L18:
	movl	-100(%rbp), %edx
	movl	-84(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	max
	movl	%eax, -76(%rbp)
	movl	-76(%rbp), %edx
	movl	-104(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	min
	movl	%eax, -104(%rbp)
	addl	$1, -80(%rbp)
.L16:
	movl	-108(%rbp), %eax
	cmpl	%eax, -80(%rbp)
	jl	.L19
	movl	-104(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
.L15:
	movq	%rbx, %rsp
	movq	-56(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L21
	call	__stack_chk_fail@PLT
.L21:
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.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:
