import sys sys.setrecursionlimit(10 ** 6) INF = float('inf') MOD = 10**9 + 7 def solve(): def II(): return int(sys.stdin.readline()) def LI(): return list(map(int, sys.stdin.readline().split())) def LC(): return list(input()) def IC(): return [int(c) for c in input()] def MI(): return map(int, sys.stdin.readline().split()) N= II() K = II() def make_divisors(n): lower_divisors, upper_divisors = [], [] i = 1 while i * i <= n: if n % i == 0: lower_divisors.append(i) if i != n // i: upper_divisors.append(n // i) i += 1 return lower_divisors + upper_divisors[::-1] Div = make_divisors(K) Dl = len(Div) from math import ceil Ans = 0 for n in range(Dl): Divmin = Div[n] Divmax = Div[Dl-n-1] #print(Divmin,Divmax) #print(min(Divmin-1,2*N-Divmin+1),min(Divmax-1,2*N-Divmax+1)) Ans += max(min(Divmin-1,2*N-Divmin+1) * min(Divmax-1,2*N-Divmax+1),0) #print(Ans) print(Ans) return solve()