// File: /workspace/github_cpp_makefile_star2_O3/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 0x73e6
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 0x3b7c
cmpq %r13, %rbx
setae %al
testq %rbx, %rbx
sete %cl
orb %al, %cl
jne 0x3abe
leaq -0x50(%rbp), %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x3250
cmpq $0x0, -0x48(%rbp)
leaq -0x90(%rbp), %r13
je 0x3aa1
movq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x636a
movq %r13, %rdi
movq %r12, %rsi
movq %rbx, %rdx
movq $-0x1, %rcx
callq 0x3250
movq %r12, %rdi
movq %r13, %rsi
jmp 0x3b0e
cmpq $-0x1, %r13
je 0x3b43
leaq -0x50(%rbp), %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %r13, %rcx
callq 0x3250
cmpq $0x0, -0x48(%rbp)
je 0x3ae9
movq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x636a
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 0x3b28
callq 0x3200
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x3a1a
callq 0x3200
jmp 0x3a1a
cmpq $0x0, -0x68(%rbp)
je 0x3b57
leaq -0x70(%rbp), %rsi
movq -0x30(%rbp), %rdi
callq 0x636a
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x3b69
callq 0x3200
movq -0x30(%rbp), %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x44d0(%rip), %rdi      # 0x8053
leaq 0x44ea(%rip), %rsi      # 0x8074
leaq 0x44f2(%rip), %rcx      # 0x8083
movl $0x82, %edx
callq 0x3170
jmp 0x3bc1
movq %rax, %rbx
jmp 0x3bd6
jmp 0x3baa
jmp 0x3baa
jmp 0x3baa
jmp 0x3bc1
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x3bc4
callq 0x3200
jmp 0x3bc4
movq %rax, %rbx
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x3bd6
callq 0x3200
movq -0x30(%rbp), %rdi
callq 0x63b6
movq %rbx, %rdi
callq 0x33c0