//코드업 공주의 정원 퀵정렬
#include<stdio.h>
typedef struct _md
{
int start, end;
}MD;
void quickSort(MD arr[], int left, int right)
{
int i = left, j = right;
int pivot = arr[(left + right) / 2].start;
MD temp;
do
{
while (arr[i].start < pivot)
i++;
while (arr[j].start > pivot)
j--;
if (i <= j)
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
} while (i <= j);
/* recursion */
if (left < j)
quickSort(arr, left, j);
if (i < right)
quickSort(arr, i, right);
}
int main()
{
MD f[10005] = { 0 };
MD temp;
int n;
int a, b, c, d;
scanf_s("%d", &n);
for (int i = 1; i <=n; i++)
{
scanf_s("%d %d %d %d", &a, &b, &c, &d);
f[i].start = (a * 100) + b;
f[i].end = (c * 100) + d;
}
quickSort(f, 1, n);
for (int i = 1; i <= n; i++)
{
if (f[i].start == f[i + 1].start && f[i].end > f[i + 1].end)
{
temp = f[i];
f[i] = f[i + 1];
f[i + 1] = temp;
}
}
return 0;
}