#include <cstdio>           // printf(), scanf()

using namespace std;

class Point
{
public:
	double x, y;

	Point(double x = 0, double y = 0): x(x), y(y) {}
	Point operator + (Point p) { return Point(x + p.x, y + p.y); }
	Point operator - (Point p) { return Point(x - p.x, y - p.y); }
	Point operator * (double a) { return Point(a * x, a * y); }
};

struct Segment
{
	Point p1, p2;
};

typedef Point Vector;

double
norm(Vector a)
{
	return a.x * a.x + a.y * a.y;
}

double
dot(Vector a, Vector b)
{
	return a.x * b.x + a.y * b.y;
}

Point
project(Segment s, Point p)
{
	Vector base = s.p2 - s.p1;
	double r = dot(p - s.p1, base) / norm(base);
	return s.p1 + base * r;
}

Point
reflect(Segment s, Point p)
{
	return p + (project(s, p) - p) * 2.0;
}

int
main(int argc, char **argv)
{
	Segment s;
	Point p, q;

	while (scanf("%lf,%lf,%lf,%lf,%lf,%lf", &s.p1.x, &s.p1.y, &s.p2.x, &s.p2.y, &p.x, &p.y) != EOF)
	{
		q = reflect(s, p);
		printf("%.6f %.6f\n", q.x, q.y);
	}

	return 0;
}