.file "main.cpp"
.text
#APP
.globl _ZSt21ios_base_library_initv
#NO_APP
.p2align 4
.globl _Z5muutaiii
.type _Z5muutaiii, @function
_Z5muutaiii:
.LFB9881:
.cfi_startproc
endbr64
addl $512, %edi
movslq %edx, %rdx
movl %esi, %r8d
movslq %edi, %rax
leaq p(%rip), %rsi
imulq $501, %rax, %rax
addq %rdx, %rax
movl (%rsi,%rax,4), %ecx
testl %r8d, %ecx
jne .L1
orl %r8d, %ecx
movl %ecx, (%rsi,%rax,4)
movl %edi, %ecx
shrl $31, %ecx
addl %edi, %ecx
sarl %ecx
cmpl $1, %edi
jle .L1
.p2align 4,,10
.p2align 3
.L3:
movslq %ecx, %rax
imulq $501, %rax, %rax
addq %rdx, %rax
orl %r8d, (%rsi,%rax,4)
sarl %ecx
jne .L3
.L1:
ret
.cfi_endproc
.LFE9881:
.size _Z5muutaiii, .-_Z5muutaiii
.p2align 4
.globl _Z4maskiii
.type _Z4maskiii, @function
_Z4maskiii:
.LFB9882:
.cfi_startproc
endbr64
cmpl %esi, %edi
leal 512(%rsi), %ecx
leal 512(%rdi), %eax
movl $0, %esi
jg .L6
leaq p(%rip), %r8
movslq %edx, %rdi
.p2align 4,,10
.p2align 3
.L10:
movl %eax, %r9d
shrl $31, %r9d
leal (%rax,%r9), %edx
andl $1, %edx
subl %r9d, %edx
cmpl $1, %edx
jne .L8
movslq %eax, %rdx
addl $1, %eax
imulq $501, %rdx, %rdx
addq %rdi, %rdx
orl (%r8,%rdx,4), %esi
.L8:
testb $1, %cl
jne .L9
movslq %ecx, %rdx
subl $1, %ecx
imulq $501, %rdx, %rdx
addq %rdi, %rdx
orl (%r8,%rdx,4), %esi
.L9:
movl %eax, %edx
shrl $31, %edx
addl %edx, %eax
movl %ecx, %edx
shrl $31, %edx
sarl %eax
addl %ecx, %edx
movl %edx, %ecx
sarl %ecx
cmpl %ecx, %eax
jle .L10
.L6:
movl %esi, %eax
ret
.cfi_endproc
.LFE9882:
.size _Z4maskiii, .-_Z4maskiii
.section .rodata.str1.1,"aMS",@progbits,1
.LC0:
.string "\n"
.section .text.startup,"ax",@progbits
.p2align 4
.globl main
.type main, @function
main:
.LFB9883:
.cfi_startproc
endbr64
pushq %r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
xorl %edi, %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
leaq _ZSt3cin(%rip), %rbp
pushq %rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
subq $56, %rsp
.cfi_def_cfa_offset 112
movq %fs:40, %rax
movq %rax, 40(%rsp)
xorl %eax, %eax
call _ZNSt8ios_base15sync_with_stdioEb@PLT
leaq 36(%rsp), %rsi
movq %rbp, %rdi
movq $0, 232+_ZSt3cin(%rip)
call _ZNSirsERi@PLT
movl 36(%rsp), %edx
testl %edx, %edx
jle .L14
leaq 2004+c(%rip), %rax
movl $1, 8(%rsp)
leaq 35(%rsp), %r14
movl $1, %r12d
movq %rax, 24(%rsp)
movq %rax, %rbx
.L16:
movl $1, %r15d
.p2align 4,,10
.p2align 3
.L15:
movq %r14, %rsi
movq %rbp, %rdi
call _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@PLT
movsbl 35(%rsp), %ecx
movl %r12d, %eax
movl 36(%rsp), %r13d
subl $65, %ecx
sall %cl, %eax
orl %eax, bm(%rip)
movl %eax, (%rbx,%r15,4)
addq $1, %r15
cmpl %r15d, %r13d
jge .L15
addl $1, 8(%rsp)
movl 8(%rsp), %eax
addq $2004, %rbx
cmpl %eax, %r13d
jge .L16
testl %r13d, %r13d
jle .L14
movq $0, 8(%rsp)
movl $1, %ebp
.L17:
movl %ebp, 20(%rsp)
movq 24(%rsp), %r11
movl %ebp, %r10d
cmpl %ebp, %r13d
jl .L19
.p2align 4,,10
.p2align 3
.L25:
movl $1, %r9d
.p2align 4,,10
.p2align 3
.L18:
movl (%r11,%r9,4), %esi
movl %r9d, %edi
movl %r10d, %edx
addq $1, %r9
call _Z5muutaiii
movl 36(%rsp), %r13d
cmpl %r9d, %r13d
jge .L18
testl %r13d, %r13d
jle .L19
leal 1(%r13), %ebx
movl bm(%rip), %r12d
movl $1, %r14d
movl $1, %r15d
.p2align 4,,10
.p2align 3
.L24:
movl %r10d, %edx
movl %r14d, %esi
movl %r15d, %edi
call _Z4maskiii
cmpl %r14d, %r13d
jle .L20
cmpl %r12d, %eax
je .L20
movslq %r14d, %rdx
leaq p(%rip), %rcx
imulq $501, %rdx, %rdx
addq %rbp, %rdx
leaq (%rcx,%rdx,4), %rdx
jmp .L21
.p2align 4,,10
.p2align 3
.L47:
cmpl %r12d, %eax
je .L20
.L21:
addl $1, %r14d
orl 1028052(%rdx), %eax
addq $2004, %rdx
cmpl %r14d, %r13d
jg .L47
.L20:
cmpl %eax, %r12d
jne .L23
movl %r13d, %eax
subl %r14d, %eax
addl $1, %eax
cltq
addq %rax, 8(%rsp)
.L23:
addl $1, %r15d
cmpl %r15d, %ebx
jne .L24
addl $1, 20(%rsp)
movl 20(%rsp), %eax
addq $2004, %r11
cmpl %eax, %r13d
jge .L25
.L19:
addq $2004, 24(%rsp)
addq $1, %rbp
cmpl %ebp, %r13d
jge .L17
.L26:
movq 8(%rsp), %rsi
leaq _ZSt4cout(%rip), %rdi
call _ZNSo9_M_insertIxEERSoT_@PLT
movl $1, %edx
leaq .LC0(%rip), %rsi
movq %rax, %rdi
call _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@PLT
movq 40(%rsp), %rax
subq %fs:40, %rax
jne .L48
addq $56, %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
.L14:
.cfi_restore_state
xorl %eax, %eax
movq %rax, 8(%rsp)
jmp .L26
.L48:
call __stack_chk_fail@PLT
.cfi_endproc
.LFE9883:
.size main, .-main
.globl p
.bss
.align 32
.type p, @object
.size p, 2052096
p:
.zero 2052096
.globl c
.align 32
.type c, @object
.size c, 1004004
c:
.zero 1004004
.globl bm
.align 4
.type bm, @object
.size bm, 4
bm:
.zero 4
.ident "GCC: (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.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: