import scala.math._ object Main { def calc(a: (Int, Int), b: (Int, Int), c: (Int, Int)) { // 内積 def dot(a: (Int, Int), b: (Int, Int)): Int = a._1 * b._1 + a._2 * b._2 // ベクトルの長さ def len(v: (Int, Int)) = sqrt(v._1 * v._1 + v._2 * v._2) Array(a, b, c).permutations.foreach { case Array(a, b, c) => val ab = (b._1 - a._1, b._2 - a._2) val ac = (c._1 - a._1, c._2 - a._2) // ベクトル ab, ac の内積がゼロなら直交している if (dot(ab, ac) == 0 && len(ab) == len(ac)) { val ad = (ab._1 + ac._1, ab._2 + ac._2) // println("a:", a) // println("ab:", ab) // println("ac:", ac) // println("ad:", ad) val d = (ad._1 + a._1, ad._2 + a._2) val cd = (d._1 - c._1, d._2 - c._2) if (len(ac) == len(cd)) { println(s"${d._1} ${d._2}") return } } } println(-1) // not found } def main(args: Array[String]) { val sc = new java.util.Scanner(System.in) val x1, y1, x2, y2, x3, y3 = sc.nextInt calc((x1, y1), (x2, y2), (x3, y3)) } }