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>
#include<string.h>
//小さい順にソート
char c[2][200002];
void merge(int i,int j,char s[2][200002]){
  if(i!=j){
    merge(i,(i+j)/2,s);
    merge((i+j)/2+1,j,s);
    int a=i,b=(i+j)/2+1;
    int d;
    for(d=i;d<=j;d++){
      if((i+j)/2<a){
        c[0][d]=s[0][b];
        c[1][d]=s[1][b];
        b++;
      }
      else if(j<b){
        c[0][d]=s[0][a];
        c[1][d]=s[1][a];
        a++;
      }
      else if(s[0][a]<s[0][b]){
        c[0][d]=s[0][a];
        c[1][d]=s[1][a];
        a++;
      }
      else{
        c[0][d]=s[0][b];
        c[1][d]=s[1][b];
        b++;
      }
    }
    for(d=i;d<=j;d++){
      s[0][d]=c[0][d];
      s[1][d]=c[1][d];
    }
  }
}

int main(){
  char s[2][200002];
  scanf("%s",s[0]);
  scanf("%s",s[1]);
  int len,i,change[27];
  for(i=0;i<27;i++)
    change[i]=0;
  len=strlen(s[0]);
  merge(0,len-1,s);
  for(i=0;i<len;i++)
    if(s[0][i]==s[1][i])
      change[s[0][i]-'a']=1;
  for(i=0;i<len;i++){
    if(i!=len && s[0][i]==s[0][i+1] && s[1][i]!=s[1][i+1]){
      puts("No");
      return 0;
    }
    else if(s[0][i]!=s[1][i] && change[s[1][i]-'a']==1){
      puts("No");
      return 0;
    }
    else if(s[0][i]!=s[0][i+1])
      change[s[1][i]-'a']=1;
  }
  puts("Yes");
  return 0;
}
```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	c
	.bss
	.align 32
	.type	c, @object
	.size	c, 400004
c:
	.zero	400004
	.text
	.globl	merge
	.type	merge, @function
merge:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	movq	%rdx, -32(%rbp)
	movl	-20(%rbp), %eax
	cmpl	-24(%rbp), %eax
	je	.L11
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	movl	%eax, %ecx
	movq	-32(%rbp), %rdx
	movl	-20(%rbp), %eax
	movl	%ecx, %esi
	movl	%eax, %edi
	call	merge
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	leal	1(%rax), %ecx
	movq	-32(%rbp), %rdx
	movl	-24(%rbp), %eax
	movl	%eax, %esi
	movl	%ecx, %edi
	call	merge
	movl	-20(%rbp), %eax
	movl	%eax, -12(%rbp)
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	addl	$1, %eax
	movl	%eax, -8(%rbp)
	movl	-20(%rbp), %eax
	movl	%eax, -4(%rbp)
	jmp	.L3
.L8:
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	cmpl	%eax, -12(%rbp)
	jle	.L4
	movq	-32(%rbp), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -8(%rbp)
	jmp	.L5
.L4:
	movl	-24(%rbp), %eax
	cmpl	-8(%rbp), %eax
	jge	.L6
	movq	-32(%rbp), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -12(%rbp)
	jmp	.L5
.L6:
	movq	-32(%rbp), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %ecx
	movq	-32(%rbp), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %eax
	cmpb	%al, %cl
	jge	.L7
	movq	-32(%rbp), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -12(%rbp)
	jmp	.L5
.L7:
	movq	-32(%rbp), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -8(%rbp)
.L5:
	addl	$1, -4(%rbp)
.L3:
	movl	-4(%rbp), %eax
	cmpl	-24(%rbp), %eax
	jle	.L8
	movl	-20(%rbp), %eax
	movl	%eax, -4(%rbp)
	jmp	.L9
.L10:
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rdx
	movzbl	(%rax,%rdx), %ecx
	movq	-32(%rbp), %rdx
	movl	-4(%rbp), %eax
	cltq
	movb	%cl, (%rdx,%rax)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rcx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rdx
	movzbl	(%rax,%rdx), %edx
	movl	-4(%rbp), %eax
	cltq
	movb	%dl, (%rcx,%rax)
	addl	$1, -4(%rbp)
.L9:
	movl	-4(%rbp), %eax
	cmpl	-24(%rbp), %eax
	jle	.L10
.L11:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	merge, .-merge
	.section	.rodata
.LC0:
	.string	"%s"
.LC1:
	.string	"No"
.LC2:
	.string	"Yes"
	.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
	leaq	-397312(%rsp), %r11
.LPSRL0:
	subq	$4096, %rsp
	orq	$0, (%rsp)
	cmpq	%r11, %rsp
	jne	.LPSRL0
	subq	$2832, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	leaq	-400016(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	leaq	-400016(%rbp), %rax
	addq	$200002, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -400136(%rbp)
	jmp	.L13
.L14:
	movl	-400136(%rbp), %eax
	cltq
	movl	$0, -400128(%rbp,%rax,4)
	addl	$1, -400136(%rbp)
.L13:
	cmpl	$26, -400136(%rbp)
	jle	.L14
	leaq	-400016(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, -400132(%rbp)
	movl	-400132(%rbp), %eax
	leal	-1(%rax), %ecx
	leaq	-400016(%rbp), %rax
	movq	%rax, %rdx
	movl	%ecx, %esi
	movl	$0, %edi
	call	merge
	movl	$0, -400136(%rbp)
	jmp	.L15
.L17:
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	cmpb	%al, %dl
	jne	.L16
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %eax
	movsbl	%al, %eax
	subl	$97, %eax
	cltq
	movl	$1, -400128(%rbp,%rax,4)
.L16:
	addl	$1, -400136(%rbp)
.L15:
	movl	-400136(%rbp), %eax
	cmpl	-400132(%rbp), %eax
	jl	.L17
	movl	$0, -400136(%rbp)
	jmp	.L18
.L23:
	movl	-400136(%rbp), %eax
	cmpl	-400132(%rbp), %eax
	je	.L19
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	addl	$1, %eax
	cltq
	movzbl	-400016(%rbp,%rax), %eax
	cmpb	%al, %dl
	jne	.L19
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	addl	$1, %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	cmpb	%al, %dl
	je	.L19
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
	jmp	.L24
.L19:
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	cmpb	%al, %dl
	je	.L21
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	movsbl	%al, %eax
	subl	$97, %eax
	cltq
	movl	-400128(%rbp,%rax,4), %eax
	cmpl	$1, %eax
	jne	.L21
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
	jmp	.L24
.L21:
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	addl	$1, %eax
	cltq
	movzbl	-400016(%rbp,%rax), %eax
	cmpb	%al, %dl
	je	.L22
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	movsbl	%al, %eax
	subl	$97, %eax
	cltq
	movl	$1, -400128(%rbp,%rax,4)
.L22:
	addl	$1, -400136(%rbp)
.L18:
	movl	-400136(%rbp), %eax
	cmpl	-400132(%rbp), %eax
	jl	.L23
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
.L24:
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L25
	call	__stack_chk_fail@PLT
.L25:
	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
	.section	.text.unlikely,"ax",@progbits
.LCOLDB0:
	.text
.LHOTB0:
	.p2align 4
	.type	merge.part.0, @function
merge.part.0:
.LFB37:
	.cfi_startproc
	leal	(%rdi,%rsi), %eax
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	movl	%eax, %r14d
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	shrl	$31, %r14d
	movl	%edi, %r13d
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	addl	%eax, %r14d
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	sarl	%r14d
	movl	%esi, %ebp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movq	%rdx, %rbx
	subq	$56, %rsp
	.cfi_def_cfa_offset 112
	cmpl	%r14d, %edi
	je	.L2
	movl	%r14d, %esi
	call	merge.part.0
.L2:
	leal	1(%r14), %r12d
	cmpl	%r12d, %ebp
	je	.L3
	movq	%rbx, %rdx
	movl	%ebp, %esi
	movl	%r12d, %edi
	call	merge.part.0
.L3:
	cmpl	%ebp, %r13d
	jg	.L1
	movslq	%r13d, %rax
	leaq	c(%rip), %rdx
	movl	%r13d, %esi
	movl	%r13d, %ecx
	leaq	(%rdx,%rax), %r10
	movq	%rax, 32(%rsp)
	movq	%r10, %r9
	movq	%r10, %rax
	.p2align 4,,10
	.p2align 3
.L31:
	cmpl	%ecx, %r14d
	jge	.L5
	movslq	%r12d, %rcx
	addl	$1, %r12d
	movzbl	(%rbx,%rcx), %edi
	movb	%dil, (%rax)
	movzbl	200002(%rbx,%rcx), %edi
	movb	%dil, 200002(%rax)
	leal	1(%rsi), %edi
	cmpl	%edi, %ebp
	jl	.L7
	movl	%ebp, %eax
	movslq	%r12d, %r11
	subl	%edi, %eax
	leaq	(%rbx,%r11), %r14
	movl	%eax, 12(%rsp)
	movslq	%edi, %rax
	leaq	(%rdx,%rax), %r8
	movq	%r8, 16(%rsp)
	leaq	200002(%rdx,%rax), %r8
	movq	%r8, 24(%rsp)
	leaq	16(%rdx,%rax), %r8
	cmpq	%r8, %r14
	leaq	200018(%rbx,%r11), %r8
	setnb	%r15b
	cmpq	%r8, 16(%rsp)
	setnb	%r8b
	orl	%r15d, %r8d
	cmpl	$6, 12(%rsp)
	seta	%r15b
	testb	%r15b, %r8b
	je	.L34
	leaq	1(%rbx,%r11), %r15
	leaq	200002(%rdx,%rax), %r8
	subq	%r15, %r8
	cmpq	$200016, %r8
	ja	.L29
.L34:
	movslq	%esi, %rsi
	leaq	200002+c(%rip), %rdi
	subq	%rsi, %rcx
	addq	%rbx, %rcx
.L16:
	movzbl	(%rcx,%rax), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rcx,%rax), %esi
	movb	%sil, (%rdi,%rax)
	addq	$1, %rax
	cmpl	%eax, %ebp
	jge	.L16
	.p2align 4,,10
	.p2align 3
.L7:
	movq	32(%rsp), %r14
	movl	%ebp, %edi
	subl	%r13d, %edi
	leaq	200018(%r14), %rcx
	leaq	(%rbx,%r14), %rsi
	leaq	(%rdx,%rcx), %r8
	leaq	200002(%r14), %rax
	cmpq	%r8, %rsi
	leaq	(%rdx,%rax), %r11
	setnb	%r8b
	addq	%rbx, %rcx
	cmpq	%rcx, %r11
	setnb	%cl
	orl	%r8d, %ecx
	cmpl	$6, %edi
	seta	%r8b
	testb	%r8b, %cl
	je	.L18
	leaq	1(%rdx,%r14), %r8
	movq	%rsi, %rcx
	subq	%r8, %rcx
	addq	$200002, %rcx
	cmpq	$200016, %rcx
	jbe	.L18
	leal	1(%rdi), %r8d
	cmpl	$14, %edi
	jbe	.L19
	movl	%r8d, %ecx
	leaq	(%rbx,%rax), %r9
	xorl	%eax, %eax
	shrl	$4, %ecx
	salq	$4, %rcx
	.p2align 4,,10
	.p2align 3
.L20:
	movdqu	(%r10,%rax), %xmm0
	movups	%xmm0, (%rsi,%rax)
	movdqu	(%r11,%rax), %xmm1
	movups	%xmm1, (%r9,%rax)
	addq	$16, %rax
	cmpq	%rcx, %rax
	jne	.L20
	movl	%r8d, %eax
	andl	$-16, %eax
	addl	%eax, %r13d
	cmpl	%eax, %r8d
	je	.L1
	subl	%eax, %edi
	leal	1(%rdi), %ecx
	cmpl	$6, %edi
	jbe	.L24
.L28:
	addq	32(%rsp), %rax
	movq	(%rdx,%rax), %rsi
	movq	%rsi, (%rbx,%rax)
	movq	200002(%rdx,%rax), %rsi
	movq	%rsi, 200002(%rbx,%rax)
	movl	%ecx, %eax
	andl	$-8, %eax
	addl	%eax, %r13d
	cmpl	%eax, %ecx
	je	.L1
.L24:
	movslq	%r13d, %rax
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	leal	1(%r13), %eax
	cmpl	%eax, %ebp
	jl	.L1
	cltq
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	leal	2(%r13), %eax
	cmpl	%eax, %ebp
	jl	.L1
	cltq
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	leal	3(%r13), %eax
	cmpl	%eax, %ebp
	jl	.L1
	cltq
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	leal	4(%r13), %eax
	cmpl	%eax, %ebp
	jl	.L1
	cltq
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	leal	5(%r13), %eax
	cmpl	%eax, %ebp
	jl	.L1
	cltq
	addl	$6, %r13d
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	cmpl	%r13d, %ebp
	jl	.L1
	movslq	%r13d, %r13
	movzbl	(%rdx,%r13), %eax
	movb	%al, (%rbx,%r13)
	movzbl	200002(%rdx,%r13), %eax
	movb	%al, 200002(%rbx,%r13)
.L1:
	addq	$56, %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
	.p2align 4,,10
	.p2align 3
.L5:
	.cfi_restore_state
	movslq	%ecx, %rdi
	movzbl	(%rbx,%rdi), %r8d
	cmpl	%r12d, %ebp
	jl	.L49
	movslq	%r12d, %r11
	movzbl	(%rbx,%r11), %r15d
	cmpb	%r8b, %r15b
	jg	.L49
	movb	%r15b, (%rax)
	addl	$1, %r12d
	movzbl	200002(%rbx,%r11), %edi
.L9:
	addl	$1, %esi
	movb	%dil, 200002(%rax)
	cmpl	%esi, %ebp
	jl	.L7
	addq	$1, %rax
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L49:
	movb	%r8b, (%rax)
	addl	$1, %ecx
	movzbl	200002(%rbx,%rdi), %edi
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L18:
	movq	32(%rsp), %rdx
	addq	%rbx, %rax
	leaq	200003(%rbx,%rdx), %rcx
	addq	%rdi, %rcx
	.p2align 4,,10
	.p2align 3
.L26:
	movzbl	(%r9), %edx
	addq	$1, %rax
	addq	$1, %r9
	movb	%dl, -200003(%rax)
	movzbl	200001(%r9), %edx
	movb	%dl, -1(%rax)
	cmpq	%rcx, %rax
	jne	.L26
	addq	$56, %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
.L19:
	.cfi_restore_state
	movl	%r8d, %ecx
	xorl	%eax, %eax
	jmp	.L28
	.cfi_endproc
	.section	.text.unlikely
	.cfi_startproc
	.type	merge.part.0.cold, @function
merge.part.0.cold:
.LFSB37:
.L29:
	.cfi_def_cfa_offset 112
	.cfi_offset 3, -56
	.cfi_offset 6, -48
	.cfi_offset 12, -40
	.cfi_offset 13, -32
	.cfi_offset 14, -24
	.cfi_offset 15, -16
	movl	12(%rsp), %esi
	leal	1(%rsi), %r8d
	cmpl	$14, %esi
	jbe	.L33
	movl	%r8d, %esi
	movq	%rax, 40(%rsp)
	leaq	200002(%rbx,%r11), %rcx
	xorl	%r15d, %r15d
	shrl	$4, %esi
	movl	%esi, 12(%rsp)
	xorl	%esi, %esi
.L12:
	movdqu	(%r14,%rsi), %xmm2
	movq	16(%rsp), %rax
	addl	$1, %r15d
	movups	%xmm2, (%rax,%rsi)
	movq	24(%rsp), %rax
	movdqu	(%rcx,%rsi), %xmm3
	movups	%xmm3, (%rax,%rsi)
	addq	$16, %rsi
	cmpl	%r15d, 12(%rsp)
	jne	.L12
	movl	%r8d, %ecx
	movq	40(%rsp), %rax
	andl	$-16, %ecx
	addl	%ecx, %r12d
	addl	%ecx, %edi
	cmpl	%ecx, %r8d
	je	.L51
.L11:
	movl	%r8d, %esi
	subl	%ecx, %esi
	leal	-1(%rsi), %r8d
	cmpl	$6, %r8d
	jbe	.L14
	addq	%rcx, %r11
	addq	%rcx, %rax
	movq	(%rbx,%r11), %rcx
	movq	%rcx, (%rdx,%rax)
	movq	200002(%rbx,%r11), %r8
	leaq	200002+c(%rip), %rcx
	movq	%r8, (%rcx,%rax)
	movl	%esi, %eax
	andl	$-8, %eax
	addl	%eax, %r12d
	addl	%eax, %edi
	cmpl	%eax, %esi
	je	.L7
.L14:
	movslq	%r12d, %rcx
	movslq	%edi, %rax
	movzbl	(%rbx,%rcx), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rbx,%rcx), %esi
	leal	1(%r12), %ecx
	movb	%sil, 200002(%rdx,%rax)
	leal	1(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%ecx, %rcx
	cltq
	movzbl	(%rbx,%rcx), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rbx,%rcx), %esi
	leal	2(%r12), %ecx
	movb	%sil, 200002(%rdx,%rax)
	leal	2(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%ecx, %rcx
	cltq
	movzbl	(%rbx,%rcx), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rbx,%rcx), %esi
	leal	3(%r12), %ecx
	movb	%sil, 200002(%rdx,%rax)
	leal	3(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%ecx, %rcx
	cltq
	movzbl	(%rbx,%rcx), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rbx,%rcx), %esi
	leal	4(%r12), %ecx
	movb	%sil, 200002(%rdx,%rax)
	leal	4(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%ecx, %rcx
	cltq
	movzbl	(%rbx,%rcx), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rbx,%rcx), %esi
	leal	5(%r12), %ecx
	movb	%sil, 200002(%rdx,%rax)
	leal	5(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%ecx, %rcx
	cltq
	addl	$6, %r12d
	movzbl	(%rbx,%rcx), %esi
	movzbl	200002(%rbx,%rcx), %ecx
	movb	%sil, (%rdx,%rax)
	movb	%cl, 200002(%rdx,%rax)
	leal	6(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%r12d, %rcx
	cltq
	movzbl	(%rbx,%rcx), %esi
	movzbl	200002(%rbx,%rcx), %ecx
	movb	%sil, (%rdx,%rax)
	movb	%cl, 200002(%rdx,%rax)
	jmp	.L7
.L33:
	xorl	%ecx, %ecx
	jmp	.L11
.L51:
	jmp	.L7
	.cfi_endproc
.LFE37:
	.text
	.size	merge.part.0, .-merge.part.0
	.section	.text.unlikely
	.size	merge.part.0.cold, .-merge.part.0.cold
.LCOLDE0:
	.text
.LHOTE0:
	.p2align 4
	.globl	merge
	.type	merge, @function
merge:
.LFB35:
	.cfi_startproc
	endbr64
	cmpl	%esi, %edi
	jne	.L54
	ret
	.p2align 4,,10
	.p2align 3
.L54:
	jmp	merge.part.0
	.cfi_endproc
.LFE35:
	.size	merge, .-merge
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"%s"
.LC2:
	.string	"Yes"
.LC3:
	.string	"No"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB36:
	.cfi_startproc
	endbr64
	pushq	%r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	pushq	%r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	pushq	%rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	pushq	%rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	leaq	-397312(%rsp), %r11
	.cfi_def_cfa 11, 397352
.LPSRL0:
	subq	$4096, %rsp
	orq	$0, (%rsp)
	cmpq	%r11, %rsp
	jne	.LPSRL0
	.cfi_def_cfa_register 7
	subq	$2824, %rsp
	.cfi_def_cfa_offset 400176
	leaq	.LC1(%rip), %r12
	movq	%r12, %rdi
	movq	%fs:40, %rax
	movq	%rax, 400120(%rsp)
	xorl	%eax, %eax
	leaq	112(%rsp), %r13
	leaq	200114(%rsp), %rbp
	movq	%r13, %rsi
	call	__isoc99_scanf@PLT
	movq	%rbp, %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movq	%rsp, %rdx
	xorl	%eax, %eax
	movl	$13, %ecx
	movq	%rdx, %rdi
	rep stosq
	movl	$0, (%rdi)
	movq	%r13, %rdi
	call	strlen@PLT
	movl	%eax, %esi
	movl	%eax, %ebx
	subl	$1, %esi
	jne	.L56
.L58:
	movq	%rbp, %rdx
	xorl	%ecx, %ecx
	.p2align 4,,10
	.p2align 3
.L57:
	movsbl	-200002(%rdx), %eax
	cmpb	(%rdx), %al
	jne	.L60
	subl	$97, %eax
	cltq
	movl	$1, (%rsp,%rax,4)
.L60:
	addl	$1, %ecx
	addq	$1, %rdx
	cmpl	%ecx, %ebx
	jg	.L57
	movzbl	112(%rsp), %ecx
	leaq	113(%rsp), %rdx
	xorl	%esi, %esi
	jmp	.L63
	.p2align 4,,10
	.p2align 3
.L61:
	cmpb	%dil, %al
	je	.L75
	subl	$97, %eax
	cltq
	cmpl	$1, (%rsp,%rax,4)
	je	.L69
.L66:
	movl	$1, (%rsp,%rax,4)
.L68:
	addq	$1, %rdx
	cmpl	%ebx, %esi
	jge	.L64
.L63:
	movl	%ecx, %edi
	movzbl	(%rdx), %ecx
	movsbl	200001(%rdx), %eax
	addl	$1, %esi
	cmpb	%dil, %cl
	jne	.L61
	cmpb	%al, 200002(%rdx)
	jne	.L69
	cmpb	%cl, %al
	je	.L68
	subl	$97, %eax
	cltq
	cmpl	$1, (%rsp,%rax,4)
	jne	.L68
.L69:
	leaq	.LC3(%rip), %rdi
	call	puts@PLT
	jmp	.L59
	.p2align 4,,10
	.p2align 3
.L75:
	subl	$97, %eax
	cltq
	jmp	.L66
.L56:
	xorl	%edi, %edi
	movq	%r13, %rdx
	call	merge.part.0
	testl	%ebx, %ebx
	jne	.L58
.L64:
	leaq	.LC2(%rip), %rdi
	call	puts@PLT
.L59:
	movq	400120(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L76
	addq	$400136, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 32
	popq	%rbp
	.cfi_def_cfa_offset 24
	popq	%r12
	.cfi_def_cfa_offset 16
	popq	%r13
	.cfi_def_cfa_offset 8
	ret
.L76:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE36:
	.size	main, .-main
	.globl	c
	.bss
	.align 32
	.type	c, @object
	.size	c, 400004
c:
	.zero	400004
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

rule
	.file	"temp.c"
	.text
	.section	.text.unlikely,"ax",@progbits
.LCOLDB0:
	.text
.LHOTB0:
	.p2align 4
	.type	merge.part.0, @function
merge.part.0:
.LFB37:
	.cfi_startproc
	leal	(%rdi,%rsi), %eax
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	movl	%eax, %r14d
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	shrl	$31, %r14d
	movl	%edi, %r13d
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	addl	%eax, %r14d
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	sarl	%r14d
	movl	%esi, %ebp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movq	%rdx, %rbx
	subq	$56, %rsp
	.cfi_def_cfa_offset 112
	cmpl	%r14d, %edi
	je	.L2
	movl	%r14d, %esi
	call	merge.part.0
.L2:
	leal	1(%r14), %r12d
	cmpl	%r12d, %ebp
	je	.L3
	movq	%rbx, %rdx
	movl	%ebp, %esi
	movl	%r12d, %edi
	call	merge.part.0
.L3:
	cmpl	%ebp, %r13d
	jg	.L1
	movslq	%r13d, %rax
	leaq	c(%rip), %rdx
	movl	%r13d, %esi
	movl	%r13d, %ecx
	leaq	(%rdx,%rax), %r10
	movq	%rax, 32(%rsp)
	movq	%r10, %r9
	movq	%r10, %rax
	.p2align 4,,10
	.p2align 3
.L31:
	cmpl	%ecx, %r14d
	jge	.L5
	movslq	%r12d, %rcx
	addl	$1, %r12d
	movzbl	(%rbx,%rcx), %edi
	movb	%dil, (%rax)
	movzbl	200002(%rbx,%rcx), %edi
	movb	%dil, 200002(%rax)
	leal	1(%rsi), %edi
	cmpl	%edi, %ebp
	jl	.L7
	movl	%ebp, %eax
	movslq	%r12d, %r11
	subl	%edi, %eax
	leaq	(%rbx,%r11), %r14
	movl	%eax, 12(%rsp)
	movslq	%edi, %rax
	leaq	(%rdx,%rax), %r8
	movq	%r8, 16(%rsp)
	leaq	200002(%rdx,%rax), %r8
	movq	%r8, 24(%rsp)
	leaq	16(%rdx,%rax), %r8
	cmpq	%r8, %r14
	leaq	200018(%rbx,%r11), %r8
	setnb	%r15b
	cmpq	%r8, 16(%rsp)
	setnb	%r8b
	orl	%r15d, %r8d
	cmpl	$6, 12(%rsp)
	seta	%r15b
	testb	%r15b, %r8b
	je	.L34
	leaq	1(%rbx,%r11), %r15
	leaq	200002(%rdx,%rax), %r8
	subq	%r15, %r8
	cmpq	$200016, %r8
	ja	.L29
.L34:
	movslq	%esi, %rsi
	leaq	200002+c(%rip), %rdi
	subq	%rsi, %rcx
	addq	%rbx, %rcx
.L16:
	movzbl	(%rcx,%rax), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rcx,%rax), %esi
	movb	%sil, (%rdi,%rax)
	addq	$1, %rax
	cmpl	%eax, %ebp
	jge	.L16
	.p2align 4,,10
	.p2align 3
.L7:
	movq	32(%rsp), %r14
	movl	%ebp, %edi
	subl	%r13d, %edi
	leaq	200018(%r14), %rcx
	leaq	(%rbx,%r14), %rsi
	leaq	(%rdx,%rcx), %r8
	leaq	200002(%r14), %rax
	cmpq	%r8, %rsi
	leaq	(%rdx,%rax), %r11
	setnb	%r8b
	addq	%rbx, %rcx
	cmpq	%rcx, %r11
	setnb	%cl
	orl	%r8d, %ecx
	cmpl	$6, %edi
	seta	%r8b
	testb	%r8b, %cl
	je	.L18
	leaq	1(%rdx,%r14), %r8
	movq	%rsi, %rcx
	subq	%r8, %rcx
	addq	$200002, %rcx
	cmpq	$200016, %rcx
	jbe	.L18
	leal	1(%rdi), %r8d
	cmpl	$14, %edi
	jbe	.L19
	movl	%r8d, %ecx
	leaq	(%rbx,%rax), %r9
	xorl	%eax, %eax
	shrl	$4, %ecx
	salq	$4, %rcx
	.p2align 4,,10
	.p2align 3
.L20:
	movdqu	(%r10,%rax), %xmm0
	movups	%xmm0, (%rsi,%rax)
	movdqu	(%r11,%rax), %xmm1
	movups	%xmm1, (%r9,%rax)
	addq	$16, %rax
	cmpq	%rcx, %rax
	jne	.L20
	movl	%r8d, %eax
	andl	$-16, %eax
	addl	%eax, %r13d
	cmpl	%eax, %r8d
	je	.L1
	subl	%eax, %edi
	leal	1(%rdi), %ecx
	cmpl	$6, %edi
	jbe	.L24
.L28:
	addq	32(%rsp), %rax
	movq	(%rdx,%rax), %rsi
	movq	%rsi, (%rbx,%rax)
	movq	200002(%rdx,%rax), %rsi
	movq	%rsi, 200002(%rbx,%rax)
	movl	%ecx, %eax
	andl	$-8, %eax
	addl	%eax, %r13d
	cmpl	%eax, %ecx
	je	.L1
.L24:
	movslq	%r13d, %rax
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	leal	1(%r13), %eax
	cmpl	%eax, %ebp
	jl	.L1
	cltq
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	leal	2(%r13), %eax
	cmpl	%eax, %ebp
	jl	.L1
	cltq
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	leal	3(%r13), %eax
	cmpl	%eax, %ebp
	jl	.L1
	cltq
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	leal	4(%r13), %eax
	cmpl	%eax, %ebp
	jl	.L1
	cltq
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	leal	5(%r13), %eax
	cmpl	%eax, %ebp
	jl	.L1
	cltq
	addl	$6, %r13d
	movzbl	(%rdx,%rax), %ecx
	movb	%cl, (%rbx,%rax)
	movzbl	200002(%rdx,%rax), %ecx
	movb	%cl, 200002(%rbx,%rax)
	cmpl	%r13d, %ebp
	jl	.L1
	movslq	%r13d, %r13
	movzbl	(%rdx,%r13), %eax
	movb	%al, (%rbx,%r13)
	movzbl	200002(%rdx,%r13), %eax
	movb	%al, 200002(%rbx,%r13)
.L1:
	addq	$56, %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
	.p2align 4,,10
	.p2align 3
.L5:
	.cfi_restore_state
	movslq	%ecx, %rdi
	movzbl	(%rbx,%rdi), %r8d
	cmpl	%r12d, %ebp
	jl	.L49
	movslq	%r12d, %r11
	movzbl	(%rbx,%r11), %r15d
	cmpb	%r8b, %r15b
	jg	.L49
	movb	%r15b, (%rax)
	addl	$1, %r12d
	movzbl	200002(%rbx,%r11), %edi
.L9:
	addl	$1, %esi
	movb	%dil, 200002(%rax)
	cmpl	%esi, %ebp
	jl	.L7
	addq	$1, %rax
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L49:
	movb	%r8b, (%rax)
	addl	$1, %ecx
	movzbl	200002(%rbx,%rdi), %edi
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L18:
	movq	32(%rsp), %rdx
	addq	%rbx, %rax
	leaq	200003(%rbx,%rdx), %rcx
	addq	%rdi, %rcx
	.p2align 4,,10
	.p2align 3
.L26:
	movzbl	(%r9), %edx
	addq	$1, %rax
	addq	$1, %r9
	movb	%dl, -200003(%rax)
	movzbl	200001(%r9), %edx
	movb	%dl, -1(%rax)
	cmpq	%rcx, %rax
	jne	.L26
	addq	$56, %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
.L19:
	.cfi_restore_state
	movl	%r8d, %ecx
	xorl	%eax, %eax
	jmp	.L28
	.cfi_endproc
	.section	.text.unlikely
	.cfi_startproc
	.type	merge.part.0.cold, @function
merge.part.0.cold:
.LFSB37:
.L29:
	.cfi_def_cfa_offset 112
	.cfi_offset 3, -56
	.cfi_offset 6, -48
	.cfi_offset 12, -40
	.cfi_offset 13, -32
	.cfi_offset 14, -24
	.cfi_offset 15, -16
	movl	12(%rsp), %esi
	leal	1(%rsi), %r8d
	cmpl	$14, %esi
	jbe	.L33
	movl	%r8d, %esi
	movq	%rax, 40(%rsp)
	leaq	200002(%rbx,%r11), %rcx
	xorl	%r15d, %r15d
	shrl	$4, %esi
	movl	%esi, 12(%rsp)
	xorl	%esi, %esi
.L12:
	movdqu	(%r14,%rsi), %xmm2
	movq	16(%rsp), %rax
	addl	$1, %r15d
	movups	%xmm2, (%rax,%rsi)
	movq	24(%rsp), %rax
	movdqu	(%rcx,%rsi), %xmm3
	movups	%xmm3, (%rax,%rsi)
	addq	$16, %rsi
	cmpl	%r15d, 12(%rsp)
	jne	.L12
	movl	%r8d, %ecx
	movq	40(%rsp), %rax
	andl	$-16, %ecx
	addl	%ecx, %r12d
	addl	%ecx, %edi
	cmpl	%ecx, %r8d
	je	.L51
.L11:
	movl	%r8d, %esi
	subl	%ecx, %esi
	leal	-1(%rsi), %r8d
	cmpl	$6, %r8d
	jbe	.L14
	addq	%rcx, %r11
	addq	%rcx, %rax
	movq	(%rbx,%r11), %rcx
	movq	%rcx, (%rdx,%rax)
	movq	200002(%rbx,%r11), %r8
	leaq	200002+c(%rip), %rcx
	movq	%r8, (%rcx,%rax)
	movl	%esi, %eax
	andl	$-8, %eax
	addl	%eax, %r12d
	addl	%eax, %edi
	cmpl	%eax, %esi
	je	.L7
.L14:
	movslq	%r12d, %rcx
	movslq	%edi, %rax
	movzbl	(%rbx,%rcx), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rbx,%rcx), %esi
	leal	1(%r12), %ecx
	movb	%sil, 200002(%rdx,%rax)
	leal	1(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%ecx, %rcx
	cltq
	movzbl	(%rbx,%rcx), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rbx,%rcx), %esi
	leal	2(%r12), %ecx
	movb	%sil, 200002(%rdx,%rax)
	leal	2(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%ecx, %rcx
	cltq
	movzbl	(%rbx,%rcx), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rbx,%rcx), %esi
	leal	3(%r12), %ecx
	movb	%sil, 200002(%rdx,%rax)
	leal	3(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%ecx, %rcx
	cltq
	movzbl	(%rbx,%rcx), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rbx,%rcx), %esi
	leal	4(%r12), %ecx
	movb	%sil, 200002(%rdx,%rax)
	leal	4(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%ecx, %rcx
	cltq
	movzbl	(%rbx,%rcx), %esi
	movb	%sil, (%rdx,%rax)
	movzbl	200002(%rbx,%rcx), %esi
	leal	5(%r12), %ecx
	movb	%sil, 200002(%rdx,%rax)
	leal	5(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%ecx, %rcx
	cltq
	addl	$6, %r12d
	movzbl	(%rbx,%rcx), %esi
	movzbl	200002(%rbx,%rcx), %ecx
	movb	%sil, (%rdx,%rax)
	movb	%cl, 200002(%rdx,%rax)
	leal	6(%rdi), %eax
	cmpl	%eax, %ebp
	jl	.L7
	movslq	%r12d, %rcx
	cltq
	movzbl	(%rbx,%rcx), %esi
	movzbl	200002(%rbx,%rcx), %ecx
	movb	%sil, (%rdx,%rax)
	movb	%cl, 200002(%rdx,%rax)
	jmp	.L7
.L33:
	xorl	%ecx, %ecx
	jmp	.L11
.L51:
	jmp	.L7
	.cfi_endproc
.LFE37:
	.text
	.size	merge.part.0, .-merge.part.0
	.section	.text.unlikely
	.size	merge.part.0.cold, .-merge.part.0.cold
.LCOLDE0:
	.text
.LHOTE0:
	.p2align 4
	.globl	merge
	.type	merge, @function
merge:
.LFB35:
	.cfi_startproc
	endbr64
	cmpl	%esi, %edi
	jne	.L54
	ret
	.p2align 4,,10
	.p2align 3
.L54:
	jmp	merge.part.0
	.cfi_endproc
.LFE35:
	.size	merge, .-merge
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"%s"
.LC2:
	.string	"Yes"
.LC3:
	.string	"No"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB36:
	.cfi_startproc
	endbr64
	pushq	%r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	pushq	%r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	pushq	%rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	pushq	%rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	leaq	-397312(%rsp), %r11
	.cfi_def_cfa 11, 397352
.LPSRL0:
	subq	$4096, %rsp
	orq	$0, (%rsp)
	cmpq	%r11, %rsp
	jne	.LPSRL0
	.cfi_def_cfa_register 7
	subq	$2824, %rsp
	.cfi_def_cfa_offset 400176
	leaq	.LC1(%rip), %r12
	movq	%r12, %rdi
	movq	%fs:40, %rax
	movq	%rax, 400120(%rsp)
	xorl	%eax, %eax
	leaq	112(%rsp), %r13
	leaq	200114(%rsp), %rbp
	movq	%r13, %rsi
	call	__isoc99_scanf@PLT
	movq	%rbp, %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movq	%rsp, %rdx
	xorl	%eax, %eax
	movl	$13, %ecx
	movq	%rdx, %rdi
	rep stosq
	movl	$0, (%rdi)
	movq	%r13, %rdi
	call	strlen@PLT
	movl	%eax, %esi
	movl	%eax, %ebx
	subl	$1, %esi
	jne	.L56
.L58:
	movq	%rbp, %rdx
	xorl	%ecx, %ecx
	.p2align 4,,10
	.p2align 3
.L57:
	movsbl	-200002(%rdx), %eax
	cmpb	(%rdx), %al
	jne	.L60
	subl	$97, %eax
	cltq
	movl	$1, (%rsp,%rax,4)
.L60:
	addl	$1, %ecx
	addq	$1, %rdx
	cmpl	%ecx, %ebx
	jg	.L57
	movzbl	112(%rsp), %ecx
	leaq	113(%rsp), %rdx
	xorl	%esi, %esi
	jmp	.L63
	.p2align 4,,10
	.p2align 3
.L61:
	cmpb	%dil, %al
	je	.L75
	subl	$97, %eax
	cltq
	cmpl	$1, (%rsp,%rax,4)
	je	.L69
.L66:
	movl	$1, (%rsp,%rax,4)
.L68:
	addq	$1, %rdx
	cmpl	%ebx, %esi
	jge	.L64
.L63:
	movl	%ecx, %edi
	movzbl	(%rdx), %ecx
	movsbl	200001(%rdx), %eax
	addl	$1, %esi
	cmpb	%dil, %cl
	jne	.L61
	cmpb	%al, 200002(%rdx)
	jne	.L69
	cmpb	%cl, %al
	je	.L68
	subl	$97, %eax
	cltq
	cmpl	$1, (%rsp,%rax,4)
	jne	.L68
.L69:
	leaq	.LC3(%rip), %rdi
	call	puts@PLT
	jmp	.L59
	.p2align 4,,10
	.p2align 3
.L75:
	subl	$97, %eax
	cltq
	jmp	.L66
.L56:
	xorl	%edi, %edi
	movq	%r13, %rdx
	call	merge.part.0
	testl	%ebx, %ebx
	jne	.L58
.L64:
	leaq	.LC2(%rip), %rdi
	call	puts@PLT
.L59:
	movq	400120(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L76
	addq	$400136, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 32
	popq	%rbp
	.cfi_def_cfa_offset 24
	popq	%r12
	.cfi_def_cfa_offset 16
	popq	%r13
	.cfi_def_cfa_offset 8
	ret
.L76:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE36:
	.size	main, .-main
	.globl	c
	.bss
	.align 32
	.type	c, @object
	.size	c, 400004
c:
	.zero	400004
	.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>
#include<string.h>
//小さい順にソート
char c[2][200002];
void merge(int i,int j,char s[2][200002]){
  if(i!=j){
    merge(i,(i+j)/2,s);
    merge((i+j)/2+1,j,s);
    int a=i,b=(i+j)/2+1;
    int d;
    for(d=i;d<=j;d++){
      if((i+j)/2<a){
        c[0][d]=s[0][b];
        c[1][d]=s[1][b];
        b++;
      }
      else if(j<b){
        c[0][d]=s[0][a];
        c[1][d]=s[1][a];
        a++;
      }
      else if(s[0][a]<s[0][b]){
        c[0][d]=s[0][a];
        c[1][d]=s[1][a];
        a++;
      }
      else{
        c[0][d]=s[0][b];
        c[1][d]=s[1][b];
        b++;
      }
    }
    for(d=i;d<=j;d++){
      s[0][d]=c[0][d];
      s[1][d]=c[1][d];
    }
  }
}

int main(){
  char s[2][200002];
  scanf("%s",s[0]);
  scanf("%s",s[1]);
  int len,i,change[27];
  for(i=0;i<27;i++)
    change[i]=0;
  len=strlen(s[0]);
  merge(0,len-1,s);
  for(i=0;i<len;i++)
    if(s[0][i]==s[1][i])
      change[s[0][i]-'a']=1;
  for(i=0;i<len;i++){
    if(i!=len && s[0][i]==s[0][i+1] && s[1][i]!=s[1][i+1]){
      puts("No");
      return 0;
    }
    else if(s[0][i]!=s[1][i] && change[s[1][i]-'a']==1){
      puts("No");
      return 0;
    }
    else if(s[0][i]!=s[0][i+1])
      change[s[1][i]-'a']=1;
  }
  puts("Yes");
  return 0;
}

azzel
apqle
 abcdefghijklmnopqrstuvwxyz
unomzpgwdtsjxlcvakerfqhybi
 ihokudac
redcoder
 azzle
apqle
 zyxwvutsrqponmlkjihgfedcba
unomzpgwdtsjxlcvakerfqhybi
 cadukohi
redcoder
 azzle
apqld
 zyxwvutsrqponmlkjihgfedcba
unonzpgwdtsjxlcvakerfqhybi
 ihojudac
redcoder
 azzle
dlqpa

No
 Yes
 No
 No
 Yes
 No
 No
 No
 No
 No

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>
#include<string.h>
//小さい順にソート
char c[2][200002];
void merge(int i,int j,char s[2][200002]){
  if(i!=j){
    merge(i,(i+j)/2,s);
    merge((i+j)/2+1,j,s);
    int a=i,b=(i+j)/2+1;
    int d;
    for(d=i;d<=j;d++){
      if((i+j)/2<a){
        c[0][d]=s[0][b];
        c[1][d]=s[1][b];
        b++;
      }
      else if(j<b){
        c[0][d]=s[0][a];
        c[1][d]=s[1][a];
        a++;
      }
      else if(s[0][a]<s[0][b]){
        c[0][d]=s[0][a];
        c[1][d]=s[1][a];
        a++;
      }
      else{
        c[0][d]=s[0][b];
        c[1][d]=s[1][b];
        b++;
      }
    }
    for(d=i;d<=j;d++){
      s[0][d]=c[0][d];
      s[1][d]=c[1][d];
    }
  }
}

int main(){
  char s[2][200002];
  scanf("%s",s[0]);
  scanf("%s",s[1]);
  int len,i,change[27];
  for(i=0;i<27;i++)
    change[i]=0;
  len=strlen(s[0]);
  merge(0,len-1,s);
  for(i=0;i<len;i++)
    if(s[0][i]==s[1][i])
      change[s[0][i]-'a']=1;
  for(i=0;i<len;i++){
    if(i!=len && s[0][i]==s[0][i+1] && s[1][i]!=s[1][i+1]){
      puts("No");
      return 0;
    }
    else if(s[0][i]!=s[1][i] && change[s[1][i]-'a']==1){
      puts("No");
      return 0;
    }
    else if(s[0][i]!=s[0][i+1])
      change[s[1][i]-'a']=1;
  }
  puts("Yes");
  return 0;
}
```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	c
	.bss
	.align 32
	.type	c, @object
	.size	c, 400004
c:
	.zero	400004
	.text
	.globl	merge
	.type	merge, @function
merge:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	movq	%rdx, -32(%rbp)
	movl	-20(%rbp), %eax
	cmpl	-24(%rbp), %eax
	je	.L11
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	movl	%eax, %ecx
	movq	-32(%rbp), %rdx
	movl	-20(%rbp), %eax
	movl	%ecx, %esi
	movl	%eax, %edi
	call	merge
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	leal	1(%rax), %ecx
	movq	-32(%rbp), %rdx
	movl	-24(%rbp), %eax
	movl	%eax, %esi
	movl	%ecx, %edi
	call	merge
	movl	-20(%rbp), %eax
	movl	%eax, -12(%rbp)
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	addl	$1, %eax
	movl	%eax, -8(%rbp)
	movl	-20(%rbp), %eax
	movl	%eax, -4(%rbp)
	jmp	.L3
.L8:
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	cmpl	%eax, -12(%rbp)
	jle	.L4
	movq	-32(%rbp), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -8(%rbp)
	jmp	.L5
.L4:
	movl	-24(%rbp), %eax
	cmpl	-8(%rbp), %eax
	jge	.L6
	movq	-32(%rbp), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -12(%rbp)
	jmp	.L5
.L6:
	movq	-32(%rbp), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %ecx
	movq	-32(%rbp), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %eax
	cmpb	%al, %cl
	jge	.L7
	movq	-32(%rbp), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -12(%rbp)
	jmp	.L5
.L7:
	movq	-32(%rbp), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -8(%rbp)
.L5:
	addl	$1, -4(%rbp)
.L3:
	movl	-4(%rbp), %eax
	cmpl	-24(%rbp), %eax
	jle	.L8
	movl	-20(%rbp), %eax
	movl	%eax, -4(%rbp)
	jmp	.L9
.L10:
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rdx
	movzbl	(%rax,%rdx), %ecx
	movq	-32(%rbp), %rdx
	movl	-4(%rbp), %eax
	cltq
	movb	%cl, (%rdx,%rax)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rcx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rdx
	movzbl	(%rax,%rdx), %edx
	movl	-4(%rbp), %eax
	cltq
	movb	%dl, (%rcx,%rax)
	addl	$1, -4(%rbp)
.L9:
	movl	-4(%rbp), %eax
	cmpl	-24(%rbp), %eax
	jle	.L10
.L11:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	merge, .-merge
	.section	.rodata
.LC0:
	.string	"%s"
.LC1:
	.string	"No"
.LC2:
	.string	"Yes"
	.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
	leaq	-397312(%rsp), %r11
.LPSRL0:
	subq	$4096, %rsp
	orq	$0, (%rsp)
	cmpq	%r11, %rsp
	jne	.LPSRL0
	subq	$2832, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	leaq	-400016(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	leaq	-400016(%rbp), %rax
	addq	$200002, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -400136(%rbp)
	jmp	.L13
.L14:
	movl	-400136(%rbp), %eax
	cltq
	movl	$0, -400128(%rbp,%rax,4)
	addl	$1, -400136(%rbp)
.L13:
	cmpl	$26, -400136(%rbp)
	jle	.L14
	leaq	-400016(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, -400132(%rbp)
	movl	-400132(%rbp), %eax
	leal	-1(%rax), %ecx
	leaq	-400016(%rbp), %rax
	movq	%rax, %rdx
	movl	%ecx, %esi
	movl	$0, %edi
	call	merge
	movl	$0, -400136(%rbp)
	jmp	.L15
.L17:
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	cmpb	%al, %dl
	jne	.L16
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %eax
	movsbl	%al, %eax
	subl	$97, %eax
	cltq
	movl	$1, -400128(%rbp,%rax,4)
.L16:
	addl	$1, -400136(%rbp)
.L15:
	movl	-400136(%rbp), %eax
	cmpl	-400132(%rbp), %eax
	jl	.L17
	movl	$0, -400136(%rbp)
	jmp	.L18
.L23:
	movl	-400136(%rbp), %eax
	cmpl	-400132(%rbp), %eax
	je	.L19
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	addl	$1, %eax
	cltq
	movzbl	-400016(%rbp,%rax), %eax
	cmpb	%al, %dl
	jne	.L19
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	addl	$1, %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	cmpb	%al, %dl
	je	.L19
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
	jmp	.L24
.L19:
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	cmpb	%al, %dl
	je	.L21
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	movsbl	%al, %eax
	subl	$97, %eax
	cltq
	movl	-400128(%rbp,%rax,4), %eax
	cmpl	$1, %eax
	jne	.L21
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
	jmp	.L24
.L21:
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	addl	$1, %eax
	cltq
	movzbl	-400016(%rbp,%rax), %eax
	cmpb	%al, %dl
	je	.L22
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	movsbl	%al, %eax
	subl	$97, %eax
	cltq
	movl	$1, -400128(%rbp,%rax,4)
.L22:
	addl	$1, -400136(%rbp)
.L18:
	movl	-400136(%rbp), %eax
	cmpl	-400132(%rbp), %eax
	jl	.L23
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
.L24:
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L25
	call	__stack_chk_fail@PLT
.L25:
	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	c
	.bss
	.align 32
	.type	c, @object
	.size	c, 400004
c:
	.zero	400004
	.text
	.globl	merge
	.type	merge, @function
merge:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	movq	%rdx, -32(%rbp)
	movl	-20(%rbp), %eax
	cmpl	-24(%rbp), %eax
	je	.L11
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	movl	%eax, %ecx
	movq	-32(%rbp), %rdx
	movl	-20(%rbp), %eax
	movl	%ecx, %esi
	movl	%eax, %edi
	call	merge
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	leal	1(%rax), %ecx
	movq	-32(%rbp), %rdx
	movl	-24(%rbp), %eax
	movl	%eax, %esi
	movl	%ecx, %edi
	call	merge
	movl	-20(%rbp), %eax
	movl	%eax, -12(%rbp)
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	addl	$1, %eax
	movl	%eax, -8(%rbp)
	movl	-20(%rbp), %eax
	movl	%eax, -4(%rbp)
	jmp	.L3
.L8:
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	cmpl	%eax, -12(%rbp)
	jle	.L4
	movq	-32(%rbp), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -8(%rbp)
	jmp	.L5
.L4:
	movl	-24(%rbp), %eax
	cmpl	-8(%rbp), %eax
	jge	.L6
	movq	-32(%rbp), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -12(%rbp)
	jmp	.L5
.L6:
	movq	-32(%rbp), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %ecx
	movq	-32(%rbp), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %eax
	cmpb	%al, %cl
	jge	.L7
	movq	-32(%rbp), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-12(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -12(%rbp)
	jmp	.L5
.L7:
	movq	-32(%rbp), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rdx
	movl	-8(%rbp), %eax
	cltq
	movzbl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rcx
	movb	%dl, (%rax,%rcx)
	addl	$1, -8(%rbp)
.L5:
	addl	$1, -4(%rbp)
.L3:
	movl	-4(%rbp), %eax
	cmpl	-24(%rbp), %eax
	jle	.L8
	movl	-20(%rbp), %eax
	movl	%eax, -4(%rbp)
	jmp	.L9
.L10:
	movl	-4(%rbp), %eax
	cltq
	leaq	c(%rip), %rdx
	movzbl	(%rax,%rdx), %ecx
	movq	-32(%rbp), %rdx
	movl	-4(%rbp), %eax
	cltq
	movb	%cl, (%rdx,%rax)
	movq	-32(%rbp), %rax
	leaq	200002(%rax), %rcx
	movl	-4(%rbp), %eax
	cltq
	leaq	200002+c(%rip), %rdx
	movzbl	(%rax,%rdx), %edx
	movl	-4(%rbp), %eax
	cltq
	movb	%dl, (%rcx,%rax)
	addl	$1, -4(%rbp)
.L9:
	movl	-4(%rbp), %eax
	cmpl	-24(%rbp), %eax
	jle	.L10
.L11:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	merge, .-merge
	.section	.rodata
.LC0:
	.string	"%s"
.LC1:
	.string	"No"
.LC2:
	.string	"Yes"
	.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
	leaq	-397312(%rsp), %r11
.LPSRL0:
	subq	$4096, %rsp
	orq	$0, (%rsp)
	cmpq	%r11, %rsp
	jne	.LPSRL0
	subq	$2832, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	leaq	-400016(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	leaq	-400016(%rbp), %rax
	addq	$200002, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -400136(%rbp)
	jmp	.L13
.L14:
	movl	-400136(%rbp), %eax
	cltq
	movl	$0, -400128(%rbp,%rax,4)
	addl	$1, -400136(%rbp)
.L13:
	cmpl	$26, -400136(%rbp)
	jle	.L14
	leaq	-400016(%rbp), %rax
	movq	%rax, %rdi
	call	strlen@PLT
	movl	%eax, -400132(%rbp)
	movl	-400132(%rbp), %eax
	leal	-1(%rax), %ecx
	leaq	-400016(%rbp), %rax
	movq	%rax, %rdx
	movl	%ecx, %esi
	movl	$0, %edi
	call	merge
	movl	$0, -400136(%rbp)
	jmp	.L15
.L17:
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	cmpb	%al, %dl
	jne	.L16
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %eax
	movsbl	%al, %eax
	subl	$97, %eax
	cltq
	movl	$1, -400128(%rbp,%rax,4)
.L16:
	addl	$1, -400136(%rbp)
.L15:
	movl	-400136(%rbp), %eax
	cmpl	-400132(%rbp), %eax
	jl	.L17
	movl	$0, -400136(%rbp)
	jmp	.L18
.L23:
	movl	-400136(%rbp), %eax
	cmpl	-400132(%rbp), %eax
	je	.L19
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	addl	$1, %eax
	cltq
	movzbl	-400016(%rbp,%rax), %eax
	cmpb	%al, %dl
	jne	.L19
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	addl	$1, %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	cmpb	%al, %dl
	je	.L19
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
	jmp	.L24
.L19:
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	cmpb	%al, %dl
	je	.L21
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	movsbl	%al, %eax
	subl	$97, %eax
	cltq
	movl	-400128(%rbp,%rax,4), %eax
	cmpl	$1, %eax
	jne	.L21
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
	jmp	.L24
.L21:
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-400016(%rbp,%rax), %edx
	movl	-400136(%rbp), %eax
	addl	$1, %eax
	cltq
	movzbl	-400016(%rbp,%rax), %eax
	cmpb	%al, %dl
	je	.L22
	movl	-400136(%rbp), %eax
	cltq
	movzbl	-200014(%rbp,%rax), %eax
	movsbl	%al, %eax
	subl	$97, %eax
	cltq
	movl	$1, -400128(%rbp,%rax,4)
.L22:
	addl	$1, -400136(%rbp)
.L18:
	movl	-400136(%rbp), %eax
	cmpl	-400132(%rbp), %eax
	jl	.L23
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	call	puts@PLT
	movl	$0, %eax
.L24:
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L25
	call	__stack_chk_fail@PLT
.L25:
	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:
