로봇 청소기

문제

LG ThinQ는 LG전자의 AI 플랫폼으로, 가전제품의 상태를 실시간으로 모니터링하고 사용자에게 맞춤형 서비스를 제공한다.

LG ThinQ AI를 탑재한 로봇 청소기가 정사각형 모양의 방안에 놓여 있다. 이 로봇은 방바닥을 109×109 크기의 격자로 나누어 각 칸에 오염물질이 있는지를 판단할 수 있다. 편의상 오염물질이 있는 칸을 오염된 칸이라고 하자. 위에서 y번째 가로줄에서 왼쪽에서 x번째에 있는 칸의 좌표를 (x,y)라고 할 때, 이 로봇은 N개의 서로 다른 오염된 칸의 위치 정보를 다음의 압축 과정을 거쳐 서버로 전송한다.

  1. 오염된 칸들의 좌표 (x,y)x좌표가 증가하는 순서로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한다.
  2. 이렇게 정렬된 좌표들의 x좌표를 제거하고 y좌표만 순서대로 서버로 보낸다.

두 오염된 칸이 서로 상하좌우로 인접하면 같은 오염 영역에 속한다고 할 때, 서버는 로봇이 보낸 데이터를 받아서 오염 영역의 개수를 추측하여야 한다. 서버가 받은 데이터가 주어질 때, 가능한 오염 영역의 개수의 최솟값과 최댓값을 구하시오.

입력

첫째 줄에는 오염된 칸의 개수 N이 주어진다. (1N200000)

다음 N줄에 걸쳐, 서버가 받은 오염된 칸들의 y좌표를 의미하는 N개의 정수 y1,,yN이 한 줄에 하나씩 순서대로 주어진다. (1yi109)

출력

첫째 줄에 오염 영역의 개수의 최솟값을 출력한다.

둘째 줄에 오염 영역의 개수의 최댓값을 출력한다.

예제 입력 1 복사

6
1
3
4
1
2
3

예제 출력 1 복사

1
6