만드는 중입니다

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

초등 수학

시간 제한10초메모리 제한256 MB

요약
주어진 n개 정수 쌍마다 덧셈, 뺄셈, 곱셈 중 하나를 골라 모든 결과가 서로 다르게 하고 사전 순으로 가장 앞선 배치를 출력합니다.
난이도

보통10점 중 7점

유형
그래프, 그리디
정답자
아직 제출이 없습니다

문제

엘렌은 초등학생에게 수학을 가르치고 있고, 곧 기말고사를 낸다. 기말고사는 nn개의 문제로 이루어진다. 문제마다 학생은 정수 두 개를 더하거나(+), 빼거나(-), 곱한다(*).

엘렌은 정수 쌍 nn개를 이미 골라 두었다. 이제 쌍마다 어떤 연산을 시킬지 정하면 된다. 학생이 지루해하지 않도록 nn개의 계산 결과는 모두 서로 달라야 한다.

엘렌이 시험을 잘 준비하도록 도와주자.

입력

첫째 줄에 쌍의 개수 nn이 주어진다. (1≤n≤25001 \le n \le 2500)

다음 nn개 줄에 쌍을 이루는 두 정수 aa와 bb가 공백으로 구분되어 한 줄에 하나씩 주어진다. (−106≤a,b≤106-10^6 \le a, b \le 10^6)

출력

조건을 만족하는 배정이 있으면 입력과 같은 순서로 nn개 줄을 출력한다. ii번째 줄은 a op b = c 형태이고, op는 +, -, * 중 하나, c는 그 연산의 결과이다. 각 요소는 공백 하나로 구분한다. nn개의 결과는 모두 서로 달라야 한다.

조건을 만족하는 배정이 여러 개일 수 있으므로 다음 기준으로 하나만 출력한다. 연산자를 입력 순서대로 이어 붙인 문자열을 +, -, * 순서로 비교해서 가장 작은 것을 출력한다. 즉 첫 번째 쌍부터 차례로 보면서, 남은 쌍에 서로 다른 결과를 모두 줄 수 있는 한 +를 쓰고, 안 되면 -, 그래도 안 되면 *를 쓴다.

조건을 만족하는 배정이 없으면 impossible을 출력한다.

예제3

  1. 예제 1

    입력
    4
    1 5
    3 3
    4 5
    -1 -6
    
    예상 출력
    1 + 5 = 6
    3 - 3 = 0
    4 + 5 = 9
    -1 + -6 = -7
    
  2. 예제 2

    입력
    4
    -4 2
    -4 2
    -4 2
    -4 2
    
    예상 출력
    impossible
    
  3. 예제 3

    입력
    3
    2 2
    2 2
    3 3
    
    예상 출력
    2 + 2 = 4
    2 - 2 = 0
    3 + 3 = 6