// File: /workspace/github_cpp_makefile_star2_O3/kage08[P]RegexLibrary/Resource.cpp
// Function: inputNFA()
NFA inputNFA(){
  int nS;
  std::vector<char> alpha;
  string line;
  cin>>nS;
  getline(cin,line);
  getline(cin,line);
  for(char c:line)
    if(!(c==' '||c=='\n')) alpha.push_back(c);
  NFA ans(nS,alpha);
  getline(cin,line);
  istringstream is {line};
  while(is>>nS){
    ans.acceptStates.insert(nS);
  }
  int p,q; char al;
  while(cin>>p>>q>>al)
    ans.Trans[p].insert(make_pair(al,q));
  return ans;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1d8, %rsp            # imm = 0x1D8
movq %rdi, %rbx
xorl %eax, %eax
movq %rax, 0x40(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x30(%rsp)
leaq 0x18(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb $0x0, (%rcx)
movq 0x6004(%rip), %r14      # 0x9fd8
leaq 0x4(%rsp), %rsi
movq %r14, %rdi
callq 0x20e0
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %edx
movq 0x5fd9(%rip), %r14      # 0x9fd8
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x2290
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %edx
movq 0x5fae(%rip), %r14      # 0x9fd8
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x2290
movq 0x10(%rsp), %r13
testq %r13, %r13
je 0x408c
movq 0x8(%rsp), %rbp
xorl %r15d, %r15d
leaq 0x58(%rsp), %r12
movzbl (%rbp,%r15), %eax
movb %al, 0x58(%rsp)
cmpl $0xa, %eax
je 0x4084
cmpl $0x20, %eax
je 0x4084
movq 0x38(%rsp), %rsi
cmpq 0x40(%rsp), %rsi
je 0x4077
movb %al, (%rsi)
incq 0x38(%rsp)
jmp 0x4084
leaq 0x30(%rsp), %rdi
movq %r12, %rdx
callq 0x58d0
incq %r15
cmpq %r15, %r13
jne 0x404e
movslq 0x4(%rsp), %rsi
leaq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x243c
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %edx
movq 0x5f1c(%rip), %rdi      # 0x9fd8
leaq 0x8(%rsp), %rsi
callq 0x2290
leaq 0x58(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movl $0x8, %edx
callq 0x2260
leaq 0x20(%rbx), %r14
leaq 0x58(%rsp), %r15
leaq 0x4(%rsp), %r12
leaq 0x48(%rsp), %r13
movq %r15, %rdi
movq %r12, %rsi
callq 0x20e0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x411d
movslq 0x4(%rsp), %rax
movq %rax, 0x48(%rsp)
movq %r14, %rdi
movq %r13, %rsi
callq 0x541e
jmp 0x40ed
movq 0x5eb4(%rip), %r14      # 0x9fd8
leaq 0x2c(%rsp), %r15
leaq 0x28(%rsp), %r12
leaq 0x3(%rsp), %r13
leaq 0x48(%rsp), %rbp
movq %r14, %rdi
movq %r15, %rsi
callq 0x20e0
movq %rax, %rdi
movq %r12, %rsi
callq 0x20e0
movq %rax, %rdi
movq %r13, %rsi
callq 0x2200
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x4194
movslq 0x2c(%rsp), %rax
leaq (%rax,%rax,2), %rdi
shlq $0x4, %rdi
addq 0x8(%rbx), %rdi
movb 0x3(%rsp), %al
movslq 0x28(%rsp), %rcx
movb %al, 0x48(%rsp)
movq %rcx, 0x50(%rsp)
movq %rbp, %rsi
callq 0x5530
jmp 0x4138
movq 0x5e25(%rip), %rsi      # 0x9fc0
leaq 0x58(%rsp), %rdi
callq 0x2210
leaq 0xd0(%rsp), %rdi
callq 0x2080
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x41ce
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2180
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x41e5
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x2180
movq %rbx, %rax
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x41fc
movq %rax, %r14
leaq 0x18(%rsp), %r15
jmp 0x423e
jmp 0x4208
movq %rax, %r14
leaq 0x18(%rsp), %r15
jmp 0x4246
jmp 0x4218
jmp 0x4218
jmp 0x4218
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq 0x5d99(%rip), %rsi      # 0x9fc0
leaq 0x58(%rsp), %rdi
callq 0x2210
leaq 0xd0(%rsp), %rdi
callq 0x2080
movq %rbx, %rdi
callq 0x4770
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x425d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2180
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x4274
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x2180
movq %r14, %rdi
callq 0x2270