#include <stdio.h>
#include <stdlib.h>

#define MIN(a,b) ((a)<(b)?(a):(b))
#define MAX(a,b) ((a)>(b)?(a):(b))

int main() {
    int k, n;
    if(scanf("%d %d", &k, &n) != 2 || k < 1 || k > 100 || n < 1 || n > 10000) {
        printf("Invalid input\n");
        return 0;
    }

    int dp[k + 1][n + 1];

    // Base cases
    for(int i = 1; i <= k; i++) {
        dp[i][0] = 0;
        dp[i][1] = 1;
    }
    for(int j = 1; j <= n; j++)
        dp[1][j] = j;

    // Fill DP table
    for(int i = 2; i <= k; i++) {
        for(int j = 2; j <= n; j++) {
            dp[i][j] = n + 1; // initialize with max
            for(int x = 1; x <= j; x++) {
                int temp = 1 + MAX(dp[i-1][x-1], dp[i][j-x]);
                if(temp < dp[i][j])
                    dp[i][j] = temp;
            }
        }
    }

    printf("%d\n", dp[k][n]);
    return 0;
}
