//競技命令に必要な命令を網羅的に追加
//#include "bits/stdc++.h"
//入出力等基本
#include <iostream>
//文字列
#include <string>
//配列
#include <vector>
//配列操作
#include <algorithm>
//箱型構造
#include <stack>
//筒型構造
#include <queue>
//二分探索木
#include <set>
//辞書構造
#include <map>
//数学
#include <cmath>
//真表明用
#include <cassert>


//英語を漢字に翻訳
#define 中心() main()
#define 返値 return
#define 入力(値) cin >> 値
#define 出力(値) cout << 値 << endl

//論理
#define 如果(条件) if(条件)
#define 如他(条件) else if(条件)
#define 残他 else

//再起
#define 再起(変数,下,上) for(整数 変数 = 下;変数 <= 上;変数 += 1)
#define 逆再(変数,上,下) for(整数 変数 = 上;変数 >= 下;変数 -= 1)
#define 場合中(条件) while(条件)
#define 脱出 break
#define 次周 continue

//配列操作
#define 最初(配列) (配列).begin()+1
#define 最後(配列) (配列).end()
#define 全部(配列) (配列).begin(), (配列).end()
#define 整理(下,上) sort(下,上)
#define 逆順(下,上) reverse(下,上)
#define 消去(配列,下,上) 配列.erase(下,上)
#define 重複(下,上) unique(下,上)
#define 変長(配列,長) 配列.resize(長)
#define 置換(下,上,値) fill(下,上,値)
#define 全出力(配列) for_each(全部(配列), [](整数 値) {出力(値);});
#define 合流(支流一下,支流一上,支流二下,支流二上,合成流) merge(支流一下,支流一上,支流二下,支流二上,合成流)

//操作
#define 付加(対象,値) 対象.push_back(値)
#define 追加(対象,値) 対象.push(値)
#define 取捨(対象) 対象.pop()
#define 組成(一,二) make_pair(一,二)
#define 交換(一,二) swap(一,二)
#define 挿入(対象,値) 対象.insert(値)
#define 削除(対象,値) 対象.erase(値)

//詳細
#define 先頭(対象) 対象.top()
#define 前面(対象) 対象.front()
#define 空非空(対象) 対象.empty()
#define 大小(対象) 対象.size()
#define 長短(対象) 対象.length()
#define 先(対象) 対象.first
#define 後(対象) 対象.second
#define 部分文字列(対象,下,上) 対象.substr(下,上)
#define 検索(対象,値) 対象.find(値)
#define 探索(下,上,値) find(下,上,値)
#define 地点(対象,場所) 対象.at(場所)

//数学系
#define 真 true
#define 偽 false
#define 定数 const
#define 絶対値(数) abs(数)
#define 切下(数) floor(数)
#define 切上(数) ceil(数)
#define 根(a) sqrt(a)
#define 単縦(角度) sin(角度)
#define 単横(角度) cos(角度)
#define 和(一,二) (一+二)
#define 差(一,二) (一-二)
#define 積(一,二) (一*二)
#define 商(一,二) (一/二)
#define 余(一,二) (一%二)
#define 負 -
#define 且 &&
#define 又 ||
#define 是 =
#define 是不是 ==
#define 不 !
#define 不是 !=
#define 是大 >
#define 是小 <
#define 是以上 >=
#define 是以下 <=
#define 増桁(対象,桁) (対象<<桁)
#define 減桁(対象,桁) (対象>>桁)
#define 最小桁一(対象) (対象 & -対象)

//二進数演算
#define 共 &
#define 亦 |
#define 非 ~

//反復子
#define 反復子(対象) decltype(対象)::iterator
#define 以上(下,上,基準値) lower_bound(下,上,基準値)
#define 比較大(下,上,基準値) upper_bound(下,上,基準値)
#define 最大値(下,上,基準値) max_element(下,上,基準値)
#define 最小値(下,上,基準値) min_element(下,上,基準値)

//他
#define 構造体 struct
#define 記号 operator
#define 自動 auto
#define 表明(対象) assert(対象)

//stdの中で作業
using namespace std;

//型を漢字に翻訳
typedef int 整;
typedef void 無;
typedef long long 整数;
typedef vector<整数> 整数配列;
typedef vector<整数配列> 二次元整数配列;
typedef vector<二次元整数配列> 三次元整数配列;
typedef long double 小数;
typedef vector<long double> 小数配列;
typedef vector<小数配列> 二次元小数配列;
typedef char 文字;
typedef vector<文字> 文字配列;
typedef vector<文字配列> 二次元文字配列;
typedef string 文字列;
typedef vector<文字列> 文字列配列;
typedef pair<整数,整数> 整組;
typedef vector<整組> 整組配列;
typedef pair<小数,小数> 小組;
typedef vector<小組> 小組配列;
typedef vector<小組配列> 二次元小組配列;
typedef bool 真偽;
typedef vector<真偽> 真偽配列;
typedef vector<真偽配列> 二次元真偽配列;
typedef stack<整数> 整箱;
typedef queue<整数> 整筒;
typedef queue<整組> 整組筒;
typedef priority_queue<整数> 整順位二分木;
typedef greater<整数> 整昇順;
typedef greater<整組> 整組昇順;
typedef priority_queue<整数,整数配列,整昇順> 整昇順位二分木;
typedef priority_queue<整組,整組配列,整組昇順> 整組昇順位二分木;
typedef set<整数> 整二分探索木;
typedef map<整数,整数> 整辞書;
typedef map<整数,文字列> 文字列辞書;

構造体 辺構造{整数 着点,容量,逆辺;};
typedef vector<辺構造> 辺構造配列;

//定数 整数 四方横[4] 是 {1,0,-1,0};
//定数 整数 四方縦[4] 是 {0,1,0,-1};

整数 大値(整数 一, 整数 二){返値 max(一,二);}
整数 小値(整数 一, 整数 二){返値 min(一,二);}
整数 多値(整数 一, 整数 二){返値 max(一,二);}
整数 少値(整数 一, 整数 二){返値 min(一,二);}
整数 長値(整数 一, 整数 二){返値 max(一,二);}
整数 短値(整数 一, 整数 二){返値 min(一,二);}

定数 整数 無限 = (2e9) + 10;
//定数 整数 法 = 1000000007;
//定数 小数 境界 = 1e-9;
//定数 小数 半円 = acos(-1.0);
//定数 整数 百 = 100;
//定数 整数 千 = 1000;
//定数 整数 万 = 10000;
//定数 整数 億 = 100000000;
定数 整数 最大帰宅経路数 = 110;
整数 帰宅経路数,時間制限;
整数配列 費用(最大帰宅経路数),時間(最大帰宅経路数);

無 入力関数()
{
    入力(帰宅経路数);
    入力(時間制限);
    再起(各帰宅経路,1,帰宅経路数)
    {
        入力(費用[各帰宅経路]);
        入力(時間[各帰宅経路]);
    }
}

無 求最小可能帰宅経路()
{
    整数 最小可能帰宅経路 = 無限;
    再起(各帰宅経路,1,帰宅経路数)
    {
        如果(費用[各帰宅経路] < 最小可能帰宅経路 且 時間[各帰宅経路] <= 時間制限)
        {
            最小可能帰宅経路 = 費用[各帰宅経路];
        }
    }
    
    如果(最小可能帰宅経路 是不是 無限)
    {
        出力("TLE");
    }
    残他
    {
        出力(最小可能帰宅経路);
    }
}

整 中心()
{
	入力関数();
    求最小可能帰宅経路();
	返値 0;
}

Measured memory_bytes: 888