// File: muk343[P]pmml/pmml_score.cpp
// Function: main
int main()
{

	GraphGenerator graphGenerator;
	Node* rootNode = graphGenerator.getRootNode("pmmlModel.xml");	

	string line;
	while (getline(cin, line)) {
	  	std::istringstream iss(line);
	  	vector<double> input_vec;
	  	std::string token;
    	while(std::getline(iss, token, '\t')) {
        	input_vec.push_back(stod(token));
        }

        Score s(input_vec);
		
		vector<double> res = s.generateProb(rootNode);
		int size = res.size();
		cout.precision(12);
		for(int i=0; i<size-1; i++) {
			cout << res[i] << ",";
		}
		cout << res[size-1] << "\n";
	}

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2c0, %rsp            # imm = 0x2C0
movl $0x0, -0x4(%rbp)
leaq -0x5(%rbp), %rdi
leaq 0x4625(%rip), %rsi      # 0x17122
callq 0xde60
movq %rax, -0x10(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x43b0
movq 0xd4ca(%rip), %rdi      # 0x1ffe0
leaq -0x30(%rbp), %rsi
callq 0x40c0
movq %rax, -0x290(%rbp)
jmp 0x12b28
movq -0x290(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x4380
movb %al, -0x291(%rbp)
jmp 0x12b46
movb -0x291(%rbp), %al
testb $0x1, %al
jne 0x12b55
jmp 0x12e2b
leaq -0x1c0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movl $0x8, %edx
callq 0x4490
jmp 0x12b6c
leaq -0x1d8(%rbp), %rdi
callq 0xe010
leaq -0x1f8(%rbp), %rdi
callq 0x43b0
leaq -0x1c0(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
movl $0x9, %edx
callq 0x44d0
movq %rax, -0x2a0(%rbp)
jmp 0x12ba5
movq -0x2a0(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x4380
movb %al, -0x2a1(%rbp)
jmp 0x12bc3
movb -0x2a1(%rbp), %al
testb $0x1, %al
jne 0x12bcf
jmp 0x12c35
xorl %eax, %eax
movl %eax, %esi
leaq -0x1f8(%rbp), %rdi
callq 0xdf50
movsd %xmm0, -0x2b0(%rbp)
jmp 0x12be9
movsd -0x2b0(%rbp), %xmm0
movsd %xmm0, -0x200(%rbp)
leaq -0x1d8(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x12e60
jmp 0x12c0e
jmp 0x12b84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x12e40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x12e05
leaq -0x268(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0x12e90
jmp 0x12c4a
leaq -0x250(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0x12f80
jmp 0x12c5f
leaq -0x268(%rbp), %rdi
callq 0xe350
movq -0x10(%rbp), %rdx
leaq -0x280(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x13010
jmp 0x12c84
leaq -0x280(%rbp), %rdi
callq 0xf060
movl %eax, -0x284(%rbp)
movq 0xd32b(%rip), %rdi      # 0x1ffc8
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
movl $0xc, %esi
callq 0x13140
jmp 0x12cb3
movl $0x0, -0x288(%rbp)
movl -0x288(%rbp), %eax
movl -0x284(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x12d73
movslq -0x288(%rbp), %rsi
leaq -0x280(%rbp), %rdi
callq 0xe0e0
movsd (%rax), %xmm0
movq 0xd2d6(%rip), %rdi      # 0x1ffc8
callq 0x44f0
movq %rax, -0x2b8(%rbp)
jmp 0x12d00
movq -0x2b8(%rbp), %rdi
leaq 0x4422(%rip), %rsi      # 0x17130
callq 0x4270
jmp 0x12d15
jmp 0x12d17
movl -0x288(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x288(%rbp)
jmp 0x12cbd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x268(%rbp), %rdi
callq 0xe350
jmp 0x12e05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x12df9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x280(%rbp), %rdi
callq 0xe350
jmp 0x12df9
movl -0x284(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq -0x280(%rbp), %rdi
callq 0xe0e0
movsd (%rax), %xmm0
movq 0xd233(%rip), %rdi      # 0x1ffc8
callq 0x44f0
movq %rax, -0x2c0(%rbp)
jmp 0x12da3
movq -0x2c0(%rbp), %rdi
leaq 0x40de(%rip), %rsi      # 0x16e8f
callq 0x4270
jmp 0x12db8
leaq -0x280(%rbp), %rdi
callq 0xe350
leaq -0x250(%rbp), %rdi
callq 0x13170
leaq -0x1f8(%rbp), %rdi
callq 0x41c0
leaq -0x1d8(%rbp), %rdi
callq 0xe350
leaq -0x1c0(%rbp), %rdi
callq 0x4160
jmp 0x12b0f
leaq -0x250(%rbp), %rdi
callq 0x13170
leaq -0x1f8(%rbp), %rdi
callq 0x41c0
leaq -0x1d8(%rbp), %rdi
callq 0xe350
leaq -0x1c0(%rbp), %rdi
callq 0x4160
jmp 0x12e40
leaq -0x30(%rbp), %rdi
callq 0x41c0
movl -0x4(%rbp), %eax
addq $0x2c0, %rsp            # imm = 0x2C0
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x41c0
movq -0x38(%rbp), %rdi
callq 0x44a0
nopw %cs:(%rax,%rax)
nopl (%rax)