import std.stdio;
import std.algorithm;
import std.conv;
import std.string;

void main()
{
	auto tokens = split(chomp(readln()));
	auto x1   = to!int(tokens[0]);
	auto y1   = to!int(tokens[1]);
	auto x2   = to!int(tokens[2]);
	auto y2   = to!int(tokens[3]);

	int[2] getDir(int dx, int dy)
	{
		if (dx >= 0)
		{
			if (dy >= 0) return [-1, 1];
			else		 return [1, 1];
		}
		else
		{
			if (dy >= 0) return [1, 1];
			else		 return [-1, 1];
		}
	}
	int dx = x2 - x1;
	int dy = y2 - y1;
	auto dir = getDir(dx, dy);
	int x3 = x2 + dir[0] * dy;
	int y3 = y2 + dir[1] * dx;
	int dx2 = x3 - x2;
	int dy2 = y3 - y2;
	auto dir2 = getDir(dx2, dy2);
	int x4 = x3 + dir2[0] * dy2;
	int y4 = y3 + dir2[1] * dx2;
	
	writeln(x3, " ", y3, " ", x4, " ", y4);
	stdout.flush();
}