// File: /workspace/github_cpp_makefile_star2_O1/Neurochrom[P]hours_calc/hours_calc.cpp
// Function: splitIntoTokens(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, char const*, char const*)
std::vector<std::string> splitIntoTokens(const std::string& s, const char* separators, const char* incSeparators="")
{
   std::vector<std::string> r;
   std::string ss = s;
   for(;;)
   {
      size_t i = ss.find_first_of(separators);
      size_t ii = ss.find_first_of(incSeparators);
      assert( ii == std::string::npos || ii!=i );
      if(ii<i && ii>0)
      {
         assert(ii!=std::string::npos);
         std::string x = ss.substr(0, ii);
         if (!x.empty())
            r.push_back(x);
         ss = ss.substr(ii);
      }
      else if (i == std::string::npos)
      {
         if (!ss.empty())
            r.push_back(ss);
         break;
      }
      else
      {
         std::string x = ss.substr(0, i);
         if (!x.empty())
            r.push_back(x);
         ss = ss.substr(i + 1);
      }
   }
   return r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rcx, %r14
movq %rdx, %r15
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq %rdi, -0x30(%rbp)
movq $0x0, 0x10(%rdi)
leaq -0x60(%rbp), %rax
movq %rax, -0x10(%rax)
movq (%rsi), %rax
movq 0x8(%rsi), %rdx
addq %rax, %rdx
leaq -0x70(%rbp), %rdi
movq %rax, %rsi
callq 0x7404
leaq -0x70(%rbp), %r12
movq %r15, %rdi
callq 0x3110
movq %r12, %rdi
movq %r15, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3350
movq %rax, %r13
movq %r14, %rdi
callq 0x3110
movq %r12, %rdi
movq %r14, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3350
movq %rax, %rbx
cmpq $-0x1, %rax
sete %al
cmpq %r13, %rbx
setne %cl
orb %al, %cl
je 0x3b63
cmpq %r13, %rbx
setae %al
testq %rbx, %rbx
sete %cl
orb %al, %cl
jne 0x3aa5
leaq -0x50(%rbp), %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x3250
cmpq $0x0, -0x48(%rbp)
leaq -0x90(%rbp), %r13
je 0x3a88
movq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x632a
movq %r13, %rdi
movq %r12, %rsi
movq %rbx, %rdx
movq $-0x1, %rcx
callq 0x3250
movq %r12, %rdi
movq %r13, %rsi
jmp 0x3af5
cmpq $-0x1, %r13
je 0x3b2a
leaq -0x50(%rbp), %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %r13, %rcx
callq 0x3250
cmpq $0x0, -0x48(%rbp)
je 0x3ad0
movq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x632a
incq %r13
leaq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
movq %r13, %rdx
movq $-0x1, %rcx
callq 0x3250
movq %r12, %rdi
movq %rbx, %rsi
callq 0x32d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x3b0f
callq 0x3200
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x3a01
callq 0x3200
jmp 0x3a01
cmpq $0x0, -0x68(%rbp)
je 0x3b3e
leaq -0x70(%rbp), %rsi
movq -0x30(%rbp), %rdi
callq 0x632a
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x3b50
callq 0x3200
movq -0x30(%rbp), %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x44e9(%rip), %rdi      # 0x8053
leaq 0x4503(%rip), %rsi      # 0x8074
leaq 0x450b(%rip), %rcx      # 0x8083
movl $0x82, %edx
callq 0x3170
jmp 0x3ba8
movq %rax, %rbx
jmp 0x3bbd
jmp 0x3b91
jmp 0x3b91
jmp 0x3b91
jmp 0x3ba8
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x3bab
callq 0x3200
jmp 0x3bab
movq %rax, %rbx
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x3bbd
callq 0x3200
movq -0x30(%rbp), %rdi
callq 0x6376
movq %rbx, %rdi
callq 0x33c0