# from collections import defaultdict, deque, Counter
# from functools import cache
# # import copy
# # from itertools import combinations, permutations, product, accumulate, groupby, chain
# # from more_itertools import distinct_permutations
# from heapq import heapify, heappop, heappush
# import math
# import bisect
# from pprint import pprint
# from random import randint, shuffle, randrange
# import sys
# # sys.setrecursionlimit(200000)
# input = lambda: sys.stdin.readline().rstrip('\n')
# inf = float('inf')
# mod1 = 10**9+7
# mod2 = 998244353
# def ceil_div(x, y): return -(-x//y)

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

a, b, c, d = map(int, input().split())
if a == 0:
    print(d//b)
elif b == 0:
    print(c//a)
else:
    print(min(c//a, d//b))