만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Fractification

면접 대비

시간 제한2초메모리 제한512 MB

요약
양의 정수 네 개를 두 분수 a/b + c/d로 배치해 합이 최소가 되도록 만들고, 그 배치를 출력한다.
난이도

보통10점 중 4점

유형
그리디, 정렬, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

어린아이들은 장난감을 부수는 것을 무척 좋아한다. 어린 Andrew도 예외가 아니어서, 눈에 보이는 모든 것을 조각조각 부순다. 이번에는 네 개의 양의 정수로 이루어진 집합을 부수려고 한다.

네 정수 (aa, bb, cc, dd)의 fractification을 다음과 같이 정의하자. ab+cd\frac{a}{b} + \frac{c}{d} 어린 Andrew는 자신보다 큰 것을 좋아하지 않으므로, fractification이 최대한 작기를 바란다.

주어진 네 정수를 마음대로 서로 바꿔 자리를 바꿀 수 있을 때, fractification을 가능한 한 작게 만드는 방법을 Andrew에게 알려 주자.

입력

첫 번째 줄이자 유일한 줄에 네 개의 양의 정수 aa, bb, cc, dd가 공백으로 구분되어 주어진다 (1≤a,b,c,d≤1091 \le a, b, c, d \le 10^9).

출력

주어진 네 정수의 순열 중 fractification이 최소가 되는 네 정수를 출력한다. 그러한 순열이 여러 개라면 아무거나 출력한다.

힌트

첫 번째 예제의 출력 순열은 13+24=56\frac{1}{3} + \frac{2}{4} = \frac{5}{6} 를 만들어 주며, 이 값이 최소이다.

두 번째 예제에서는 가능한 출력이 하나뿐이며 그 값은 55+55=2\frac{5}{5} + \frac{5}{5} = 2 이다.

예제2

  1. 예제 1

    입력
    1 2 3 4
    
    예상 출력
    1 3 2 4
    
  2. 예제 2

    입력
    5 5 5 5
    
    예상 출력
    5 5 5 5