/*
TASK: VSKLY
LANG: C++
*/
#include <string>
#include <fstream>
using namespace std;

string inpFile = "SKLYPAS.IN";
string outFile = "SKLYPAS.OUT";

// naujo sklypo sankirta su senu sklypu išsaugoma vietoj senojo sklypo
void sankirta(int &sx0, int &sy0, int &sx1, int &sy1, int nx0, int ny0, int nx1, int ny1)
{
	int x0 = max(sx0, nx0);
	int y0 = min(sy0, ny0);
	int x1 = min(sx1, nx1);
	int y1 = max(sy1, ny1);

	sx0 = x0;
	sy0 = y0;
	sx1 = x1;
	sy1 = y1;
}

int main()
{
	int n;
	// senas sklypas
	int sx0 = -1000000, sy0 = 1000000, sx1 = 1000000, sy1 = -1000000;
	// naujas sklypas
	int nx0, ny0, nx1, ny1;

	ifstream fi(inpFile.c_str());
	fi >> n;
	for (int i = 0; i < n; ++i)
	{
		fi >> nx0 >> ny0 >> nx1 >> ny1;
		sankirta(sx0, sy0, sx1, sy1, nx0, ny0, nx1, ny1);
	}
	fi.close();


	ofstream fo(outFile.c_str());
	if ((sx0 >= sx1) || (sy0 <= sy1))
		fo << 0 << endl;
	else
		fo << sx0 << " " << sy0 << " " << sx1 << " " << sy1 << endl;
	fo.close();

	return 0;
}
