// File: /workspace/github_cpp_makefile_star2_O1/sharmaeklavya2[P]ctmeans/src/main.cpp
// Function: get_json_dict_template[abi:cxx11](char const*, char const*)
string get_json_dict_template(const char* keys, const char* val_fmts) {
    string s = "{\n";
    /*
    int n=1;
    for(int i=0; keys[i] != '\0'; ++i) {
        if(keys[i] == ',') {n++;}
    }
    s.reserve(strlen(keys) + strlen(fmts) + 8*n + 4);
    */

    if(keys[0] == '\0' || val_fmts[0] == '\0') {
        return "{}\n";
    }

    char key[50], val_fmt[10];
    int j1beg=0, j2beg=0;
    for(int i=0; true; ++i) {
        char ch1='\0', ch2='\0';
        while(keys[j1beg] == ' ') {
            j1beg++;
        }
        while(val_fmts[j2beg] == ' ') {
            j2beg++;
        }
        for(int j1off=0; true; ++j1off) {
            ch1 = keys[j1beg + j1off];
            if(ch1 == ' ') {
                continue;
            }
            if(ch1 == ',' || ch1 == '\0') {
                key[j1off] = '\0';
                j1beg += j1off + 1;
                break;
            }
            else {
                key[j1off] = ch1;
            }
        }
        for(int j2off=0; true; ++j2off) {
            ch2 = val_fmts[j2beg + j2off];
            if(ch2 == ',' || ch2 == '\0') {
                val_fmt[j2off] = '\0';
                j2beg += j2off + 1;
                break;
            }
            else {
                val_fmt[j2off] = ch2;
            }
        }
        s.append("  \"").append(key).append("\": ").append(val_fmt).append(",\n");
        if(ch1 == '\0' || ch2 == '\0') {
            break;
        }
    }
    s.pop_back(); s.pop_back();
    s.append("\n}\n");
    return s;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %r14
leaq 0x10(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1772(%rip), %rsi      # 0x8289
leaq 0x176d(%rip), %rdx      # 0x828b
movq %rsp, %rdi
callq 0x776c
cmpb $0x0, (%r15)
je 0x6c71
cmpb $0x0, (%r12)
je 0x6c71
movq %r12, 0x38(%rsp)
movq %r14, 0x30(%rsp)
xorl %ebp, %ebp
xorl %ebx, %ebx
movslq %ebp, %rbp
leal -0x1(%rbp), %ecx
incl %ecx
cmpb $0x20, (%r15,%rbp)
leaq 0x1(%rbp), %rbp
je 0x6b4f
movslq %ebx, %rbx
leal -0x1(%rbx), %eax
movq 0x38(%rsp), %rsi
incl %eax
cmpb $0x20, (%rsi,%rbx)
leaq 0x1(%rbx), %rbx
je 0x6b67
movslq %ecx, %rdx
addq %r15, %rdx
xorl %ecx, %ecx
movzbl (%rdx,%rcx), %r12d
cmpl $0x20, %r12d
je 0x6b96
cmpl $0x2c, %r12d
je 0x6b9b
testl %r12d, %r12d
je 0x6b9b
movb %r12b, 0x40(%rsp,%rcx)
incq %rcx
jmp 0x6b7b
movl %ecx, %edx
movb $0x0, 0x40(%rsp,%rdx)
addq %rcx, %rbp
cltq
addq %rsi, %rax
xorl %r13d, %r13d
movzbl (%rax,%r13), %r14d
cmpl $0x2c, %r14d
je 0x6bc7
testl %r14d, %r14d
je 0x6bc7
movb %r14b, 0x26(%rsp,%r13)
incq %r13
jmp 0x6bad
movl %r13d, %eax
movb $0x0, 0x26(%rsp,%rax)
movq %rsp, %rdi
leaq 0x16b7(%rip), %rsi      # 0x8290
callq 0x22b0
movq %rax, %rdi
leaq 0x40(%rsp), %rsi
callq 0x22b0
movq %rax, %rdi
leaq 0x169f(%rip), %rsi      # 0x8294
callq 0x22b0
movq %rax, %rdi
leaq 0x26(%rsp), %rsi
callq 0x22b0
movq %rax, %rdi
leaq 0x1687(%rip), %rsi      # 0x8298
callq 0x22b0
testb %r12b, %r12b
je 0x6c27
addq %r13, %rbx
testb %r14b, %r14b
jne 0x6b49
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x21a0
movq %rbx, %rdi
callq 0x21a0
leaq 0x165a(%rip), %rsi      # 0x829b
movq %rbx, %rdi
callq 0x22b0
movq 0x30(%rsp), %r14
leaq 0x10(%r14), %rax
movq %rax, (%r14)
movq (%rsp), %rcx
leaq 0x10(%rsp), %rbx
cmpq %rbx, %rcx
je 0x6c90
movq %rcx, (%r14)
movq 0x10(%rsp), %rax
movq %rax, 0x10(%r14)
jmp 0x6c96
leaq 0x10(%r14), %rax
movq %rax, (%r14)
leaq 0x160d(%rip), %rsi      # 0x828c
leaq 0x1609(%rip), %rdx      # 0x828f
movq %r14, %rdi
callq 0x776c
jmp 0x6cb1
movups (%rbx), %xmm0
movups %xmm0, (%rax)
movq 0x8(%rsp), %rax
movq %rax, 0x8(%r14)
movq %rbx, (%rsp)
movq $0x0, 0x8(%rsp)
movb $0x0, 0x10(%rsp)
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0x6cbf
callq 0x2130
movq %r14, %rax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6cd5
jmp 0x6cd5
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x6ceb
callq 0x2130
movq %rbx, %rdi
callq 0x2280