Problem:


Score : 200 points

Problem Statement

Takahashi's house has only one socket.

Takahashi wants to extend it with some number of power strips, each with A sockets, into B or more empty sockets.

One power strip with A sockets can extend one empty socket into A empty sockets.

Find the minimum number of power strips required.

Constraints

All values in input are integers.

2 \leq A \leq 20

1 \leq B \leq 20

Input

Input is given from Standard Input in the following format:

A B

Output

Print the minimum number of power strips required.

Sample Input 1

4 10

Sample Output 1

3

3 power strips, each with 4 sockets, extend the socket into 10 empty sockets.

Sample Input 2

8 9

Sample Output 2

2

2 power strips, each with 8 sockets, extend the socket into 15 empty sockets.

Sample Input 3

8 8

Sample Output 3

1



Sample input:
4 10


Sample output:
3

Submission status: Wrong Answer

Solution code:
import math
A, B = map(int, input().split())
N = math.floor(B/(A-1))
print(N)

Submission status: Wrong Answer

Solution code:
a,b=map(int,input().split())

i=1
tappu=a

while tappu<b:
    tappu+=(a-1)
    i+=1

print(i)

Submission status: Wrong Answer

Solution code:
a,b=map(int,input().split())

i=0
while 1:

    if (a-1)*i+a>=b:
        break
    i+=1

print(i+1)

Submission status: Wrong Answer

Solution code:
import math
A,B= list(map(int,input().split()))
#for i in range(1,22):
#    if (A-1)*(i-1)+A >=B:
#        print(i)
#        break
if B <= A:
    print(1)
elif A < B :
    print(math.ceil((B-A)/(A-1))+1)

Submission status: Wrong Answer

Solution code:
import math
A,B= list(map(int,input().split()))
#for i in range(1,22):
#    if (A-1)*(i-1)+A >=B:
#        print(i)
#        break
#if B <= A:
#    print(1)
#else:
#    print(math.ceil((B-A)/(A-1))+1)
min_tap = 0
if B <= A:
    min_tap = 1
else:
    min_tap =math.ceil((B-A)/(A-1))+1
min_tap = int(min_tap)
print(min_tap)

Submission status: Wrong Answer

Solution code:
import math
A,B= list(map(int,input().split()))
#for i in range(1,22):
#    if (A-1)*(i-1)+A >=B:
#        print(i)
#        break
#if B <= A:
#    print(1)
#else:
#    print(math.ceil((B-A)/(A-1))+1)
min_tap = 0
if B <= A:
    min_tap = 1
else:
    min_tap =math.ceil((B-A)/(A-1))+1
print(min_tap)

Submission status: Wrong Answer

Solution code:
import math
A,B= list(map(int,input().split()))
#for i in range(1,22):
#    if (A-1)*(i-1)+A >=B:
#        print(i)
#        break
if B <= A:
    print(1)
else:
    print(math.ceil((B-A)/(A-1))+1)

Submission status: Wrong Answer

Solution code:
A,B= list(map(int,input().split()))
for i in range(1,22):
    if (A-1)*(i-1)+A >=B:
        print(i)
        break

Submission status: Wrong Answer

Solution code:
A,B= list(map(int,input().split()))
for i in range(1,21):
    if (A-1)*(i-1)+A >=B:
        print(i)
        break

Submission status: Wrong Answer

Solution code:
# 139 B  # nxt try

a, b = map(int, input().split())
ans = 0

temp = 0
while temp < b:
    temp += a
    ans += 1

print(ans)

Submission status: Wrong Answer

Solution code:
# 139 B  ####### dbt

a, b = map(int, input().split())

if b <= 0:
    print(0)
elif b <= a:
    print(1)
else:
    if b % a == 0:
        print(b // a)
    else:
        print((b // a) + 1)

Submission status: Wrong Answer

Solution code:
A, B = map(int, input().split())
ans = 0
t = 1
while B < t:
  ans += 1
  t += A-1
print(ans)

Submission status: Wrong Answer

Solution code:
a,socks = map(int, input().split())
count = a
ans = 1
while count < socks:
  count += a-1
  ans +=1 
  
print(ans)

Submission status: Wrong Answer

Solution code:
# 139 B

a, b = map(int, input().split())

if b <= a:
    print(1)
else:
    if b % a == 0:
        print(b // a)
    else:
        print((b // a) + 1)

Submission status: Wrong Answer

Solution code:
A, B = list(map(int,input().split(" ")))
if A >= B:
  print(1)
else:
  if (B-A)%(A-1) == 0:
    print((B-A)//(A-1)+1)
  else:
    print((B-A)//(A-1)+2)

Submission status: Wrong Answer

Solution code:
a,b=map(int,input().split())
if b%a==0:
  print(b//a)
else:
  print(b//a + 1)

Submission status: Wrong Answer

Solution code:
def main():
    a, b = map(int, input().split())
    num = 1
    ans = 0
    for i in range(2, 21):
        ans = a * i - (i-1)
        if ans >= b:
            print(i)
            break
    
        


if __name__ == "__main__":
    main()

Submission status: Wrong Answer

Solution code:
def main():
    a, b = map(int, input().split())
    num = 1
    ans = 0
    for i in range(2, 21):
        ans = a * i - (i-1)
        print(ans)
        if ans >= b:
            print(i)
            break
    
        


if __name__ == "__main__":
    main()

Submission status: Wrong Answer

Solution code:
def main():
    a, b = map(int, input().split())
    num = 1
    ans = 0
    for i in range(1, 21):

        ans = a * i - (i-1)
        if ans > b:
            print(i)
            break
    
        


if __name__ == "__main__":
    main()

Submission status: Wrong Answer

Solution code:
def main():
    a, b = map(int, input().split())
    num = 1
    ans = 0
    for i in range(1, 21):

        ans = a * i - (i-1)
        if ans >= b:
            print(i)
            break
    
        


if __name__ == "__main__":
    main()

Submission status: Wrong Answer

Solution code:
mod=10**9+7
import math
import sys
from collections import deque
import heapq
import copy
import itertools
from itertools import permutations
from itertools import combinations
import bisect
def mi() : return map(int,sys.stdin.readline().split())
def ii() : return int(sys.stdin.readline().rstrip())
def i() : return sys.stdin.readline().rstrip()

a,b=mi()
print(math.ceil(b-1/a-1))

Submission status: Wrong Answer

Solution code:
mod=10**9+7
import math
import sys
from collections import deque
import heapq
import copy
import itertools
from itertools import permutations
from itertools import combinations
import bisect
def mi() : return map(int,sys.stdin.readline().split())
def ii() : return int(sys.stdin.readline().rstrip())
def i() : return sys.stdin.readline().rstrip()

a,b=mi()
print(math.ceil(b/a))

Submission status: Wrong Answer

Solution code:
A, B = list(map(int, input().split()))

def sum_tap_num(tap_num, A, B):
	tap_sum = (tap_num-1)*(A-1)+A
	if tap_sum >= B:
		return tap_num
  	
	return sum_tap_num(tap_num+1, A, B)

print(sum_tap_num(1, A, B))

Submission status: Wrong Answer

Solution code:
A,B=input().split()
import math
math.ceil((int(B)-1)/(int(A)-1))

Submission status: Wrong Answer

Solution code:
A,B=input().split()
import math
math.ceil((int(B)-1)/int(A))

Submission status: Wrong Answer

Solution code:
from math import ceil
a, b = list(map(int , input().split()))
print(ceil(b/a))

Submission status: Wrong Answer

Solution code:
A,B = map(int, input().split())
n=0
while(B>0):
  n += 1
  if(B<=A):
    B=0
  else:
    B = B - A + 1
print(n)

Submission status: Wrong Answer

Solution code:
A,B = map(int, input().split())
n=0
while(B>0):
  n += 1
  if(B==A):
    B=0
  else:
    B = B - A + 1
print(n)

Submission status: Wrong Answer

Solution code:
import math
A,B = map(int, input().split())
n = math.ceil(B/A)
if B>= n*A-(n-1):
  print(n)
else:
  print(n+1)

Submission status: Wrong Answer

Solution code:
import math
A,B = map(int, input().split())
print(math.ceil(B/A))

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())

ans = b // a

if(b % a != 0):
    ans += 1

print(ans)

Submission status: Wrong Answer

Solution code:
# 139 B

a, b = (map(int, input().split()))

if  b == a:
    print(1)
elif b > a:
    print((b // a) + 1)
else:
    print(0)

Submission status: Wrong Answer

Solution code:
# 139 B

a, b = (map(int, input().split()))

if  b // a == 1:
    print(1)
else:
    print((b // a) + 1)

Submission status: Wrong Answer

Solution code:
#!/usr/bin/env python3
a, b = map(int, input().split())

n = 0
for i in range(20):
    n = n + a
    if n >= b:
        print(i+1)
        break
    n -= 1

Submission status: Wrong Answer

Solution code:
from math import ceil
a,b = map(int,input().split())
print(ceil(b/a))

Submission status: Wrong Answer

Solution code:
a = list(map(int,input().split()))
if (a[1] // a[0]) * a[0] != a[1]:
    print((a[1] // a[0]) + 1)
else:
    print(a[1]//a[0])

Submission status: Wrong Answer

Solution code:
a, b = map(int, input().split())
if a >= b:
    ans = 1
else:
    ans = (b-2)//(a-1)+1
print(int(ans))

Submission status: Wrong Answer

Solution code:
a, b = map(int, input().split())
if a >= b:
    ans = 1
else:
    ans = (b-2)//(a-1)+1
print(ans)

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())
count = 0
if a >= b:
    print(1)
b = b - a
count +=1
while b > 0:
    b = b - (a-1)
    count += 1
print(count)

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())
count = 0
while b > 0:
    b = b -a
    count += 1
print(count)

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())
if a >= b:
    print(1)
elif b%a == 0:
    print(b//a)
else:
    print(b//a + 1)

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())
i = 1
r = a
while True:
  if r >= b:
    print(i)
    break
  else:
    r = (a - i) + a * i
    i += 1

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())
i = 1
while True:
  if a >= b:
    print(i)
    break
  else:
    a = (a - i) + a * i
    i += 1

Submission status: Wrong Answer

Solution code:
def main():
    a, b= map(int, input().split())
    if b - a <= 0:
        print(1)
    else:
        if (b-1) % (a-1) == 0:
            print((b-1)//(a-1))
        else:
            print((b-1)//(a-1) + 1)

if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
def main():
    a, b= map(int, input().split())
    if b - a <= 0:
        print(1)
    else:
        c = b - a
        d = c // (a-1)
        if c % (a-1) == 0:
            print(d+1)
        else:
            print(d+2)

if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
a=input()
res=[i for i in a.split()]
x,y=[res[i] for i in (0,1)]
A,B=int(x),int(y)
if 2<=A<=20 and 1<=B<=20:
    w=(B+1)/A
    z=(B+1+A)//A
    print(z)

Submission status: Wrong Answer

Solution code:
a,b=map(int,input().split())

con=1
cut=0
while True:
    if cut==0:
        cut+=1
        if (a*con)>=b:
            break
    else:
        if (a*con)-2>=b:
            break
    
    con+=1

print(con)

Submission status: Wrong Answer

Solution code:
a,b=map(int,input().split())

con=0

while True:
    if a*con>=b:
        break
    con+=1

print(con)

Submission status: Wrong Answer

Solution code:
a, b = map(int, input().split())
result = 0
while result * a + 1 > b:
  result = result + 1
print(str(result))

Submission status: Wrong Answer

Solution code:
a,b=map(int,input().split())

con=0

while True:
    con+=1
    if a*con>=b:
        break


print(con)

Submission status: Wrong Answer

Solution code:
a,b = (int(x) for x in input().split())

print(-(-b//a))

Submission status: Wrong Answer

Solution code:
import math

A, B = [int(n) for n in input().split()]
if B==1:
  print(0)
elif A==B:
  print(1)
else:
  n = math.ceil(B/A)
  print(n+1 if (A-1)*(n-1)+A < B else n)

Submission status: Wrong Answer

Solution code:
import math

A, B = [int(n) for n in input().split()]
if B==1:
  print(0)
elif A==B:
  print(1)
else:
  n = math.ceil(B/A)
  print(n+1 if (A-1)*(n-1)+A <= B else n)

Submission status: Wrong Answer

Solution code:
import math

A, B = [int(n) for n in input().split()]
if B==1:
  print(0)
elif A==B:
  print(1)
else:
  n = math.ceil(B/A)
  print(n+1 if (n-1)*A+A <= B else n)

Submission status: Wrong Answer

Solution code:
x, y = 0, 0
for i in range(1, 101):
    if x + 2*i > 1500:
        y += 2*i
        x = 0
    print(x+i, y+1)
    x += 2*i
    y += 1

Submission status: Wrong Answer

Solution code:
A,B = map(int, input().split())
if B%A == 0:
  print(B/A)
else:
  print(B//A+1)

Submission status: Wrong Answer

Solution code:
a,b=map(int,input().split())
ans=(b-1)//a+1
print(ans)

Submission status: Wrong Answer

Solution code:
import sys
A,B = map(int,input().split())
for i in range(1,20):
  if (1+(A-1)*i) >= B:
    print(i)
    sys.exit()

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())
p = 1
c = a
a -= 1

while c < b:
    c += a
    p += 1

print(p)

Submission status: Wrong Answer

Solution code:
import sys
A,B = map(int,input().split())
for i in range(1,100):
  if (1+(A-1)*i) >= B:
    print(i)
    sys.exit()

Submission status: Wrong Answer

Solution code:
import sys
A,B = map(int,input().split())
for i in range(1,1000):
  if 1+(A-1)*i >= B:
    print(i)
    sys.exit()

Submission status: Wrong Answer

Solution code:
import sys
A,B = map(int,input().split())
for i in range(1,100):
  if 1+(A-1)*i >= B:
    print(i)
    sys.exit()

Submission status: Wrong Answer

Solution code:
def main():
    a,b=map(int,input().split())
    p=b-a
    if p<=0:print(1)
    else:
        if p%(a-1)==0:print((p//(a-1))+1)
        else:print((p//(a-1))+2)
main()

Submission status: Wrong Answer

Solution code:
m,n=map(int,input().split())
x=(n-1)/(m-1)
if x%1==0:
    print(x)
else:
    print(int(x)+1)

Submission status: Wrong Answer

Solution code:
a,b = map(int, input().split())
x = 1
while True:
    if (a - 1) * (x -  1) + a <= b:
        x += 1
    else:
        print(x)
        break

Submission status: Wrong Answer

Solution code:
a,b = map(int, input().split())
x = 1
while True:
    if (a - 1) * (x -  1) + a < b:
        x += 1
    else:
        print(x)
        break

Submission status: Wrong Answer

Solution code:

A,B=map(int,input().split())

if B/A == 1:
    print(1)
elif B==1:
    print(0)
else:print(B//A+1)

Submission status: Wrong Answer

Solution code:
A,B=map(int,input().split())

if B/A == 1:
    print(1)
else:print(B//A+1)

Submission status: Wrong Answer

Solution code:
def main():
    import copy
    a, b = map(int, input().split())
    
    times = copy.copy(a)
    num = 1

    while a <= b:
        num = num + 1
        a = a + times - 1

    print(num)
    

main()

Submission status: Wrong Answer

Solution code:
def main():
    import copy
    a, b = map(int, input().split())
    
    times = copy.copy(a)
    num = 1

    while a < b:
        num = num + 1
        a = a + times - 1

    print(num)
    

main()

Submission status: Wrong Answer

Solution code:
def main():
    import copy
    a, b = map(int, input().split())
    
    times = copy.copy(a)
    num = 1

    while a < b:
        num = num + 1
        if num == 2:
            a = a + a - 1
        else:
            a = a + times - 1
    
    print(num)
    

main()

Submission status: Wrong Answer

Solution code:
def main():
    import copy
    a, b = map(int, input().split())
    
    times = copy.copy(a)
    num = 1

    while a < b:
        num = num + 1
        a = a + (times * num) - 1
    
    print(num)
    

main()

Submission status: Wrong Answer

Solution code:
def main():
    import copy
    a, b = map(int, input().split())
    
    times = copy.copy(a)
    num = 1

    while a < b:
        num = num + 1
        a = (times * num) - 1
    
    print(num)
    

main()

Submission status: Wrong Answer

Solution code:
def main():
    a, b = map(int, input().split())
    
    num = 1

    while a < b:
        num = num + 1
        a = (a * num) - 1
    
    print(num)
    

main()

Submission status: Wrong Answer

Solution code:
def main():
    a, b = map(int, input().split())
    
    num = 1

    while a < b:
        num = num + 1
        a = a * num
    
    print(num)
    

main()

Submission status: Wrong Answer

Solution code:
def main():
    a, b = map(int, input().split())
    
    num = 0

    if a == b:
        print(1)
        return

    while a < b:
        num = num + 1
        a = a * num
    
    print(num)
    

main()

Submission status: Wrong Answer

Solution code:
import sys,math
A,B=input().split()
A=int(A)
B=int(B)
if B==1:
  print(0)
  sys.exit()
print(math.ceil(B/A))

Submission status: Wrong Answer

Solution code:
import sys
A,B=input().split()
A=int(A)
a=A+1
B=int(B)
if B==1:
  print(0)
  sys.exit()
count=1
while True:
  if a>=B:
    print(count)
    break
  count+=1
  a=a+A

Submission status: Wrong Answer

Solution code:
import sys
A,B=input().split()
A=int(A)
a=A
B=int(B)
if B==1:
  print(0)
  sys.exit()
count=1
while True:
  if a>=B:
    print(count)
    break
  count+=1
  a=a+A

Submission status: Wrong Answer

Solution code:
A,B=input().split()
A=int(A)
a=A
B=int(B)
count=1
while True:
  if a>=B:
    print(count)
    break
  count+=1
  a=a+A

Submission status: Wrong Answer

Solution code:
a,b = map(int, input().split())
x = 1
while True:
    if (a - 1) * (x -  1) + a < 8:
        x += 1
    else:
        print(x)
        break

Submission status: Wrong Answer

Solution code:
a, b = map(int, input().split())

n = 1
tap = 1
while 1:
    tap = tap + (a - 1)
    if tap >= b:
        break;
    n = n + 1
print(n)

Submission status: Wrong Answer

Solution code:
a, b = map(int, input().split())

n = 1
while 1:
    if (a - 1) * n + 1 >= b:
        break;
    n = n + 1
print(n)

Submission status: Wrong Answer

Solution code:
#!/usr/bin/env python3


def main():
    a,b = map(int, input().split())
    if b == 0:
        print(0)
        exit()
    for i in range(50):
        if (i+1)*a-i >= b:
            print(i+1)
            exit()

if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
#!/usr/bin/env python3


def main():
    a,b = map(int, input().split())
    if b == 0:
        print(0)
        exit()
    for i in range(50):
        if (i+1)*a-i >= b:
            print(i+1)
            break

if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
#!/usr/bin/env python3


def main():
    a,b = map(int, input().split())
    if b == 0:
        print(0)
        exit()
    for i in range(10):
        if (i+1)*a-i >= b:
            print(i+1)
            break

if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
#!/usr/bin/env python3


def main():
    a,b = map(int, input().split())
    for i in range(10):
        if (i+1)*a-i >= b:
            print(i+1)
            break

if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
a, b = map(int, input().split())
for i in range(10000):
    if a + i * a - i >= b:
        print(1 + i)
        break

Submission status: Wrong Answer

Solution code:
a, b = map(int, input().split())
cnt = 1
for i in range(10000):
    nextTap = (cnt-1) * (a-1) if cnt > 1 else 0
    if a + nextTap >= b:
        break
    cnt += 1
print(cnt)

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())
n = 0
while a * (n + 1) - n < b:
    n = n + 1

print(n + 1)

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())

res = b // a + 1

if a == b:
  res = 1
  
print(res)

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())

res = b // a + 1

if a == b:
  res = b / a
  
print(res)

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())

res = b // a + 1

if a == b:
  res = b // a
  
print(res)

Submission status: Wrong Answer

Solution code:
a,b = map(int,input().split())

res = b / a + 1

if a == b:
  res = b / a
  
print(res)

Submission status: Wrong Answer

Solution code:
import math
a,b=map(int,input().strip().split())
ans=1
sockets=0+a
while sockets<b:
  ans+=1
  sockets+=(a-1)
print(ans)

Submission status: Wrong Answer

Solution code:
import math
a,b=map(int,input().strip().split())
if a>b:
  print(0)
else:
  
  print(math.ceil(b/a))

Submission status: Wrong Answer

Solution code:
import math
a,b=map(int,input().strip().split())
print(math.ceil(b/a))

Submission status: Wrong Answer

Solution code:
import math
a,b=map(int,input().strip().split())
print(math.ceil(a/b))

Submission status: Wrong Answer

Solution code:
A, B = map(int, input().split())

N = 1
while A + (A-1)*(N-1) < B:
    N += 1

print(N)

Submission status: Wrong Answer

Solution code:
# template by 3xC and starkizard.
# contributors: 

#####################################################################################
from __future__ import division, print_function 

import sys
import os
from collections import Counter, deque, defaultdict
import itertools
import math
import io


"""Uncomment modules according to your need"""


# from bisect import bisect_left, bisect_right, insort
# from heapq import heappop, heapify, heappush
# from random import randint as rn
# from Queue import Queue as Q
# from copy import deepcopy
# from decimal import *
# import re
# import operator

#####################################################################################
# this enables you to write python3 code with PyPy2 (Python 2)
if sys.version_info[0] < 3:
    input = raw_input
    range = xrange

    filter = itertools.ifilter
    map = itertools.imap
    zip = itertools.izip

#####################################################################################

"""value of mod"""
MOD = 998244353
mod = 10**9 + 7

"""Uncomment next 4 lines if doing huge recursion"""
# import threading
# threading.stack_size(1<<27)
# sys.setrecursionlimit(10000

def prepare_factorial(mod=mod):
    """ returns two lists, factorial and inverse factorial modulo argument by default 10**9 +7 """
    # Comment code out when you don't need inverse factorial or vice versa
    fact = [1]
    for i in range(1, 200005):
        fact.append((fact[-1] * i) % mod)

    ifact = [0] * 200005
    ifact[200004] = pow(fact[200004], mod - 2, mod)
    for i in range(200004, 0, -1):
        ifact[i - 1] = (i * ifact[i]) % mod
 
    return fact, ifact

def modinv(n, p):
    """ returns N inverse modulo p """
    return pow(n, p - 2, p)
 
def ncr(n, r,  fact, ifact):
    """ takes 4 arguments: n , r and factorial and inverse factorial lists"""
    t = (fact[n] * (ifact[r]*ifact[n-r]) % MOD)% MOD
    return t


def get_n(Sum):    
    """this function returns the maximum n for which Summation(n) <= Sum"""
    ans = (-1 + sqrt(1 + 8*Sum))//2
    return ans

def sieve(n):
    """ returns a list of prime numbers till n """
    if n < 2: return list()
    prime = [True for _ in range(n + 1)]
    p = 3
    while p * p <= n:
        if prime[p]:
            for i in range(p * 2, n + 1, p):
                prime[i] = False
        p += 2
    r = [2]
    for p in range(3, n + 1, 2):
        if prime[p]:
            r.append(p)
    return r



def divs(n, start=1):
    """ returns a list of all divisors till n """
    divisors = []
    for i in range(start, int(math.sqrt(n) + 1)):
        if n % i == 0:
            if n / i == i:
                divisors.append(i)
            else:
                divisors.extend([i, n // i])
    return divisors



def divn(n, primes):
    """ returns the number of divisors, two arguments n and the sieve till n """
    divs_number = 1
    for i in primes:
        if n == 1:
            return divs_number
        t = 1
        while n % i == 0:
            t += 1
            n //= i
        divs_number *= t



def lrfind(d, x, default=-1):
    """ Takes 2 arguments an iterable and an element. returns a tuple (firstoccurence,lastoccurence) -1 if not found """
    left = right = -1
    for i in range(len(d)):
        if d[i] == x:
            if left == -1: left = i
            right = i
    if left == -1:
        return default, default
    else:
        return left, right

def gcd(x, y): # math.gcd is slower
    """ returns greatest common divisor of x and y """
    while y:
        x, y = y, x % y
    return x

def ceil(n, k): return n // k + (n % k != 0) #returns math.ceil but protecting against floating inconsistencies
def input(): return sys.stdin.readline().strip()
def ii(): return int(input()) #inputs integer
def mi(): return map(int, input().split()) # inputting space seperated variables for example x,y,z
def li(): return list(map(int, input().split())) #inputting a space seperated list of integers
def lw(): return input().split() #inputting a space seperated list of strings
def lcm(a, b): return abs(a * b) // gcd(a, b) #returns LCM of two arguments
def prr(a, sep=' ', end='\n'): print(sep.join(map(str, a)), end=end) #For printing an iterable with seperator sep as optional second argument (default : " "), ending character (default: "\n") as optional third
def dd(): return defaultdict(int) #returns a dictionary with values defaulted to 0
def ddl(): return defaultdict(list) #returns a dictionary with values defaulted to []
def write(s): return sys.stdout.write(s)

###################################################################
def main():
    #CODE GOES HERE:
    a,b=mi()
    c=ceil(b,a-1)
    print(c)
""" -------- Python 2 and 3 footer by Pajenegod and c1729 ---------"""
 
py2 = round(0.5)
if py2:
    from future_builtins import ascii, filter, hex, map, oct, zip
    range = xrange
 
import os, sys
from io import IOBase, BytesIO
 
BUFSIZE = 8192
 
class FastIO(BytesIO):
    newlines = 0
 
    def __init__(self, file):
        self._file = file
        self._fd = file.fileno()
        self.writable = "x" in file.mode or "w" in file.mode
        self.write = super(FastIO, self).write if self.writable else None
 
    def _fill(self):
        s = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
        self.seek((self.tell(), self.seek(0, 2), super(FastIO, self).write(s))[0])
        return s
 
    def read(self):
        while self._fill(): pass
        return super(FastIO, self).read()
 
    def readline(self):
        while self.newlines == 0:
            s = self._fill();
            self.newlines = s.count(b"\n") + (not s)
        self.newlines -= 1
        return super(FastIO, self).readline()
 
    def flush(self):
        if self.writable:
            os.write(self._fd, self.getvalue())
            self.truncate(0), self.seek(0)
 
 
class IOWrapper(IOBase):
 
    def __init__(self, file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        if py2:
            self.write = self.buffer.write
            self.read = self.buffer.read
            self.readline = self.buffer.readline
        else:
            self.write = lambda s: self.buffer.write(s.encode('ascii'))
            self.read = lambda: self.buffer.read().decode('ascii')
            self.readline = lambda: self.buffer.readline().decode('ascii')
 
 
sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
input = lambda: sys.stdin.readline().rstrip('\r\n')
# sys.stdin = open('input.txt', 'r')
# sys.stdout = open('output.txt', 'w')
 
""" main function"""
 
if __name__ == '__main__':
    main()
    # threading.Thread(target=main).start()