/*
	?§£????????????:A Point in a Triangle
	(http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0012&lang=jp)

	-status:AC

	-comment:
        ?¬????????????¢???????????????????????§????????¨?????£??????
        ?????????????¬????????????¢?????????????????????????????????????????§????????????????????????????????????????????????????????????????????¨???????????????
*/
var log = console.log;
if (typeof process != "undefined") {
    var input = "";
    process.stdin.resume();
    process.stdin.setEncoding('utf8');
    process.stdin.on('data', function(chunk) {
        input += chunk;
    });
    process.stdin.on('end', function() {
        var lines = input.split("\n");
        main(lines);
    });
}


function main(lines) {
    lines = lines.map(function(line) {
        return line.split(",").filter(function(e) {
            return e != "";
        }).map(function(e) {
            var n = Number(e);
            if (n.toString() == "NaN") {
                return e.replace(/(\r)|(\n)/g, "");
            }
            return n;
        });
    });
    var last = lines.pop();
    if (last.length == 6) {
        lines.push(last);
    }
    while (lines.length > 0) {
        var dataset = lines.shift();
        p_set(dataset);
    }
}

function p_set(ps) {
    var P1 = [ps[0], ps[1]];
    var P2 = [ps[2], ps[3]];
    var Q = [ps[4], ps[5]];
    var P1_P2 = v_a(P2, v_m(P1, -1));
    var P1_Q = v_a(Q, v_m(P1, -1));
    //??£?°???±????±???????
    var length = cross(P1_Q, P1_P2) / cross(P1_P2, P1_P2);
    var P1_Qd = v_m(P1_P2, length);
    var Q_Qd = v_a(v_m(P1_Q, -1), P1_Qd);
    var Q_R = v_m(Q_Qd, 2);
    var R = v_a(Q, Q_R);
    log(R.join(" "));
}

function sign_s_main(pa, pb) {
    //?????????2??§????????????
    return (pa[0] * pb[1] - pa[1] * pb[0]);
}

function cross(va, vb) {
    return va[0] * vb[0] + va[1] * vb[1];
}

function v_m(v, s) {
    return [v[0] * s, v[1] * s];
}

function v_a(v1, v2) {
    return [v1[0] + v2[0], v1[1] + v2[1]];
}