아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

냠냠

시간 제한1초메모리 제한128 MB

요약
(n+1) x (m+1) 격자에서 개구리가 서 있는 한 점을 뺀 모든 정수 좌표 점을 덮는 데 필요한 직선의 최소 개수를 구한다.
난이도

보통10점 중 5점

유형
수학, 정수론, 기하, 조합론
정답자
아직 제출이 없습니다

문제

사람만 꿈을 꿀까요? 만약 그렇다면 아래 이야기는 믿기 어려울지도 모릅니다…

납작한 개구리 한 마리가, 가로 nn, 세로 mm 크기의 납작한 직사각형 방 한쪽 구석에 앉아 있는 꿈을 꾸었습니다. 꿈속에서 방은 냠냠, 맛있는 파리들로 가득했습니다. 파리들은 개구리가 서 있는 점을 제외한, 방 안의 모든 정수 좌표 점에 앉아 있었습니다. 냠냠. 그래서 방 안에는 모두 (n+1)(m+1)−1(n + 1)(m + 1) - 1 마리의 맛있는 파리가 있었습니다. 꿈은 오래가지 않았습니다. 잠에서 깬 개구리는 이 파리들을 모두 먹으려면 얼마나 힘이 들지 생각하기 시작했습니다. 냠냠.

개구리의 혀는, 아이라면 누구나 알듯이 아주 길어서(방 안의 어떤 파리에게도 닿습니다) 직선 방향으로 쭉 뻗을 수 있습니다. 개구리가 어떤 방향으로 혀를 뻗으면, 그 직선 위에 놓인 모든 파리가 냠냠 혀에 달라붙어 먹힙니다. 냠냠. 개구리를 도와, 방 안의 모든 파리를 먹으려면 혀를 최소 몇 번 뻗어야 하는지 알려주세요. 파리는 점이고, 혀는 무한히 가늘다고 가정합니다.

입력

첫째 줄에 테스트의 개수를 나타내는 자연수 dd (1≤d≤1001 \le d \le 100)가 주어지고, 이어지는 줄들에 각 테스트의 설명이 주어집니다.

각 테스트는 두 정수 nn, mm (0≤n,m≤1060 \le n, m \le 10^6)이 적힌 한 줄로 이루어집니다.

출력

각 테스트마다, 방 안의 모든 파리(냠냠)를 먹기 위해 개구리가 혀를 뻗어야 하는 최소 횟수를 한 줄에 출력합니다.

힌트

예제2

  1. 예제 1

    입력
    5
    0 0
    0 1
    0 2
    2 3
    5 4
    
    예상 출력
    0
    1
    1
    7
    17
    
  2. 예제 2

    입력
    3
    1 1
    1 0
    0 1
    
    예상 출력
    3
    1
    1