import java.io.PrintWriter

fun next() = readLine()!!
fun nextInt() = next().toInt()
fun nextLong() = next().toLong()
fun nextDouble() = next().toDouble()
fun nextList() = next().split(" ")
fun nextIntList() = nextList().map(String::toInt)
fun nextLongList() = nextList().map(String::toLong)
fun nextDoubleList() = nextList().map(String::toDouble)

val pw = PrintWriter(System.out)
fun print(s: Any = "") = pw.print(s)
fun println(s: Any = "") = pw.println(s)

fun main(args: Array<String>) {
    main()
    pw.flush()
}

fun main() {
    val (x1, y1, x2, y2) = nextIntList()
    val p1 = V(x1, y1)
    val p2 = V(x2, y2)
    val v1 = p2 - p1
    val p3 = p2 + v1.rot90()
    val p4 = p3 - v1
    println("$p3 $p4")
}

data class V(val x: Double, val y: Double) {
    companion object {
        fun rad(A: Double, rad: Double) = V(A * Math.cos(rad), A * Math.sin(rad))
        fun deg(A: Double, deg: Double) = rad(A, d2r(deg))
        private fun d2r(d: Double) = d * Math.PI / 180
    }

    constructor(x: Int, y: Int) : this(x.toDouble(), y.toDouble())
    constructor(x: Long, y: Long) : this(x.toDouble(), y.toDouble())

    fun norm() = Math.sqrt(x * x + y * y)
    fun normalized() = V(x / norm(), y / norm())
    fun distanceTo(o: V) = Math.sqrt((x - o.x) * (x - o.x) + (y - o.y) * (y - o.y))

    fun rot90() = rot(90.0)
    fun rot180() = rot(180.0)
    fun rot270() = rot(270.0)
    fun rot(d: Double): V {
        val r = d2r(d)
        val xx = x * Math.cos(r) - y * Math.sin(r)
        val yy = x * Math.sin(r) + y * Math.cos(r)
        return V(xx, yy)
    }

    operator fun plus(o: V) = V(x + o.x, y + o.y)
    operator fun minus(o: V) = V(x - o.x, y - o.y)

    override fun toString(): String {
        return "${Math.round(x)} ${Math.round(y)}"
    }
}