알고리즘 파괴자 대회에서 쓰는 소프트웨어는 Tomek W.가 만들었다. 올해는 Tomek M.이 이 소프트웨어를 관리하며 대회가 완벽하게 진행되도록 애쓰고 있다. 그래서인지 Tomek은 요즘 악몽을 꾼다. 어젯밤 그는 무한히 넓은 체스판 위를 뛰어다니는 나이트가 되는 꿈을 꾸었다.
나이트가 할 수 있는 이동은 두 정수쌍 (a,b)와 (c,d)로 정해진다. 칸 (x,y)에 있는 나이트는 (x+a,y+b), (x−a,y−b), (x+c,y+d), (x−c,y−d) 중 한 칸으로 이동할 수 있다.
나이트는 (0,0)에서 출발한다. 여러 번 이동해도 좋으니, (0,0)에서 도달할 수 있으면서 (0,0)이 아닌 칸 (x,y) 중에서 ∣x∣+∣y∣가 가장 작은 칸을 찾고 싶다.
다음을 수행하는 프로그램을 작성하여라.
첫째 줄에 네 정수 a, b, c, d가 주어진다 (−100000≤a,b,c,d≤100000). (a,b)와 (c,d)는 각각 (0,0)이 아니다.
∣x∣+∣y∣의 가능한 최솟값을 정수 하나로 출력한다.