Problem:
Sorting Pairs

Write a program which print coordinates $(x_i, y_i)$ of given $n$ points on the plane by the following criteria.

first by $x$-coordinate

in case of a tie, by $y$-coordinate

Input

The input is given in the following format.

$n$
$x_0 \; y_0$
$x_1 \; y_1$
:
$x_{n-1} \; y_{n-1}$

In the first line, the number of points $n$ is given. In the following $n$ lines, coordinates of each point are given.

Output

Print coordinate of given points in order.

Constraints

$1 \leq n \leq 100,000$

$-1,000,000,000 \leq x_i, y_i \leq 1,000,000,000$

Sample Input 1

5
4 7
5 5
2 3
6 8
2 1

Sample Output 1

2 1
2 3
4 7
5 5
6 8

Solution in C# (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
class Program{
    public static void Main(){
        int n = int.Parse(Console.ReadLine());
        var lists = new List<Vec>();
        for(int i=0; i<n; i++){
            string[] str = Console.ReadLine().Split(' ');
            lists.Add(new Vec(str[0], str[1]));
        }
        foreach(var vec in lists.OrderBy(v => v.X).ThenBy(v => v.Y)){
            vec.PrintVector();
        }
    }
}
class Vec{
    public int X{ set; get; }
    public int Y{ set; get; }
    public Vec(int tx, int ty){
        X = tx;
        Y = ty;
    }
    public Vec(string sx, string sy){
        X = int.Parse(sx);
        Y = int.Parse(sy);
    }
    public void PrintVector(){
        Console.WriteLine("{0} {1}",X,Y);
    }
}