#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for(int i = 0; i < n; i++)
#define rep2(i, x, n) for(int i = x; i <= n; i++)
#define rep3(i, x, n) for(int i = x; i >= n; i--)
#define each(e, v) for(auto &e: v)
#define pb push_back
#define eb emplace_back
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define sz(x) (int)x.size()
using ll = long long;
using pii = pair<int, int>;
using pil = pair<int, ll>;
using pli = pair<ll, int>;
using pll = pair<ll, ll>;
const int MOD = 1000000007;
//const int MOD = 998244353;
const int inf = (1<<30)-1;
const ll INF = (1LL<<60)-1;
template<typename T> bool chmax(T &x, const T &y) {return (x < y)? (x = y, true) : false;};
template<typename T> bool chmin(T &x, const T &y) {return (x > y)? (x = y, true) : false;};

struct io_setup{
    io_setup(){
        ios_base::sync_with_stdio(false);
        cin.tie(NULL);
        cout << fixed << setprecision(15);
    }
} io_setup;

int main(){
    int N; cin >> N;
    ll X; cin >> X;
    X *= 100;

    ll S = 0;
    int ans = inf;
    rep(i, N){
        ll V, P;
        cin >> V >> P;
        S += V*P;
        if(S > X) chmin(ans, i);
    }

    cout << (ans == inf? -1 : ans+1) << '\n';
}
#include<bits/stdc++.h>
using namespace std;

#define int long long
#define F first
#define S second
#define pii pair<int,int>
#define pb push_back
#define vi vector<int>
#define endl "\n"
#define all(a) a.begin(),a.end()

void solve() {
	int n; int m; cin >> n >> m;
	vector<int> v;
	for (int i = 0; i < n; i++) {
		int x, y; cin >> x >> y;
		v.pb(x * y);
	}

	int ans = -1;
	int sum = 0;
	int i = 0;
	while (i < n) {
		sum += v[i];
		//cout << sum << endl;
		if (sum > m * 100) {
			ans = i + 1;
			break;
		}
		i++;
	}
	cout << ans;
}

void init() {
	ios_base::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif

}

int32_t main() {
	init();
	//int t;cin>>t;while(t--)
	{
		solve();
	}
	return 0;
}