카르테시아 정복

N×M 직사각형을 변의 비가 2:1인 직사각형 조각들로 채우되 매 단계 합집합이 직사각형이 되도록 하나씩 추가할 때, 조각 수의 최솟값과 최댓값을 구하는 문제입니다.

어려움8수학정수론그리디구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

옛날 카르테시아 땅에는 직사각형 제국이 있었다. 제국은 크고 부유했으며, 자주 이웃을 정복해 영토를 넓혔다. 이 문명의 풍습 가운데 상당수는 오늘날 뜻을 알 수 없지만, 땅을 나누던 방식만은 기록으로 남아 있다.

제국의 영토는 여러 구역으로 나뉘어 있었고, 구역은 다음 세 조건을 언제나 지켰다.

  1. 제국이 다스리는 모든 땅은 정확히 하나의 구역에 속한다.
  2. 지도 위에서 각 구역의 경계는 직사각형이고, 긴 변의 길이는 짧은 변의 길이의 정확히 두 배이다.
  3. 구역의 두 변의 길이는 Ξ 단위로 재면 정수이다. Ξ는 직사각형 제국에서 쓰던 길이 단위이다.

제국은 처음 세워질 때 구역 하나로 이루어져 있었다. 그 뒤로는 이웃 땅을 정복해 구역을 늘렸고, 새 땅을 차지할 때마다 그 땅 전체를 새 구역 하나로 삼았다. 두 정복이 동시에 일어난 적은 없다. 국경이 바뀌는 방법은 새 구역을 더하는 것뿐이었고, 한 번 생긴 구역은 다시 나뉘거나 모양이 바뀌거나 다른 구역과 합쳐지지 않았다.

제국이 가장 중요하게 여긴 풍습은 정복이 끝날 때마다 영토 전체가 반드시 직사각형이어야 한다는 것이다. 영토 전체는 각 구역과 달리 두 변의 비가 2:12:1일 필요는 없다.

고고학자들은 어느 시점에 제국의 영토가 Ξ로 재어 N×MN \times M이었다는 사실을 밝혀냈다. 카르테시아는 무한히 넓은 평면이므로 NNMM이 아주 커도 이상하지 않다. 제국이 세워지고 넓어진 모든 경우를 생각할 때, 그 시점의 구역 수로 가능한 최솟값과 최댓값을 구하여라.

입력

첫째 줄에 두 정수 NNMM이 주어진다. (1N,M1081 \le N, M \le 10^8)

출력

첫째 줄에 구역 수의 최솟값과 최댓값을 공백으로 구분해 출력한다. N×MN \times M 제국을 만드는 건국과 정복 과정이 하나도 없으면 대신 -1 -1을 출력한다.

힌트

아래 그림은 10×610 \times 6 제국에서 구역 수가 최솟값 5가 되는 경우와 최댓값 8이 되는 경우를 어떻게 만드는지 보여 준다. 구역에 붙은 #1, #2, #3, ...은 구역이 더해진 순서이고, 괄호 안의 (k×2k)(k \times 2k) 또는 (2k×k)(2k \times k)는 그 구역의 크기이다.