만드는 중입니다

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

직소 퍼즐

면접 대비

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

요약
코너 조각, 가장자리 조각, 가운데 조각의 개수가 주어질 때 완성된 w 곱하기 h 직소 퍼즐이 되는지 판정하고 가능한 크기를 출력한다.
난이도

보통10점 중 4점

유형
수학, 구현, 완전 탐색, 정수론
정답자
아직 제출이 없습니다

문제

집 다락에서 이전 거주자가 두고 간 오래된 직소 퍼즐을 발견했다. 퍼즐을 좋아하니 맞춰 보기로 했다. 그런데 시작하기 전에, 이 퍼즐이 왜 남겨졌는지 알고 싶다. 조각이 모자란 걸까? 상자에 여러 퍼즐의 조각이 섞여 있는 걸까?

완성된 퍼즐처럼 보인다면, 작업대가 얼마나 커야 하는지도 알아야 한다. 작은 탁자에서 시작했다가 처음부터 다시 맞추는 것보다 나쁜 일은 없다.

상자에는 퍼즐의 크기 w×hw \times h가 적혀 있지 않지만, 상자 안의 세 종류 조각 수는 금방 셀 수 있다.

  • 모서리 조각: 퍼즐의 두 변에 닿는 조각.
  • 변 조각: 퍼즐의 한 변에 닿는 조각.
  • 가운데 조각: 퍼즐의 어떤 변에도 닿지 않는 조각.

이 조각들로 완성된 직소 퍼즐을 만들 수 있을까? 만들 수 있다면 원래 퍼즐의 크기는 얼마였을까?

입력

한 줄에 세 정수 cc, ee, mm (0≤c,e,m≤1090\leq c,e,m\leq10^9)이 주어진다. 각각 모서리 조각, 변 조각, 가운데 조각의 수다.

출력

원래 직소 퍼즐의 크기가 w×hw\times h였을 수 있는 w≥h≥2w\geq h\geq 2인 수 ww와 hh가 존재하면, 한 줄에 ww와 hh를 출력한다. 그렇지 않으면 "impossible"을 출력한다.

가능한 답이 여러 개면 아무거나 하나 출력해도 된다.

예제4

  1. 예제 1

    입력
    4 8 4
    
    예상 출력
    4 4
    
  2. 예제 2

    입력
    4 10 14
    
    예상 출력
    impossible
    
  3. 예제 3

    입력
    4 12 6
    
    예상 출력
    impossible
    
  4. 예제 4

    입력
    4 2048 195063
    
    예상 출력
    773 255