#include<iostream>
#include<cmath>
#include<complex>
#include<algorithm>
#include<cmath>
#include<vector>
using namespace std;
#define REP(i,b,n) for(int i=b;i<n;i++)
#define rep(i,n) REP(i,0,n)
#define pb push_back
#define NEXT(i,n) ((i+1)%(n))
  
typedef long long ll;
typedef complex<double> P;

double dot(P a,P b){
  return a.real()*b.real()+a.imag()*b.imag();
}

P symmetric_point(P o,P p,P q){
  P N=p-o,L=q-o;
  double t = abs(L);
  N/=abs(N);
  L/=abs(L);
  double prepL = dot(N,L);//theta element of vector L against N (|L|=|N|=1
  double d=2*prepL;
  P r(d*N - L);//R vector symmetric point of L
  return o+t*r;
}

main(){
  P p,q,o;
  char dummy;
  while(cin>>o.real()>>dummy>>o.imag()>>dummy
	>>p.real()>>dummy>>p.imag()>>dummy
	>>q.real()>>dummy>>q.imag()){
    P ans=symmetric_point(o,p,q);
    printf("%.5lf %.5lf\n",ans.real(),ans.imag());
  }
}