해결한 사람
0
명
정답률
0.00
%
시간 제한
4000
ms
메모리 제한
245
MB
Arkady는 저녁을 먹고 싶다. 그는 방금 가게에서 반조리 커틀릿을 사서 돌아왔다. 이제 커틀릿을 굽기만 하면 된다. 커틀릿은 2n초 동안 구워야 하며, 구체적으로 한쪽 면을 n초, 다른 쪽 면을 n초 동안 구워야 한다. Arkady는 이미 프라이팬을 준비하고 불을 켰지만, 조리를 시작한 뒤 정확히 n초가 지났을 때 커틀릿을 뒤집지 못할 수도 있다는 것을 깨달았다.
Arkady는 자신이 가장 좋아하는 메신저에서 스티커 팩을 정리하느라 너무 바빠서 특정 시간 구간에만 커틀릿을 뒤집을 수 있다. 구체적으로 그가 커틀릿을 뒤집을 수 있는 시간 구간이 k개 있으며, 그중 i-th번째 구간은 조리를 시작한 뒤 li초가 지난 시점부터 ri초가 지난 시점까지이며 양 끝점을 포함한다. Arkady는 조리 시간의 정확한 중간에 커틀릿을 뒤집을 필요는 없다고 판단했다. 대신 커틀릿의 한쪽 면을 총 정확히 n초, 다른 쪽 면을 총 정확히 n초 동안 굽도록 여러 번 뒤집을 것이다.
Arkady가 주어진 시간 구간에만 커틀릿을 뒤집을 수 있을 때 커틀릿을 조리할 수 있는지 알아내고, 가능하다면 커틀릿을 조리하는 데 필요한 최소 뒤집기 횟수를 구하도록 도와주자.
첫 번째 줄에 두 정수 n와 k (1 ≤ n ≤ 100 000, 1 ≤ k ≤ 100)가 주어진다. 각각 커틀릿의 각 면을 구워야 하는 시간(초)과 Arkady가 커틀릿을 뒤집을 수 있는 시간 구간의 개수이다.
다음 k개의 줄에는 이 구간들에 대한 설명이 주어진다. 각 줄에는 두 정수 li와 ri (0 ≤ li ≤ ri ≤ 2·n)가 주어지며, 이는 Arkady가 조리를 시작한 뒤 li초가 지난 시점부터 ri초가 지난 시점까지의 어느 순간에나 커틀릿을 뒤집을 수 있다는 뜻이다. 특히 li = ri이면 Arkady는 li = ri인 순간에만 커틀릿을 뒤집을 수 있다. 모든 2 ≤ i ≤ k에 대해 li > ri - 1임이 보장된다.
Arkady가 커틀릿의 한쪽 면을 정확히 n초, 다른 쪽 면을 정확히 n초 동안 구울 수 없다면 "Hungry"를 출력한다.
그렇지 않다면 첫 번째 줄에 "Full"을 출력하고, 두 번째 줄에 커틀릿을 뒤집어야 하는 최소 횟수를 출력한다.
10 3
3 5
9 10
11 13
Full
1
10 2
3 5
11 13
Full
2
20 1
3 19
Hungry
첫 번째 예제에서 Arkady는 조리를 시작한 뒤 3초가 지난 시점과 13초가 지난 시점에 커틀릿을 뒤집어야 한다.
두 번째 예제에서 Arkady는 조리를 시작한 뒤 10초가 지난 시점에 커틀릿을 뒤집을 수 있다.