# 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))