def kwadraty(w,h,obrazy):
    if w == 0 or h == 0:
        return(0)
    wym = min(w,h)
    for kw in reversed(obrazy):
        if kw <= wym:
            dx,mx = divmod(w, kw)
            dy,my = divmod(h, kw)
            bok = kwadraty(mx,h, obrazy)
            dol = kwadraty(w-mx, my, obrazy)
            if bok == -1 or dol == -1:
                return(-1)
            return(dx*dy+bok+dol)
    return(-1)
w, h = map(int, input().split())
liczba = int(input())
obrazy = list(map(int, input().split()))
print(kwadraty(w,h,obrazy))
        1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  | def kwadraty(w,h,obrazy): if w == 0 or h == 0: return(0) wym = min(w,h) for kw in reversed(obrazy): if kw <= wym: dx,mx = divmod(w, kw) dy,my = divmod(h, kw) bok = kwadraty(mx,h, obrazy) dol = kwadraty(w-mx, my, obrazy) if bok == -1 or dol == -1: return(-1) return(dx*dy+bok+dol) return(-1) w, h = map(int, input().split()) liczba = int(input()) obrazy = list(map(int, input().split())) print(kwadraty(w,h,obrazy))  | 
            
        
                    English