#include <bits/stdc++.h>
using namespace std;
#define int long long
using vec_int = vector<int>;
using P = pair<int,int>;
using T = tuple<int,int,int>;
using ll = long long;
#define rep(i, n) for(int i = 0; i < (int)(n); i++)

int charToInt(char c){
    char zero_num = '0';
    return (int)c - (int)zero_num;
}

signed main(){
    int M, H; cin>>M>>H;
    if(H%M==0){
        cout<<"Yes"<<endl;
    }else{
        cout<<"No"<<endl;
    }
    return 0;
}
#include <bits/stdc++.h>
#include <iomanip>
#define ll long long
#define lli long long int
#define ms0(x) memset(x, 0, sizeof(x))
using namespace std;
long long MAXN = 1e9;

long double pi = 3.1415926536;

long long mod = 1e9;

bool secgreat(pair<pair<lli, lli>, lli> a, pair<pair<lli, lli>, lli> b)
{
    pair<lli, lli> x, y;
    x = a.first;
    y = b.first;

    return (x.first > y.first) || (x.first == y.first && x.second > y.second);
}

bool secgreat2(pair<pair<lli, lli>, lli> a, pair<pair<lli, lli>, lli> b)
{
    pair<lli, lli> x, y;
    x = a.first;
    y = b.first;

    return (x.first > y.second) || (x.first == y.second && x.second > y.first);
}

/*
long long fact(long long n){
    n%=mod;
    if(n==0){
        return 1;
    }
    else if(n == 1){
        return 1;
    }
    else{
        return ((n%mod)*(fact(n-1)%mod))%mod;
    }
}

long long power(long long n, long long pow){
    n%=mod;
    long long res = 1;
    while(pow){
        if(pow%2){
            res = ((res%mod)*(n%mod))%mod;
        }
        pow/=2;
        n= ((n%mod)*(n%mod))%mod;
    }
    res%=mod;
    return res;

}

long long inversemod(long long n){
    return power(n, mod-2)%mod;
}
long long ncr(long long a){
    long long z = ((fact(a)%mod)(((inversemod(fact((a/2)%mod)%mod)%mod)(inversemod(fact((a/2)%mod)%mod)%mod)%mod)%mod)%mod)%mod;
    return z;
}
*/

/*
struct node{
    long long key;
    node* left;
    node* right;
};

struct node* newnode(long long item){
    struct node* temp = new struct node;
    temp->key = item;
    temp->left = NULL;
    temp->right = NULL;
    return temp;
};

struct node* insert(struct node* root, long long key){
    if(root == NULL){
        return newnode(key);
    }

    if (key<root->key){
        root->left = insert(root->left, key);
    }
    else if(key>root->key){
        root->right = insert(root->right, key);
    }
};
*/
/*
string binary(int a){
    string s;
    int x = 9;
    while(x>0){
        s.push_back(48+a%2);
        a/=2;
        x--;
    }
    reverse(s.begin(), s.end());

    return s;
}

int strtoi(string s){
    int n = s.length();
    int i;
    int sum = 0;
    for(i = 0; i<n; i++){
        sum+=pow(2, i)*s[i];
    }
    return sum;
}
*/

/*
long long nCrModp(long long n, long long r, long long p)
{

    if (r > n - r)
        r = n - r;


    long long C[r + 1];
    memset(C, 0, sizeof(C));

    C[0] = 1;
    for (long long i = 1; i <= n; i++) {


        for (int j = min(i, r); j > 0; j--)


            C[j] = (C[j] + C[j - 1]) % p;
    }
    return C[r];
}
*/

// int dfs_far(vector<bool> visited, int v, vector<int> node[])
// {
//     visited[v - 1] = true;
//     if (int(node[v - 1].size()) == 1)
//     {
//         return v;
//     }
//     int x;
//     for (auto i : node[v - 1])
//     {
//         if (visited[i - 1] == false)
//         {
//             x = dfs_far(visited, i, node);
//             break;
//         }
//     }
//     return x;
// }

// int dfs_dia(vector<bool> visited, int v, vector<int> node[], int dist)
// {

//     visited[v - 1] = true;
//     //cout << "Correct answer should be " << node[v].size() << endl;
//     if (node[v - 1].size() == 1 && dist != 0)
//     {

//         return dist;
//     }
//     int x;
//     for (auto i : node[v - 1])
//     {
//         if (visited[i - 1] == false)
//         {
//             dist++;
//             //cout << i << " dist -> " << dist << endl;
//             x = dfs_dia(visited, i, node, dist);
//             break;
//         }
//     }
//     return x;
// }

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    lli n;
    long long int x, y, t;
    cin >> n >> t;
    t *= 100;
    lli i;
    lli sum = 0;
    for (i = 0; i < n; i++)
    {
        cin >> x >> y;
        sum += x * y;
        if (sum > t)
        {
            cout << i + 1;
            return 0;
        }
    }

    cout << "-1";
}
