Diagonal Cut
시간 제한1초메모리 제한1024 MB
한 모서리에서 반대편 모서리로 그은 대각선이 넓이가 같은 두 조각으로 정확히 나누는 격자 칸의 개수를 구한다. 격자의 크기는 10^18까지 주어진다.
문제
Quido와 Hugo는 초콜릿 케이크를 만든다. 케이크의 주재료는 커다란 초콜릿 바이며, 포장을 뜯은 채 부엌 테이블 위에 놓여 있다. 초콜릿 바는 M × N 개의 초콜릿 블록으로 이루어진 직사각형 격자다. MN 개의 블록은 모두 모양과 크기가 같은 직사각형이다. 이 초콜릿 바는 최상급이라서, 두 사람은 나머지를 케이크에 쓰기 전에 일부를 먹으려 한다.
“좋아,” Quido가 말한다. “초콜릿 바 전체를 왼쪽 위 모서리에서 오른쪽 아래 모서리로 곧게 대각선으로 잘라 두 개의 삼각형 덩어리로 나누자. 그런 다음 정확히 반으로, 즉 넓이가 같은 두 조각으로 잘린 블록을 모두 먹자. 그런 블록은 네가 한쪽 반을 먹고 내가 다른 쪽 반을 먹는다. 그 밖의 블록, 즉 잘리지 않았거나 크기가 다른 두 조각으로 잘린 블록은 그대로 케이크에 들어간다. 물론 자르는 선은 완벽하게 정확하게 한다.
우리가 초콜릿을 얼마나 먹게 되는지 보자!”
입력
입력은 한 줄에 공백으로 구분된 두 정수 M과 N으로 이루어진다 (1 ≤ M, N ≤ 10^18). M과 N은 각각 초콜릿 바에서 한 열과 한 행에 있는 블록의 수를 나타낸다.
출력
초콜릿 바의 블록 중 넓이가 같은 정확히 두 조각으로 잘리는 블록의 수를 출력한다.