#ifdef _DEBUG
#define _GLIBCXX_DEBUG
#endif
#if __has_include(<atcoder/all>)
#include <atcoder/all>
#endif
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
using P = pair<int, int>;
#define rep(i, a, b) for(int i = (int)(a); i <= (int)(b); i++)
#define rrep(i, a, b) for(int i = (int)(a); i >= (int)(b); i--)
const int MOD = 1000000007;
const int MOD2 = 998244353;
const ll INF = 1e18;
const ld PI = acos(-1);

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    ll T,N;
    cin >> T >> N;
    int Z=N/T;
    int plus=N-Z*T;
    if(plus==0){
        Z--;
        plus+=T;
    }
    int D=0;
    int cnt=0;
    //cout << plus << endl;
    vector<int> seen(100+T,0);
    rep(i,0,99){
        seen[i*(100+T)/100]=1;
    }
    rep(i,0,99+T){
        if(seen[i]==false){
            cnt++;
        }
        if(cnt==plus){
            D=i;
            break;
        }
    }
    cout << (T+100)*Z+D << endl;
}
#include<bits/stdc++.h>
#define int long long
using namespace std;

int get() {
	int x = 0, f = 1; char c = getchar();
	while(!isdigit(c)) { if(c == '-') f = -1; c = getchar(); }
	while(isdigit(c)) { x = x * 10 + c - '0'; c = getchar(); }
	return x * f;
}

const int N = 114514;
int n, t;
int bin[N];

int gcd(int x, int y) { return y? gcd(y, x % y) : x; }

signed main() {
	t = get(), n = get();
	if(t == 1) return 0 * printf("%lld\n", 101 * n - 1);
	int T = t * 100 / gcd(100, t);
	for(int i = 0; i < T; i++) bin[i] = i * t / 100;
	int z = n / (bin[T - 1] + 1), r = n % (bin[T - 1] + 1);
	for(int i = 0; i < T; i++) {
		if(bin[i] == r && (z + i)) return 0 * printf("%lld\n", (z * T + i) * (100 + t) / 100 - 1);
	}
	return 0;
}
