import collections,sys,math,functools,operator,itertools,bisect,heapq,decimal,string,time,random #input = sys.stdin.readline #sys.setrecursionlimit(10**9) #n = int(input()) #alist = list(map(int,input().split())) #alist = [] #s = input() a,b = map(int,input().split()) c,d = map(int,input().split()) #for i in range(n): # alist.append(list(map(int,input().split()))) if a == b == c == d == 0: print(0,0) exit() d1 = math.gcd(a,b,c,d) print(d1,abs(a*d - b*c)//d1)