Problem:
Score : 200 points

Problem Statement

When Mr. X is away from home, he has decided to use his smartwatch to search the best route to go back home, to participate in ABC.

You, the smartwatch, has found N routes to his home.

If Mr. X uses the i-th of these routes, he will get home in time t_i at cost c_i.

Find the smallest cost of a route that takes not longer than time T.

Constraints

All values in input are integers.

1 \leq N \leq 100

1 \leq T \leq 1000

1 \leq c_i \leq 1000

1 \leq t_i \leq 1000

The pairs (c_i, t_i) are distinct.

Input

Input is given from Standard Input in the following format:

N T
c_1 t_1
c_2 t_2
:
c_N t_N

Output

Print the smallest cost of a route that takes not longer than time T.

If there is no route that takes not longer than time T, print TLE instead.

Sample Input 1

3 70
7 60
1 80
4 50

Sample Output 1

4

The first route gets him home at cost 7.

The second route takes longer than time T = 70.

The third route gets him home at cost 4.

Thus, the cost 4 of the third route is the minimum.

Sample Input 2

4 3
1 1000
2 4
3 1000
4 500

Sample Output 2

TLE

There is no route that takes not longer than time T = 3.

Sample Input 3

5 9
25 8
5 9
4 10
1000 1000
6 1

Sample Output 3

5

Solution in C (GCC 5.4.1) (judge verdict: Accepted)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <math.h>
#include <limits.h>

//最大値を求める。
int max(int x,int y){
    if(x > y) return x;
    return y;
}
//最小値を求める
int min(int x,int y){
    if(x > y)return x;
    return y;
}

//各桁の和を求める。
int wa(int a){
    int sum;
    int dig;
    for(;;){
        dig = a % 10;
        sum += dig;
        a = a / 10;
        if(a == 0) break;
    }
    return sum;
}

//バブルソート（降べきの順）
void bsort(int a[],int b[],int n){
    int i,j,tmp2;
    for(i = 0;i < n-1;i++){
        for(j = 0;j<n-1;j++){
            if(a[b[j]]>a[b[j+1]]){
                tmp2 = b[j];
                b[j] = b[j+1];
                b[j+1] = tmp2;
            }
        }
    }
}

//最大公約数を求める
int gcd(int x,int y){
    int c;
    for(;;){
        c = x % y;
        if(c == 0)return y;
        x = y;
        y = c;
    }
}

int main(void){
    int n,tim;
    int count=10000;
    scanf("%d %d",&n,&tim);
    int c[n],t[n],b[n];
    int i;
    for(i =0;i<n;i++){
        scanf("%d %d",&c[i],&t[i]);
        b[i] = i;
    }

    bsort(c,b,n);

    for(i=0;i<n;i++){   
        if(t[b[i]]<=tim){
            count = c[b[i]];
            break;
        }
    }

    if(count == 10000)printf("TLE\n");
    else printf("%d\n",count);
    return 0;
}