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

```c
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <limits.h>
#include <stdbool.h>

#define rep(i, n) for(int i=0; i<(n); ++i)
#define max  200001

//qsort(str, n, sizeof(int), up_comp);
int up_comp(const void *a, const void *b){return *(int*)a - *(int*)b;}
int down_comp(const void *a, const void *b){return *(int*)b - *(int*)a;}
int int_sort( const void * a , const void * b ) {return strcmp(( char * )a , ( char * )b );}
int count_digit(int a){int i=0;while(a!=0){a=a/10;i++;}return i;}
int euclid( int a, int b ){int temp;if(a<b){temp=a;a=b;b=temp;}if(b<1)return -1;if(a%b==0) return b;return euclid(b,a%b);}

int main(void){
 
    int x, a, b;
    
    scanf("%d%d%d", &x, &a, &b);
    
    x-=a;
    
    printf("%d\n", x-(x/b)*b);
    
    return 0;
}

```

Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.p2align 4
	.globl	up_comp
	.type	up_comp, @function
up_comp:
.LFB51:
	.cfi_startproc
	endbr64
	movl	(%rdi), %eax
	subl	(%rsi), %eax
	ret
	.cfi_endproc
.LFE51:
	.size	up_comp, .-up_comp
	.p2align 4
	.globl	down_comp
	.type	down_comp, @function
down_comp:
.LFB52:
	.cfi_startproc
	endbr64
	movl	(%rsi), %eax
	subl	(%rdi), %eax
	ret
	.cfi_endproc
.LFE52:
	.size	down_comp, .-down_comp
	.p2align 4
	.globl	int_sort
	.type	int_sort, @function
int_sort:
.LFB53:
	.cfi_startproc
	endbr64
	jmp	strcmp@PLT
	.cfi_endproc
.LFE53:
	.size	int_sort, .-int_sort
	.p2align 4
	.globl	count_digit
	.type	count_digit, @function
count_digit:
.LFB54:
	.cfi_startproc
	endbr64
	xorl	%r8d, %r8d
	testl	%edi, %edi
	je	.L5
	.p2align 4,,10
	.p2align 3
.L7:
	movslq	%edi, %rax
	movl	%edi, %edx
	addl	$1, %r8d
	imulq	$1717986919, %rax, %rax
	sarl	$31, %edx
	sarq	$34, %rax
	subl	%edx, %eax
	movl	%eax, %edi
	jne	.L7
.L5:
	movl	%r8d, %eax
	ret
	.cfi_endproc
.LFE54:
	.size	count_digit, .-count_digit
	.p2align 4
	.globl	euclid
	.type	euclid, @function
euclid:
.LFB55:
	.cfi_startproc
	endbr64
	.p2align 4,,10
	.p2align 3
.L13:
	cmpl	%esi, %edi
	jl	.L11
	movl	%esi, %eax
	movl	%edi, %esi
	movl	%eax, %edi
.L11:
	testl	%edi, %edi
	jle	.L15
	movl	%esi, %eax
	cltd
	idivl	%edi
	movl	%edx, %esi
	testl	%edx, %edx
	jne	.L13
	movl	%edi, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L15:
	movl	$-1, %eax
	ret
	.cfi_endproc
.LFE55:
	.size	euclid, .-euclid
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d%d%d"
.LC1:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB56:
	.cfi_startproc
	endbr64
	subq	$40, %rsp
	.cfi_def_cfa_offset 48
	leaq	.LC0(%rip), %rdi
	movq	%fs:40, %rax
	movq	%rax, 24(%rsp)
	xorl	%eax, %eax
	leaq	16(%rsp), %rdx
	leaq	12(%rsp), %rsi
	leaq	20(%rsp), %rcx
	call	__isoc99_scanf@PLT
	movl	12(%rsp), %eax
	subl	16(%rsp), %eax
	leaq	.LC1(%rip), %rsi
	cltd
	movl	%eax, 12(%rsp)
	movl	$1, %edi
	idivl	20(%rsp)
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L20
	xorl	%eax, %eax
	addq	$40, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	ret
.L20:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE56:
	.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.
Optimized Assembly Code:

user
```assembly
	.file	"temp.c"
	.text
	.p2align 4
	.globl	up_comp
	.type	up_comp, @function
up_comp:
.LFB51:
	.cfi_startproc
	endbr64
	movl	(%rdi), %eax
	subl	(%rsi), %eax
	ret
	.cfi_endproc
.LFE51:
	.size	up_comp, .-up_comp
	.p2align 4
	.globl	down_comp
	.type	down_comp, @function
down_comp:
.LFB52:
	.cfi_startproc
	endbr64
	movl	(%rsi), %eax
	subl	(%rdi), %eax
	ret
	.cfi_endproc
.LFE52:
	.size	down_comp, .-down_comp
	.p2align 4
	.globl	int_sort
	.type	int_sort, @function
int_sort:
.LFB53:
	.cfi_startproc
	endbr64
	jmp	strcmp@PLT
	.cfi_endproc
.LFE53:
	.size	int_sort, .-int_sort
	.p2align 4
	.globl	count_digit
	.type	count_digit, @function
count_digit:
.LFB54:
	.cfi_startproc
	endbr64
	xorl	%r8d, %r8d
	testl	%edi, %edi
	je	.L5
	.p2align 4,,10
	.p2align 3
.L7:
	movslq	%edi, %rax
	movl	%edi, %edx
	addl	$1, %r8d
	imulq	$1717986919, %rax, %rax
	sarl	$31, %edx
	sarq	$34, %rax
	subl	%edx, %eax
	movl	%eax, %edi
	jne	.L7
.L5:
	movl	%r8d, %eax
	ret
	.cfi_endproc
.LFE54:
	.size	count_digit, .-count_digit
	.p2align 4
	.globl	euclid
	.type	euclid, @function
euclid:
.LFB55:
	.cfi_startproc
	endbr64
	.p2align 4,,10
	.p2align 3
.L13:
	cmpl	%esi, %edi
	jl	.L11
	movl	%esi, %eax
	movl	%edi, %esi
	movl	%eax, %edi
.L11:
	testl	%edi, %edi
	jle	.L15
	movl	%esi, %eax
	cltd
	idivl	%edi
	movl	%edx, %esi
	testl	%edx, %edx
	jne	.L13
	movl	%edi, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L15:
	movl	$-1, %eax
	ret
	.cfi_endproc
.LFE55:
	.size	euclid, .-euclid
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d%d%d"
.LC1:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB56:
	.cfi_startproc
	endbr64
	subq	$40, %rsp
	.cfi_def_cfa_offset 48
	leaq	.LC0(%rip), %rdi
	movq	%fs:40, %rax
	movq	%rax, 24(%rsp)
	xorl	%eax, %eax
	leaq	16(%rsp), %rdx
	leaq	12(%rsp), %rsi
	leaq	20(%rsp), %rcx
	call	__isoc99_scanf@PLT
	movl	12(%rsp), %eax
	subl	16(%rsp), %eax
	leaq	.LC1(%rip), %rsi
	cltd
	movl	%eax, 12(%rsp)
	movl	$1, %edi
	idivl	20(%rsp)
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L20
	xorl	%eax, %eax
	addq	$40, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	ret
.L20:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE56:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```
rule
```assembly
	.file	"temp.c"
	.text
	.p2align 4
	.globl	up_comp
	.type	up_comp, @function
up_comp:
.LFB51:
	.cfi_startproc
	endbr64
	movl	(%rdi), %eax
	subl	(%rsi), %eax
	ret
	.cfi_endproc
.LFE51:
	.size	up_comp, .-up_comp
	.p2align 4
	.globl	down_comp
	.type	down_comp, @function
down_comp:
.LFB52:
	.cfi_startproc
	endbr64
	movl	(%rsi), %eax
	subl	(%rdi), %eax
	ret
	.cfi_endproc
.LFE52:
	.size	down_comp, .-down_comp
	.p2align 4
	.globl	int_sort
	.type	int_sort, @function
int_sort:
.LFB53:
	.cfi_startproc
	endbr64
	jmp	strcmp@PLT
	.cfi_endproc
.LFE53:
	.size	int_sort, .-int_sort
	.p2align 4
	.globl	count_digit
	.type	count_digit, @function
count_digit:
.LFB54:
	.cfi_startproc
	endbr64
	xorl	%r8d, %r8d
	testl	%edi, %edi
	je	.L5
	.p2align 4,,10
	.p2align 3
.L7:
	movslq	%edi, %rax
	movl	%edi, %edx
	addl	$1, %r8d
	imulq	$1717986919, %rax, %rax
	sarl	$31, %edx
	sarq	$34, %rax
	subl	%edx, %eax
	movl	%eax, %edi
	jne	.L7
.L5:
	movl	%r8d, %eax
	ret
	.cfi_endproc
.LFE54:
	.size	count_digit, .-count_digit
	.p2align 4
	.globl	euclid
	.type	euclid, @function
euclid:
.LFB55:
	.cfi_startproc
	endbr64
	.p2align 4,,10
	.p2align 3
.L13:
	cmpl	%esi, %edi
	jl	.L11
	movl	%esi, %eax
	movl	%edi, %esi
	movl	%eax, %edi
.L11:
	testl	%edi, %edi
	jle	.L15
	movl	%esi, %eax
	cltd
	idivl	%edi
	movl	%edx, %esi
	testl	%edx, %edx
	jne	.L13
	movl	%edi, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L15:
	movl	$-1, %eax
	ret
	.cfi_endproc
.LFE55:
	.size	euclid, .-euclid
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d%d%d"
.LC1:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB56:
	.cfi_startproc
	endbr64
	subq	$40, %rsp
	.cfi_def_cfa_offset 48
	leaq	.LC0(%rip), %rdi
	movq	%fs:40, %rax
	movq	%rax, 24(%rsp)
	xorl	%eax, %eax
	leaq	16(%rsp), %rdx
	leaq	12(%rsp), %rsi
	leaq	20(%rsp), %rcx
	call	__isoc99_scanf@PLT
	movl	12(%rsp), %eax
	subl	16(%rsp), %eax
	leaq	.LC1(%rip), %rsi
	cltd
	movl	%eax, 12(%rsp)
	movl	$1, %edi
	idivl	20(%rsp)
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L20
	xorl	%eax, %eax
	addq	$40, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	ret
.L20:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE56:
	.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:
```
```c
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <limits.h>
#include <stdbool.h>

#define rep(i, n) for(int i=0; i<(n); ++i)
#define max  200001

//qsort(str, n, sizeof(int), up_comp);
int up_comp(const void *a, const void *b){return *(int*)a - *(int*)b;}
int down_comp(const void *a, const void *b){return *(int*)b - *(int*)a;}
int int_sort( const void * a , const void * b ) {return strcmp(( char * )a , ( char * )b );}
int count_digit(int a){int i=0;while(a!=0){a=a/10;i++;}return i;}
int euclid( int a, int b ){int temp;if(a<b){temp=a;a=b;b=temp;}if(b<1)return -1;if(a%b==0) return b;return euclid(b,a%b);}

int main(void){
 
    int x, a, b;
    
    scanf("%d%d%d", &x, &a, &b);
    
    x-=a;
    
    printf("%d\n", x-(x/b)*b);
    
    return 0;
}

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

```c
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <limits.h>
#include <stdbool.h>

#define rep(i, n) for(int i=0; i<(n); ++i)
#define max  200001

//qsort(str, n, sizeof(int), up_comp);
int up_comp(const void *a, const void *b){return *(int*)a - *(int*)b;}
int down_comp(const void *a, const void *b){return *(int*)b - *(int*)a;}
int int_sort( const void * a , const void * b ) {return strcmp(( char * )a , ( char * )b );}
int count_digit(int a){int i=0;while(a!=0){a=a/10;i++;}return i;}
int euclid( int a, int b ){int temp;if(a<b){temp=a;a=b;b=temp;}if(b<1)return -1;if(a%b==0) return b;return euclid(b,a%b);}

int main(void){
 
    int x, a, b;
    
    scanf("%d%d%d", &x, &a, &b);
    
    x-=a;
    
    printf("%d\n", x-(x/b)*b);
    
    return 0;
}

```

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.
Optimized Assembly Code:

1000
18
108
 579
17
456
 7477
549
1145
 1000
18
210
 579
17
446
 7477
549
494
 1000
18
302
 579
17
393
 7477
678
494
 1000
18
500

10
 106
 58
 142
 116
 12
 76
 169
 377
 482

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

```c
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <limits.h>
#include <stdbool.h>

#define rep(i, n) for(int i=0; i<(n); ++i)
#define max  200001

//qsort(str, n, sizeof(int), up_comp);
int up_comp(const void *a, const void *b){return *(int*)a - *(int*)b;}
int down_comp(const void *a, const void *b){return *(int*)b - *(int*)a;}
int int_sort( const void * a , const void * b ) {return strcmp(( char * )a , ( char * )b );}
int count_digit(int a){int i=0;while(a!=0){a=a/10;i++;}return i;}
int euclid( int a, int b ){int temp;if(a<b){temp=a;a=b;b=temp;}if(b<1)return -1;if(a%b==0) return b;return euclid(b,a%b);}

int main(void){
 
    int x, a, b;
    
    scanf("%d%d%d", &x, &a, &b);
    
    x-=a;
    
    printf("%d\n", x-(x/b)*b);
    
    return 0;
}

```

Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.p2align 4
	.globl	up_comp
	.type	up_comp, @function
up_comp:
.LFB51:
	.cfi_startproc
	endbr64
	movl	(%rdi), %eax
	subl	(%rsi), %eax
	ret
	.cfi_endproc
.LFE51:
	.size	up_comp, .-up_comp
	.p2align 4
	.globl	down_comp
	.type	down_comp, @function
down_comp:
.LFB52:
	.cfi_startproc
	endbr64
	movl	(%rsi), %eax
	subl	(%rdi), %eax
	ret
	.cfi_endproc
.LFE52:
	.size	down_comp, .-down_comp
	.p2align 4
	.globl	int_sort
	.type	int_sort, @function
int_sort:
.LFB53:
	.cfi_startproc
	endbr64
	jmp	strcmp@PLT
	.cfi_endproc
.LFE53:
	.size	int_sort, .-int_sort
	.p2align 4
	.globl	count_digit
	.type	count_digit, @function
count_digit:
.LFB54:
	.cfi_startproc
	endbr64
	xorl	%r8d, %r8d
	testl	%edi, %edi
	je	.L5
	.p2align 4,,10
	.p2align 3
.L7:
	movslq	%edi, %rax
	movl	%edi, %edx
	addl	$1, %r8d
	imulq	$1717986919, %rax, %rax
	sarl	$31, %edx
	sarq	$34, %rax
	subl	%edx, %eax
	movl	%eax, %edi
	jne	.L7
.L5:
	movl	%r8d, %eax
	ret
	.cfi_endproc
.LFE54:
	.size	count_digit, .-count_digit
	.p2align 4
	.globl	euclid
	.type	euclid, @function
euclid:
.LFB55:
	.cfi_startproc
	endbr64
	.p2align 4,,10
	.p2align 3
.L13:
	cmpl	%esi, %edi
	jl	.L11
	movl	%esi, %eax
	movl	%edi, %esi
	movl	%eax, %edi
.L11:
	testl	%edi, %edi
	jle	.L15
	movl	%esi, %eax
	cltd
	idivl	%edi
	movl	%edx, %esi
	testl	%edx, %edx
	jne	.L13
	movl	%edi, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L15:
	movl	$-1, %eax
	ret
	.cfi_endproc
.LFE55:
	.size	euclid, .-euclid
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d%d%d"
.LC1:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB56:
	.cfi_startproc
	endbr64
	subq	$40, %rsp
	.cfi_def_cfa_offset 48
	leaq	.LC0(%rip), %rdi
	movq	%fs:40, %rax
	movq	%rax, 24(%rsp)
	xorl	%eax, %eax
	leaq	16(%rsp), %rdx
	leaq	12(%rsp), %rsi
	leaq	20(%rsp), %rcx
	call	__isoc99_scanf@PLT
	movl	12(%rsp), %eax
	subl	16(%rsp), %eax
	leaq	.LC1(%rip), %rsi
	cltd
	movl	%eax, 12(%rsp)
	movl	$1, %edi
	idivl	20(%rsp)
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L20
	xorl	%eax, %eax
	addq	$40, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	ret
.L20:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE56:
	.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.
Optimized Assembly Code:

train
```assembly
	.file	"temp.c"
	.text
	.p2align 4
	.globl	up_comp
	.type	up_comp, @function
up_comp:
.LFB51:
	.cfi_startproc
	endbr64
	movl	(%rdi), %eax
	subl	(%rsi), %eax
	ret
	.cfi_endproc
.LFE51:
	.size	up_comp, .-up_comp
	.p2align 4
	.globl	down_comp
	.type	down_comp, @function
down_comp:
.LFB52:
	.cfi_startproc
	endbr64
	movl	(%rsi), %eax
	subl	(%rdi), %eax
	ret
	.cfi_endproc
.LFE52:
	.size	down_comp, .-down_comp
	.p2align 4
	.globl	int_sort
	.type	int_sort, @function
int_sort:
.LFB53:
	.cfi_startproc
	endbr64
	jmp	strcmp@PLT
	.cfi_endproc
.LFE53:
	.size	int_sort, .-int_sort
	.p2align 4
	.globl	count_digit
	.type	count_digit, @function
count_digit:
.LFB54:
	.cfi_startproc
	endbr64
	xorl	%r8d, %r8d
	testl	%edi, %edi
	je	.L5
	.p2align 4,,10
	.p2align 3
.L7:
	movslq	%edi, %rax
	movl	%edi, %edx
	addl	$1, %r8d
	imulq	$1717986919, %rax, %rax
	sarl	$31, %edx
	sarq	$34, %rax
	subl	%edx, %eax
	movl	%eax, %edi
	jne	.L7
.L5:
	movl	%r8d, %eax
	ret
	.cfi_endproc
.LFE54:
	.size	count_digit, .-count_digit
	.p2align 4
	.globl	euclid
	.type	euclid, @function
euclid:
.LFB55:
	.cfi_startproc
	endbr64
	.p2align 4,,10
	.p2align 3
.L13:
	cmpl	%esi, %edi
	jl	.L11
	movl	%esi, %eax
	movl	%edi, %esi
	movl	%eax, %edi
.L11:
	testl	%edi, %edi
	jle	.L15
	movl	%esi, %eax
	cltd
	idivl	%edi
	movl	%edx, %esi
	testl	%edx, %edx
	jne	.L13
	movl	%edi, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L15:
	movl	$-1, %eax
	ret
	.cfi_endproc
.LFE55:
	.size	euclid, .-euclid
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d%d%d"
.LC1:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB56:
	.cfi_startproc
	endbr64
	subq	$40, %rsp
	.cfi_def_cfa_offset 48
	leaq	.LC0(%rip), %rdi
	movq	%fs:40, %rax
	movq	%rax, 24(%rsp)
	xorl	%eax, %eax
	leaq	16(%rsp), %rdx
	leaq	12(%rsp), %rsi
	leaq	20(%rsp), %rcx
	call	__isoc99_scanf@PLT
	movl	12(%rsp), %eax
	subl	16(%rsp), %eax
	leaq	.LC1(%rip), %rsi
	cltd
	movl	%eax, 12(%rsp)
	movl	$1, %edi
	idivl	20(%rsp)
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	24(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L20
	xorl	%eax, %eax
	addq	$40, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	ret
.L20:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE56:
	.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:
```