만드는 중입니다

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

딱정벌레 저녁 식사

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

요약
주어진 원 안이나 원 위에 있으면서, 팀온과 펌바를 잇는 직선 위에 놓인 정수 좌표 점의 개수를 구합니다.
난이도

보통10점 중 6점

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

문제

티몬은 쓰러진 나무 아래에서 맛있는 딱정벌레를 많이 찾고, 산책 중인 품바를 큰 소리로 불러 저녁을 먹자고 한다.

티몬과 품바 근처에는 사람이 심은 숲이 있다. 이 숲의 나무는 어떤 원의 내부나 경계 위에 있는 정수 좌표의 점에서만 자란다.

품바는 티몬에게 가서 저녁을 먹으려면 자신이 있는 점과 티몬이 있는 점을 잇는 직선을 따라 움직여야 한다. 그는 자신, 티몬, 그리고 저녁이 같은 직선 위에 놓이는 숲의 나무가 몇 그루인지 알고 싶어 한다.

입력

첫 줄에 정수 xx, yy, rr (1≤r≤1091 \le r \le 10^9)이 주어진다. 이는 숲을 이루는 원의 중심 좌표와 반지름이다. 둘째 줄에는 정수 xtx_t, yty_t, xpx_p, ypy_p가 주어진다. 이는 티몬과 품바의 좌표이다. 품바와 티몬은 모두 숲의 내부에 있지 않다고 보장된다. 모든 좌표의 절댓값은 10910^9을 넘지 않는다.

출력

품바가 티몬에게 가는 길 위에 있는 나무의 수를 한 줄에 출력한다.

힌트

품바가 관심을 두는 대상은 그와 티몬 사이 선분 위의 나무만이 아니다. 선분 밖에 있더라도 같은 직선 위에 있는 점도 센다.

예제1

  1. 예제 1

    입력
    0 0 5
    -10 1 10 1
    
    예상 출력
    9