시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB163383627.692%

문제

부 뎅클렉은 메기 양어장을 가지고 있다. 양어장은 $N \times N$ 격자칸 모양이다. 격자의 칸들은 같은 크기의 정사각형이다. 격자의 열들은 서쪽에서 동쪽으로 $0$부터 $N - 1$까지 번호가 붙어 있고, 행들은 남쪽에서 북쪽으로 $0$부터 $N - 1$까지 번호가 붙어있다. 열 $c$, 행 $r$에 ($0 \le c \le N - 1$, $0 \le r \le N - 1$) 있는 칸을 칸 $(c, r)$로 부른다.

양어장에는 $M$ 마리의 메기가 있다. 메기들은 $0$부터 $M - 1$까지 번호가 붙어 있고, 모두 다른 칸에 있다. 각각의 $i$에 대해 ($0 \le i \le M - 1$) 메기 $i$는 칸 $(X[i], Y[i])$에 있고, 그 무게는 $W[i]$그램이다.

부 뎅클렉은 메기를 잡기 위해 낚시터를 지으려고 한다. 열 $c$에 있는 길이 $k$인 낚시터는 ($0 \le c \le N - 1$, $1 \le k \le N$), 열 $c$의 행 $0$부터 행$k - 1$까지를 덮는 직사각형이다. 즉, 낚시터는 칸들 $(c, 0), (c, 1), \ldots, (c, k - 1)$를 덮는다. 각 열에 대해서 부 뎅클렉은 특정한 길이의 낚시터를 짓거나, 낚시터를 전혀 짓지 않는 것 중 선택을 할 수 있다.

메기 $i$를 ($0 \le i \le M - 1$) 잡기 위해서는 메기 $i$의 위치의 서쪽이나 동쪽에 인접한 칸을 낚시터가 덮어야 하며, 메기 $i$의 위치는 낚시터가 덮지 않아야 한다. 다시 말하면,

  • 칸들 $(X[i] - 1, Y[i])$와 $(X[i] + 1, Y[i])$ 중 적어도 하나가 낚시터에 덮이고,
  • 칸 $(X[i], Y[i])$는 낚시터에 덮이지 않아야 한다.

예를 들어, $N = 5$인 양어장에 $M = 4$마리의 메기가 있다고 하자.

  • 메기 $0$의 위치는 칸 $(0, 2)$이고 그 무게는 $5$그램이다.
  • 메기 $1$의 위치는 칸 $(1, 1)$이고 그 무게는 $2$그램이다.
  • 메기 $2$의 위치는 칸 $(4, 4)$이고 그 무게는 $1$그램이다.
  • 메기 $3$의 위치는 칸 $(3, 3)$이고 그 무게는 $3$그램이다.

부 뎅클렉이 낚시터를 지을 수 있는 방법 중 하나는 아래와 같다.

낚시터 짓기 전 낚시터 지은 후

칸에 표시된 자연수는 그 칸에 있는 메기의 무게이다. 색칠된 칸들이 낚시터에 덮인 곳이다. 이 경우 잡을 수 있는 메기는 메기 $0$(칸 $(0, 2)$에 위치)과 메기 $3$(칸 $(3, 3)$에 위치)이다. 메기 $1$(칸 $(1, 1)$에 위치)는 그 칸이 낚시터에 덮여 있어 잡을 수 없다. 메기 $2$(칸 $(4, 4)$에 위치)는 서쪽이나 동쪽에 인접한 칸이 낚시터로 덮인 것이 없어 잡을 수 없다.

부 뎅클렉은 잡을 수 있는 메기의 무게의 합이 가장 크도록 낚시터를 짓고 싶다. 잡을 수 있는 메기의 최대 무게 합을 계산하는 프로그램을 작성하라.

구현

당신은 다음 함수를 구현해야 한다:

int64 max_weights(int N, int M, int[] X, int[] Y, int[] W)
  • $N$: 양식장의 크기.
  • $M$: 메기의 마리 수.
  • $X$, $Y$: 메기의 위치를 표현한 크기 $M$인 배열들.
  • $W$: 메기의 무게를 표현한 크기 $M$인 배열.
  • 이 함수는 부 뎅클렉이 낚시터를 지어서 잡을 수 있는 최대의 메기 무게 합을 리턴해야 한다.
  • 이 함수는 정확히 한번 호출된다.

예제

다음 호출을 생각하자:

max_weights(5, 4, [0, 1, 4, 3], [2, 1, 4, 3], [5, 2, 1, 3])

이 예제는 위의 문제 설명에 있는 것과 같다.

문제 설명에 있는 것과 같이 낚시터를 지으면, 부 뎅클렉은 메기 $0$과 $3$을 잡을 수 있고, 무게의 합은 $5 + 3 = 8$ 그램이다. 이 방법이 최선이며 함수는 $8$을 리턴해야 한다.

제한

  • $2 \le N \le 100\,000$
  • $1 \le M \le 300\,000$
  • $0 \le X[i] \le N - 1$, $0 \le Y[i] \le N - 1$ ($0 \le i \le M - 1$)
  • $1 \le W[i] \le 10^9$ ($0 \le i \le M - 1$)
  • 메기들의 위치는 모두 다르다. 즉, $X[i] \neq X[j]$ 혹은 $Y[i] \neq Y[j]$ ($0 \le i \lt j \le M - 1$).

서브태스크

번호배점제한
13

$X[i]$가 짝수 ($0 \le i \le M - 1$)

26

$X[i] \le 1$ ($0 \le i \le M - 1$)

39

$Y[i] = 0$ ($0 \le i \le M - 1$)

414

$N \le 300$, $Y[i] \le 8$ ($0 \le i \le M - 1$)

521

$N \le 300$

617

$N \le 3000$

714

각 열에는 최대 $2$ 마리의 메기가 있다.

816

추가적인 제한이 없다.

W3sicHJvYmxlbV9pZCI6IjI1NDM4IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHViYTU0XHVhZTMwIFx1YjE4ZFx1YzdhNSIsImRlc2NyaXB0aW9uIjoiPHA+XHViZDgwIFx1YjM4NVx1ZDA3NFx1YjgwOVx1Yzc0MCBcdWJhNTRcdWFlMzAgXHVjNTkxXHVjNWI0XHVjN2E1XHVjNzQ0IFx1YWMwMFx1YzljMFx1YWNlMCBcdWM3ODhcdWIyZTQuIFx1YzU5MVx1YzViNFx1YzdhNVx1Yzc0MCAkTiBcXHRpbWVzIE4kIFx1YWNhOVx1Yzc5MFx1Y2U3OCBcdWJhYThcdWM1OTFcdWM3NzRcdWIyZTQuIFx1YWNhOVx1Yzc5MFx1Yzc1OCBcdWNlNzhcdWI0ZTRcdWM3NDAgXHVhYzE5XHVjNzQwIFx1ZDA2Y1x1YWUzMFx1Yzc1OCBcdWM4MTVcdWMwYWNcdWFjMDFcdWQ2MTVcdWM3NzRcdWIyZTQuIFx1YWNhOVx1Yzc5MFx1Yzc1OCBcdWM1ZjRcdWI0ZTRcdWM3NDAgXHVjMTFjXHVjYWJkXHVjNWQwXHVjMTFjIFx1YjNkOVx1Y2FiZFx1YzczY1x1Yjg1YyAkMCRcdWJkODBcdWQxMzAgJE4gLSAxJFx1YWU0Y1x1YzljMCBcdWJjODhcdWQ2MzhcdWFjMDAgXHViZDk5XHVjNWI0IFx1Yzc4OFx1YWNlMCwgXHVkNTg5XHViNGU0XHVjNzQwIFx1YjBhOFx1Y2FiZFx1YzVkMFx1YzExYyBcdWJkODFcdWNhYmRcdWM3M2NcdWI4NWMgJDAkXHViZDgwXHVkMTMwICROIC0gMSRcdWFlNGNcdWM5YzAgXHViYzg4XHVkNjM4XHVhYzAwIFx1YmQ5OVx1YzViNFx1Yzc4OFx1YjJlNC4gXHVjNWY0ICRjJCwgXHVkNTg5ICRyJFx1YzVkMCAoJDAgXFxsZSBjIFxcbGUgTiAtIDEkLCAkMCBcXGxlIHIgXFxsZSBOIC0gMSQpIFx1Yzc4OFx1YjI5NCBcdWNlNzhcdWM3NDQgXHVjZTc4ICQoYywgcikkXHViODVjIFx1YmQ4MFx1Yjk3OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNTkxXHVjNWI0XHVjN2E1XHVjNWQwXHViMjk0ICRNJCBcdWI5YzhcdWI5YWNcdWM3NTggXHViYTU0XHVhZTMwXHVhYzAwIFx1Yzc4OFx1YjJlNC4gXHViYTU0XHVhZTMwXHViNGU0XHVjNzQwICQwJFx1YmQ4MFx1ZDEzMCAkTSAtIDEkXHVhZTRjXHVjOWMwIFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWJkOTlcdWM1YjQgXHVjNzg4XHVhY2UwLCBcdWJhYThcdWI0NTAgPHN0cm9uZz5cdWIyZTRcdWI5Nzg8XC9zdHJvbmc+IFx1Y2U3OFx1YzVkMCBcdWM3ODhcdWIyZTQuIFx1YWMwMVx1YWMwMVx1Yzc1OCAkaSRcdWM1ZDAgXHViMzAwXHVkNTc0ICgkMCBcXGxlIGkgXFxsZSBNIC0gMSQpIFx1YmE1NFx1YWUzMCAkaSRcdWIyOTQgXHVjZTc4ICQoWFtpXSwgWVtpXSkkXHVjNWQwIFx1Yzc4OFx1YWNlMCwgXHVhZGY4IFx1YmIzNFx1YWM4Y1x1YjI5NCAkV1tpXSRcdWFkZjhcdWI3YThcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YmQ4MCBcdWIzODVcdWQwNzRcdWI4MDlcdWM3NDAgXHViYTU0XHVhZTMwXHViOTdjIFx1YzdhMVx1YWUzMCBcdWM3MDRcdWQ1NzQgXHViMDlhXHVjMmRjXHVkMTMwXHViOTdjIFx1YzljMFx1YzczY1x1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuIFx1YzVmNCAkYyRcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YWUzOFx1Yzc3NCAkayRcdWM3NzggXHViMDlhXHVjMmRjXHVkMTMwXHViMjk0ICgkMCBcXGxlIGMgXFxsZSBOIC0gMSQsICQxIFxcbGUgayBcXGxlIE4kKSwgXHVjNWY0ICRjJFx1Yzc1OCBcdWQ1ODkgJDAkXHViZDgwXHVkMTMwIFx1ZDU4OSRrIC0gMSRcdWFlNGNcdWM5YzBcdWI5N2MgXHViMzZlXHViMjk0IFx1YzljMVx1YzBhY1x1YWMwMVx1ZDYxNVx1Yzc3NFx1YjJlNC4gXHVjOTg5LCBcdWIwOWFcdWMyZGNcdWQxMzBcdWIyOTQgXHVjZTc4XHViNGU0ICQoYywgMCksIChjLCAxKSwgXFxsZG90cywgKGMsIGsgLSAxKSRcdWI5N2MgXHViMzZlXHViMjk0XHViMmU0LiBcdWFjMDEgXHVjNWY0XHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExYyBcdWJkODAgXHViMzg1XHVkMDc0XHViODA5XHVjNzQwIFx1ZDJiOVx1YzgxNVx1ZDU1YyBcdWFlMzhcdWM3NzRcdWM3NTggXHViMDlhXHVjMmRjXHVkMTMwXHViOTdjIFx1YzlkM1x1YWM3MFx1YjA5OCwgXHViMDlhXHVjMmRjXHVkMTMwXHViOTdjIFx1YzgwNFx1ZDYwMCBcdWM5ZDNcdWM5YzAgXHVjNTRhXHViMjk0IFx1YWM4MyBcdWM5MTEgXHVjMTIwXHVkMGRkXHVjNzQ0IFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWJhNTRcdWFlMzAgJGkkXHViOTdjICgkMCBcXGxlIGkgXFxsZSBNIC0gMSQpIFx1YzdhMVx1YWUzMCBcdWM3MDRcdWQ1NzRcdWMxMWNcdWIyOTQgXHViYTU0XHVhZTMwICRpJFx1Yzc1OCBcdWM3MDRcdWNlNThcdWM3NTggXHVjMTFjXHVjYWJkXHVjNzc0XHViMDk4IFx1YjNkOVx1Y2FiZFx1YzVkMCBcdWM3NzhcdWM4MTFcdWQ1NWMgXHVjZTc4XHVjNzQ0IFx1YjA5YVx1YzJkY1x1ZDEzMFx1YWMwMCBcdWIzNmVcdWM1YjRcdWM1N2MgXHVkNTU4XHViYTcwLCBcdWJhNTRcdWFlMzAgJGkkXHVjNzU4IFx1YzcwNFx1Y2U1OFx1YjI5NCBcdWIwOWFcdWMyZGNcdWQxMzBcdWFjMDAgXHViMzZlXHVjOWMwIFx1YzU0YVx1YzU0NFx1YzU3YyBcdWQ1NWNcdWIyZTQuIFx1YjJlNFx1YzJkYyBcdWI5ZDBcdWQ1NThcdWJhNzQsPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+XHVjZTc4XHViNGU0ICQoWFtpXSAtIDEsIFlbaV0pJFx1YzY0MCAkKFhbaV0gKyAxLCBZW2ldKSQgXHVjOTExIDxzdHJvbmc+XHVjODAxXHVjNWI0XHViM2M0IFx1ZDU1OFx1YjA5ODxcL3N0cm9uZz5cdWFjMDAgXHViMDlhXHVjMmRjXHVkMTMwXHVjNWQwIFx1YjM2ZVx1Yzc3NFx1YWNlMCw8XC9saT5cclxuXHQ8bGk+XHVjZTc4ICQoWFtpXSwgWVtpXSkkXHViMjk0IFx1YjA5YVx1YzJkY1x1ZDEzMFx1YzVkMCBcdWIzNmVcdWM3NzRcdWM5YzAgXHVjNTRhXHVjNTQ0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0LCAkTiA9IDUkXHVjNzc4IFx1YzU5MVx1YzViNFx1YzdhNVx1YzVkMCAkTSA9IDQkXHViOWM4XHViOWFjXHVjNzU4IFx1YmE1NFx1YWUzMFx1YWMwMCBcdWM3ODhcdWIyZTRcdWFjZTAgXHVkNTU4XHVjNzkwLjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlx1YmE1NFx1YWUzMCAkMCRcdWM3NTggXHVjNzA0XHVjZTU4XHViMjk0IFx1Y2U3OCAkKDAsIDIpJFx1Yzc3NFx1YWNlMCBcdWFkZjggXHViYjM0XHVhYzhjXHViMjk0ICQ1JFx1YWRmOFx1YjdhOFx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHViYTU0XHVhZTMwICQxJFx1Yzc1OCBcdWM3MDRcdWNlNThcdWIyOTQgXHVjZTc4ICQoMSwgMSkkXHVjNzc0XHVhY2UwIFx1YWRmOCBcdWJiMzRcdWFjOGNcdWIyOTQgJDIkXHVhZGY4XHViN2E4XHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWJhNTRcdWFlMzAgJDIkXHVjNzU4IFx1YzcwNFx1Y2U1OFx1YjI5NCBcdWNlNzggJCg0LCA0KSRcdWM3NzRcdWFjZTAgXHVhZGY4IFx1YmIzNFx1YWM4Y1x1YjI5NCAkMSRcdWFkZjhcdWI3YThcdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YmE1NFx1YWUzMCAkMyRcdWM3NTggXHVjNzA0XHVjZTU4XHViMjk0IFx1Y2U3OCAkKDMsIDMpJFx1Yzc3NFx1YWNlMCBcdWFkZjggXHViYjM0XHVhYzhjXHViMjk0ICQzJFx1YWRmOFx1YjdhOFx1Yzc3NFx1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWJkODAgXHViMzg1XHVkMDc0XHViODA5XHVjNzc0IFx1YjA5YVx1YzJkY1x1ZDEzMFx1Yjk3YyBcdWM5YzBcdWM3NDQgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWJjMjlcdWJjOTUgXHVjOTExIFx1ZDU1OFx1YjA5OFx1YjI5NCBcdWM1NDRcdWI3OThcdWM2NDAgXHVhYzE5XHViMmU0LjxcL3A+XHJcblxyXG48dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZCB0ZC1jZW50ZXIgdGgtY2VudGVyXCI+XHJcblx0PHRoZWFkPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGg+XHViMDlhXHVjMmRjXHVkMTMwIFx1YzlkM1x1YWUzMCBcdWM4MDQ8XC90aD5cclxuXHRcdFx0PHRoPlx1YjA5YVx1YzJkY1x1ZDEzMCBcdWM5YzBcdWM3NDAgXHVkNmM0PFwvdGg+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90aGVhZD5cclxuXHQ8dGJvZHk+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzMzYTk2NmZlLTNhMTItNGEwOS05NGE5LTM3ZDk2MDUzOTkyN1wvLVwvY3JvcFwvNTYxeDU3NlwvMCwwXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODdweDtcIiBcLz48XC90ZD5cclxuXHRcdFx0PHRkPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvMzNhOTY2ZmUtM2ExMi00YTA5LTk0YTktMzdkOTYwNTM5OTI3XC8tXC9jcm9wXC81NjF4NTc2XC82MjksMFwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjg3cHg7XCIgXC8+PFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90Ym9keT5cclxuPFwvdGFibGU+XHJcblxyXG48cD5cdWNlNzhcdWM1ZDAgXHVkNDVjXHVjMmRjXHViNDFjIFx1Yzc5MFx1YzVmMFx1YzIxOFx1YjI5NCBcdWFkZjggXHVjZTc4XHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWJhNTRcdWFlMzBcdWM3NTggXHViYjM0XHVhYzhjXHVjNzc0XHViMmU0LiBcdWMwYzlcdWNlNjBcdWI0MWMgXHVjZTc4XHViNGU0XHVjNzc0IFx1YjA5YVx1YzJkY1x1ZDEzMFx1YzVkMCBcdWIzNmVcdWM3NzggXHVhY2YzXHVjNzc0XHViMmU0LiBcdWM3NzQgXHVhY2JkXHVjNmIwIFx1YzdhMVx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YmE1NFx1YWUzMFx1YjI5NCBcdWJhNTRcdWFlMzAgJDAkKFx1Y2U3OCAkKDAsIDIpJFx1YzVkMCBcdWM3MDRcdWNlNTgpXHVhY2ZjIFx1YmE1NFx1YWUzMCAkMyQoXHVjZTc4ICQoMywgMykkXHVjNWQwIFx1YzcwNFx1Y2U1OClcdWM3NzRcdWIyZTQuIFx1YmE1NFx1YWUzMCAkMSQoXHVjZTc4ICQoMSwgMSkkXHVjNWQwIFx1YzcwNFx1Y2U1OClcdWIyOTQgXHVhZGY4IFx1Y2U3OFx1Yzc3NCBcdWIwOWFcdWMyZGNcdWQxMzBcdWM1ZDAgXHViMzZlXHVjNWVjIFx1Yzc4OFx1YzViNCBcdWM3YTFcdWM3NDQgXHVjMjE4IFx1YzVjNlx1YjJlNC4gXHViYTU0XHVhZTMwICQyJChcdWNlNzggJCg0LCA0KSRcdWM1ZDAgXHVjNzA0XHVjZTU4KVx1YjI5NCBcdWMxMWNcdWNhYmRcdWM3NzRcdWIwOTggXHViM2Q5XHVjYWJkXHVjNWQwIFx1Yzc3OFx1YzgxMVx1ZDU1YyBcdWNlNzhcdWM3NzQgXHViMDlhXHVjMmRjXHVkMTMwXHViODVjIFx1YjM2ZVx1Yzc3OCBcdWFjODNcdWM3NzQgXHVjNWM2XHVjNWI0IFx1YzdhMVx1Yzc0NCBcdWMyMTggXHVjNWM2XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWJkODAgXHViMzg1XHVkMDc0XHViODA5XHVjNzQwIFx1YzdhMVx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YmE1NFx1YWUzMFx1Yzc1OCBcdWJiMzRcdWFjOGNcdWM3NTggXHVkNTY5XHVjNzc0IFx1YWMwMFx1YzdhNSBcdWQwNmNcdWIzYzRcdWI4NWQgXHViMDlhXHVjMmRjXHVkMTMwXHViOTdjIFx1YzlkM1x1YWNlMCBcdWMyZjZcdWIyZTQuIFx1YzdhMVx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YmE1NFx1YWUzMFx1Yzc1OCBcdWNkNWNcdWIzMDAgXHViYjM0XHVhYzhjIFx1ZDU2OVx1Yzc0NCBcdWFjYzRcdWMwYjBcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1Yjc3Yy48XC9wPlxyXG4iLCJpbnB1dCI6IiIsIm91dHB1dCI6IiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiIsImxpbWl0IjoiPHVsPlxyXG5cdDxsaT4kMiBcXGxlIE4gXFxsZSAxMDBcXCwwMDAkPFwvbGk+XHJcblx0PGxpPiQxIFxcbGUgTSBcXGxlIDMwMFxcLDAwMCQ8XC9saT5cclxuXHQ8bGk+JDAgXFxsZSBYW2ldIFxcbGUgTiAtIDEkLCAkMCBcXGxlIFlbaV0gXFxsZSBOIC0gMSQgKCQwIFxcbGUgaSBcXGxlIE0gLSAxJCk8XC9saT5cclxuXHQ8bGk+JDEgXFxsZSBXW2ldIFxcbGUgMTBeOSQgKCQwIFxcbGUgaSBcXGxlIE0gLSAxJCk8XC9saT5cclxuXHQ8bGk+XHViYTU0XHVhZTMwXHViNGU0XHVjNzU4IFx1YzcwNFx1Y2U1OFx1YjI5NCBcdWJhYThcdWI0NTAgXHViMmU0XHViOTc0XHViMmU0LiBcdWM5ODksICRYW2ldIFxcbmVxIFhbal0kIFx1ZDYzOVx1Yzc0MCAkWVtpXSBcXG5lcSBZW2pdJCAoJDAgXFxsZSBpIFxcbHQgaiBcXGxlIE0gLSAxJCkuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrMSI6IjxwPiRYW2ldJFx1YWMwMCBcdWM5ZGRcdWMyMTggKCQwIFxcbGUgaSBcXGxlIE0gLSAxJCk8XC9wPlxyXG4iLCJzdWJ0YXNrMiI6IjxwPiRYW2ldIFxcbGUgMSQgKCQwIFxcbGUgaSBcXGxlIE0gLSAxJCk8XC9wPlxyXG4iLCJzdWJ0YXNrMyI6IjxwPiRZW2ldID0gMCQgKCQwIFxcbGUgaSBcXGxlIE0gLSAxJCk8XC9wPlxyXG4iLCJzdWJ0YXNrNCI6IjxwPiROIFxcbGUgMzAwJCwgJFlbaV0gXFxsZSA4JCAoJDAgXFxsZSBpIFxcbGUgTSAtIDEkKTxcL3A+XHJcbiIsInN1YnRhc2s1IjoiPHA+JE4gXFxsZSAzMDAkPFwvcD5cclxuIiwic3VidGFzazYiOiI8cD4kTiBcXGxlIDMwMDAkPFwvcD5cclxuIiwic3VidGFzazciOiI8cD5cdWFjMDEgXHVjNWY0XHVjNWQwXHViMjk0IFx1Y2Q1Y1x1YjMwMCAkMiQgXHViOWM4XHViOWFjXHVjNzU4IFx1YmE1NFx1YWUzMFx1YWMwMCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuIiwic3VidGFzazgiOiI8cD5cdWNkOTRcdWFjMDBcdWM4MDFcdWM3NzggXHVjODFjXHVkNTVjXHVjNzc0IFx1YzVjNlx1YjJlNC48XC9wPlxyXG4iLCJjdXN0b21faW1wbGVtZW50YXRpb24iOiI8cD5cdWIyZjlcdWMyZTBcdWM3NDAgXHViMmU0XHVjNzRjIFx1ZDU2OFx1YzIxOFx1Yjk3YyBcdWFkNmNcdWQ2MDRcdWQ1NzRcdWM1N2MgXHVkNTVjXHViMmU0OjxcL3A+XHJcblxyXG48cHJlPlxyXG48Y29kZT5pbnQ2NCBtYXhfd2VpZ2h0cyhpbnQgTiwgaW50IE0sIGludFtdIFgsIGludFtdIFksIGludFtdIFcpXHJcbjxcL2NvZGU+PFwvcHJlPlxyXG5cclxuPHVsPlxyXG5cdDxsaT4kTiQ6IFx1YzU5MVx1YzJkZFx1YzdhNVx1Yzc1OCBcdWQwNmNcdWFlMzAuPFwvbGk+XHJcblx0PGxpPiRNJDogXHViYTU0XHVhZTMwXHVjNzU4IFx1YjljOFx1YjlhYyBcdWMyMTguPFwvbGk+XHJcblx0PGxpPiRYJCwgJFkkOiBcdWJhNTRcdWFlMzBcdWM3NTggXHVjNzA0XHVjZTU4XHViOTdjIFx1ZDQ1Y1x1ZDYwNFx1ZDU1YyBcdWQwNmNcdWFlMzAgJE0kXHVjNzc4IFx1YmMzMFx1YzVmNFx1YjRlNC48XC9saT5cclxuXHQ8bGk+JFckOiBcdWJhNTRcdWFlMzBcdWM3NTggXHViYjM0XHVhYzhjXHViOTdjIFx1ZDQ1Y1x1ZDYwNFx1ZDU1YyBcdWQwNmNcdWFlMzAgJE0kXHVjNzc4IFx1YmMzMFx1YzVmNC48XC9saT5cclxuXHQ8bGk+XHVjNzc0IFx1ZDU2OFx1YzIxOFx1YjI5NCBcdWJkODAgXHViMzg1XHVkMDc0XHViODA5XHVjNzc0IFx1YjA5YVx1YzJkY1x1ZDEzMFx1Yjk3YyBcdWM5YzBcdWM1YjRcdWMxMWMgXHVjN2ExXHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVjZDVjXHViMzAwXHVjNzU4IFx1YmE1NFx1YWUzMCBcdWJiMzRcdWFjOGMgXHVkNTY5XHVjNzQ0IFx1YjlhY1x1ZDEzNFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1Yzc3NCBcdWQ1NjhcdWMyMThcdWIyOTQgXHVjODE1XHVkNjU1XHVkNzg4IFx1ZDU1Y1x1YmM4OCBcdWQ2MzhcdWNkOWNcdWI0MWNcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJjdXN0b21fZXhhbXBsZSI6IjxwPlx1YjJlNFx1Yzc0YyBcdWQ2MzhcdWNkOWNcdWM3NDQgXHVjMGRkXHVhYzAxXHVkNTU4XHVjNzkwOjxcL3A+XHJcblxyXG48cHJlPlxyXG48Y29kZT5tYXhfd2VpZ2h0cyg1LCA0LCBbMCwgMSwgNCwgM10sIFsyLCAxLCA0LCAzXSwgWzUsIDIsIDEsIDNdKVxyXG48XC9jb2RlPjxcL3ByZT5cclxuXHJcbjxwPlx1Yzc3NCBcdWM2MDhcdWM4MWNcdWIyOTQgXHVjNzA0XHVjNzU4IFx1YmIzOFx1YzgxYyBcdWMxMjRcdWJhODVcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YWM4M1x1YWNmYyBcdWFjMTlcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YmIzOFx1YzgxYyBcdWMxMjRcdWJhODVcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YWM4M1x1YWNmYyBcdWFjMTlcdWM3NzQgXHViMDlhXHVjMmRjXHVkMTMwXHViOTdjIFx1YzljMFx1YzczY1x1YmE3NCwgXHViZDgwIFx1YjM4NVx1ZDA3NFx1YjgwOVx1Yzc0MCBcdWJhNTRcdWFlMzAgJDAkXHVhY2ZjICQzJFx1Yzc0NCBcdWM3YTFcdWM3NDQgXHVjMjE4IFx1Yzc4OFx1YWNlMCwgXHViYjM0XHVhYzhjXHVjNzU4IFx1ZDU2OVx1Yzc0MCAkNSArIDMgPSA4JCBcdWFkZjhcdWI3YThcdWM3NzRcdWIyZTQuIFx1Yzc3NCBcdWJjMjlcdWJjOTVcdWM3NzQgXHVjZDVjXHVjMTIwXHVjNzc0XHViYTcwIFx1ZDU2OFx1YzIxOFx1YjI5NCAkOCRcdWM3NDQgXHViOWFjXHVkMTM0XHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJjdXN0b21fc2FtcGxlZ3JhZGVyIjoiPHA+XHVjMGQ4XHVkNTBjIFx1YWRmOFx1YjgwOFx1Yzc3NFx1YjM1NFx1YjI5NCBcdWIyZTRcdWM3NGMgXHVkNjE1XHVjMmRkXHVjNzNjXHViODVjIFx1Yzc4NVx1YjgyNVx1Yzc0NCBcdWM3N2RcdWIyOTRcdWIyZTQ6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+bGluZSAkMSQ6ICROIFxcLCBNJDxcL2xpPlxyXG5cdDxsaT5saW5lICQyICsgaSQgKCQwIFxcbGUgaSBcXGxlIE0gLSAxJCk6ICRYW2ldIFxcLCBZW2ldIFxcLCBXW2ldJDxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1YzBkOFx1ZDUwYyBcdWFkZjhcdWI4MDhcdWM3NzRcdWIzNTRcdWIyOTQgXHViMmU0XHVjNzRjIFx1ZDYxNVx1YzJkZFx1YzczY1x1Yjg1YyBcdWIyZjVcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0OjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPmxpbmUgJDEkOiA8Y29kZT5tYXhfd2VpZ2h0czxcL2NvZGU+XHVjNzU4IFx1YjlhY1x1ZDEzNCBcdWFjMTI8XC9saT5cclxuPFwvdWw+XHJcbiIsImN1c3RvbV9hdHRhY2htZW50IjoiPHVsPlxyXG5cdDxsaT48YSBocmVmPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvMDk2MTYxNzctNGEwYi00ZWM1LWE5ODUtMzdmNjZhNTk2YjVhXC9cIj5maXNoLnppcDxcL2E+PFwvbGk+XHJcbjxcL3VsPlxyXG4ifSx7InByb2JsZW1faWQiOiIyNTQzOCIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkNhdGZpc2ggRmFybSIsImRlc2NyaXB0aW9uIjoiPHA+QnUgRGVuZ2tsZWsgb3ducyBhIGNhdGZpc2ggZmFybS4gVGhlIGNhdGZpc2ggZmFybSBpcyBhIHBvbmQgY29uc2lzdGluZyBvZiBhICROIFxcdGltZXMgTiQgZ3JpZCBvZiBjZWxscy4gRWFjaCBjZWxsIGlzIGEgc3F1YXJlIG9mIHRoZSBzYW1lIHNpemUuIFRoZSBjb2x1bW5zIG9mIHRoZSBncmlkIGFyZSBudW1iZXJlZCBmcm9tICQwJCB0byAkTiAtIDEkIGZyb20gd2VzdCB0byBlYXN0IGFuZCB0aGUgcm93cyBhcmUgbnVtYmVyZWQgZnJvbSAkMCQgdG8gJE4gLSAxJCBmcm9tIHNvdXRoIHRvIG5vcnRoLiBXZSByZWZlciB0byB0aGUgY2VsbCBsb2NhdGVkIGF0IGNvbHVtbiAkYyQgYW5kIHJvdyAkciQgb2YgdGhlIGdyaWQgKCQwIFxcbGUgYyBcXGxlIE4gLSAxJCwgJDAgXFxsZSByIFxcbGUgTiAtIDEkKSBhcyBjZWxsICQoYywgcikkLjxcL3A+XHJcblxyXG48cD5JbiB0aGUgcG9uZCwgdGhlcmUgYXJlICRNJCBjYXRmaXNoLCBudW1iZXJlZCBmcm9tICQwJCB0byAkTSAtIDEkLCBsb2NhdGVkIGF0Jm5ic3A7PHN0cm9uZz5kaXN0aW5jdDxcL3N0cm9uZz4mbmJzcDtjZWxscy4gRm9yIGVhY2ggJGkkIHN1Y2ggdGhhdCAkMCBcXGxlIGkgXFxsZSBNIC0gMSQsIGNhdGZpc2ggJGkkIGlzIGxvY2F0ZWQgYXQgY2VsbCAkKFhbaV0sIFlbaV0pJCwgYW5kIHdlaWdocyAkV1tpXSQgZ3JhbXMuPFwvcD5cclxuXHJcbjxwPkJ1IERlbmdrbGVrIHdhbnRzIHRvIGJ1aWxkIHNvbWUgcGllcnMgdG8gY2F0Y2ggdGhlIGNhdGZpc2guIEEgcGllciBpbiBjb2x1bW4gJGMkIG9mIGxlbmd0aCAkayQgKGZvciBhbnkgJDAgXFxsZSBjIFxcbGUgTiAtIDEkIGFuZCAkMSBcXGxlIGsgXFxsZSBOJCkgaXMgYSByZWN0YW5nbGUgZXh0ZW5kaW5nIGZyb20gcm93ICQwJCB0byByb3cgJGsgLSAxJCwgY292ZXJpbmcgY2VsbHMgJChjLCAwKSwgKGMsIDEpLCBcXGxkb3RzLCAoYywgayAtIDEpJC4gRm9yIGVhY2ggY29sdW1uLCBCdSBEZW5na2xlayBjYW4gY2hvb3NlIGVpdGhlciB0byBidWlsZCBhIHBpZXIgb2Ygc29tZSBsZW5ndGggb2YgaGVyIGNob2ljZSBvciB0byBub3QgYnVpbGQgYSBwaWVyLjxcL3A+XHJcblxyXG48cD5DYXRmaXNoICRpJCAoZm9yIGVhY2ggJGkkIHN1Y2ggdGhhdCAkMCBcXGxlIGkgXFxsZSBNIC0gMSQpIGNhbiBiZSBjYXVnaHQgaWYgdGhlcmUgaXMgYSBwaWVyIGRpcmVjdGx5IHRvIHRoZSB3ZXN0IG9yIGVhc3Qgb2YgaXQsIGFuZCB0aGVyZSBpcyBubyBwaWVyIGNvdmVyaW5nIGl0cyBjZWxsOyB0aGF0IGlzLCBpZjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPjxzdHJvbmc+YXQgbGVhc3Qgb25lPFwvc3Ryb25nPiZuYnNwO29mIHRoZSBjZWxscyAkKFhbaV0gLSAxLCBZW2ldKSQgb3IgJChYW2ldICsgMSwgWVtpXSkkIGlzIGNvdmVyZWQgYnkgYSBwaWVyLCBhbmQ8XC9saT5cclxuXHQ8bGk+dGhlcmUgaXMgbm8gcGllciBjb3ZlcmluZyBjZWxsICQoWFtpXSwgWVtpXSkkLjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPkZvciBleGFtcGxlLCBjb25zaWRlciBhIHBvbmQgb2Ygc2l6ZSAkTiA9IDUkIHdpdGggJE0gPSA0JCBjYXRmaXNoOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPkNhdGZpc2ggJDAkIGlzIGxvY2F0ZWQgYXQgY2VsbCAkKDAsIDIpJCBhbmQgd2VpZ2hzICQ1JCBncmFtcy48XC9saT5cclxuXHQ8bGk+Q2F0ZmlzaCAkMSQgaXMgbG9jYXRlZCBhdCBjZWxsICQoMSwgMSkkIGFuZCB3ZWlnaHMgJDIkIGdyYW1zLjxcL2xpPlxyXG5cdDxsaT5DYXRmaXNoICQyJCBpcyBsb2NhdGVkIGF0IGNlbGwgJCg0LCA0KSQgYW5kIHdlaWdocyAkMSQgZ3JhbS48XC9saT5cclxuXHQ8bGk+Q2F0ZmlzaCAkMyQgaXMgbG9jYXRlZCBhdCBjZWxsICQoMywgMykkIGFuZCB3ZWlnaHMgJDMkIGdyYW1zLjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPk9uZSB3YXkgQnUgRGVuZ2tsZWsgY2FuIGJ1aWxkIHRoZSBwaWVycyBpcyBhcyBmb2xsb3dzOjxcL3A+XHJcblxyXG48dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZCB0ZC1jZW50ZXIgdGgtY2VudGVyXCI+XHJcblx0PHRoZWFkPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGg+QmVmb3JlIHRoZSBwaWVycyBhcmUgYnVpbHQ8XC90aD5cclxuXHRcdFx0PHRoPkFmdGVyIHRoZSBwaWVycyBhcmUgYnVpbHQ8XC90aD5cclxuXHRcdDxcL3RyPlxyXG5cdDxcL3RoZWFkPlxyXG5cdDx0Ym9keT5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvMzNhOTY2ZmUtM2ExMi00YTA5LTk0YTktMzdkOTYwNTM5OTI3XC8tXC9jcm9wXC81NjF4NTc2XC8wLDBcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4N3B4O1wiIFwvPjxcL3RkPlxyXG5cdFx0XHQ8dGQ+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC8zM2E5NjZmZS0zYTEyLTRhMDktOTRhOS0zN2Q5NjA1Mzk5MjdcLy1cL2Nyb3BcLzU2MXg1NzZcLzYyOSwwXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODdweDtcIiBcLz48XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdDxcL3Rib2R5PlxyXG48XC90YWJsZT5cclxuXHJcbjxwPlRoZSBudW1iZXIgYXQgYSBjZWxsIGRlbm90ZXMgdGhlIHdlaWdodCBvZiB0aGUgY2F0ZmlzaCBsb2NhdGVkIGF0IHRoZSBjZWxsLiBUaGUgc2hhZGVkIGNlbGxzIGFyZSBjb3ZlcmVkIGJ5IHBpZXJzLiBJbiB0aGlzIGNhc2UsIGNhdGZpc2ggJDAkIChhdCBjZWxsICQoMCwgMikkKSBhbmQgY2F0ZmlzaCAkMyQgKGF0IGNlbGwgJCgzLCAzKSQpIGNhbiBiZSBjYXVnaHQuIENhdGZpc2ggJDEkIChhdCBjZWxsICQoMSwgMSkkKSBjYW5ub3QgYmUgY2F1Z2h0LCBhcyB0aGVyZSBpcyBhIHBpZXIgY292ZXJpbmcgaXRzIGxvY2F0aW9uLCB3aGlsZSBjYXRmaXNoICQyJCAoYXQgY2VsbCAkKDQsIDQpJCkgY2FuIG5vdCBiZSBjYXVnaHQgYXMgdGhlcmUgaXMgbm8gcGllciBkaXJlY3RseSB0byB0aGUgd2VzdCBub3IgZWFzdCBvZiBpdC48XC9wPlxyXG5cclxuPHA+QnUgRGVuZ2tsZWsgd291bGQgbGlrZSB0byBidWlsZCBwaWVycyBzbyB0aGF0IHRoZSB0b3RhbCB3ZWlnaHQgb2YgY2F0ZmlzaCBzaGUgY2FuIGNhdGNoIGlzIGFzIGxhcmdlIGFzIHBvc3NpYmxlLiBZb3VyIHRhc2sgaXMgdG8gZmluZCB0aGUgbWF4aW11bSB0b3RhbCB3ZWlnaHQgb2YgY2F0ZmlzaCB0aGF0IEJ1IERlbmdrbGVrIGNhbiBjYXRjaCBhZnRlciBidWlsZGluZyBwaWVycy48XC9wPlxyXG4iLCJpbnB1dCI6IiIsIm91dHB1dCI6IiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2giLCJsaW1pdCI6Ijx1bD5cclxuXHQ8bGk+JDIgXFxsZSBOIFxcbGUgMTAwXFwsMDAwJDxcL2xpPlxyXG5cdDxsaT4kMSBcXGxlIE0gXFxsZSAzMDBcXCwwMDAkPFwvbGk+XHJcblx0PGxpPiQwIFxcbGUgWFtpXSBcXGxlIE4gLSAxJCwgJDAgXFxsZSBZW2ldIFxcbGUgTiAtIDEkIChmb3IgZWFjaCAkaSQgc3VjaCB0aGF0ICQwIFxcbGUgaSBcXGxlIE0gLSAxJCk8XC9saT5cclxuXHQ8bGk+JDEgXFxsZSBXW2ldIFxcbGUgMTBeOSQgKGZvciBlYWNoICRpJCBzdWNoIHRoYXQgJDAgXFxsZSBpIFxcbGUgTSAtIDEkKTxcL2xpPlxyXG5cdDxsaT5ObyB0d28gY2F0ZmlzaCBzaGFyZSB0aGUgc2FtZSBjZWxsLiBJbiBvdGhlciB3b3JkcywgJFhbaV0gXFxuZXEgWFtqXSQgb3IgJFlbaV0gXFxuZXEgWVtqXSQgKGZvciBlYWNoICRpJCBhbmQgJGokIHN1Y2ggdGhhdCAkMCBcXGxlIGkgXFxsdCBqIFxcbGUgTSAtIDEkKS48XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2sxIjoiPHA+JFhbaV0kIGlzIGV2ZW4gKGZvciBlYWNoICRpJCBzdWNoIHRoYXQgJDAgXFxsZSBpIFxcbGUgTSAtIDEkKTxcL3A+XHJcbiIsInN1YnRhc2syIjoiPHA+JFhbaV0gXFxsZSAxJCAoZm9yIGVhY2ggJGkkIHN1Y2ggdGhhdCAkMCBcXGxlIGkgXFxsZSBNIC0gMSQpPFwvcD5cclxuIiwic3VidGFzazMiOiI8cD4kWVtpXSA9IDAkIChmb3IgZWFjaCAkaSQgc3VjaCB0aGF0ICQwIFxcbGUgaSBcXGxlIE0gLSAxJCk8XC9wPlxyXG4iLCJzdWJ0YXNrNCI6IjxwPiROIFxcbGUgMzAwJCwgJFlbaV0gXFxsZSA4JCAoZm9yIGVhY2ggJGkkIHN1Y2ggdGhhdCAkMCBcXGxlIGkgXFxsZSBNIC0gMSQpPFwvcD5cclxuIiwic3VidGFzazUiOiI8cD4kTiBcXGxlIDMwMCQ8XC9wPlxyXG4iLCJzdWJ0YXNrNiI6IjxwPiROIFxcbGUgMzAwMCQ8XC9wPlxyXG4iLCJzdWJ0YXNrNyI6IjxwPlRoZXJlIGFyZSBhdCBtb3N0ICQyJCBjYXRmaXNoIGluIGVhY2ggY29sdW1uLjxcL3A+XHJcbiIsInN1YnRhc2s4IjoiPHA+Tm8gYWRkaXRpb25hbCBjb25zdHJhaW50cy48XC9wPlxyXG4iLCJjdXN0b21faW1wbGVtZW50YXRpb24iOiI8cD5Zb3Ugc2hvdWxkIGltcGxlbWVudCB0aGUgZm9sbG93aW5nIHByb2NlZHVyZTo8XC9wPlxyXG5cclxuPHByZT5cclxuPGNvZGU+aW50NjQgbWF4X3dlaWdodHMoaW50IE4sIGludCBNLCBpbnRbXSBYLCBpbnRbXSBZLCBpbnRbXSBXKVxyXG48XC9jb2RlPjxcL3ByZT5cclxuXHJcbjx1bD5cclxuXHQ8bGk+JE4kOiB0aGUgc2l6ZSBvZiB0aGUgcG9uZC48XC9saT5cclxuXHQ8bGk+JE0kOiB0aGUgbnVtYmVyIG9mIGNhdGZpc2guPFwvbGk+XHJcblx0PGxpPiRYJCwgJFkkOiBhcnJheXMgb2YgbGVuZ3RoICRNJCBkZXNjcmliaW5nIGNhdGZpc2ggbG9jYXRpb25zLjxcL2xpPlxyXG5cdDxsaT4kVyQ6IGFycmF5IG9mIGxlbmd0aCAkTSQgZGVzY3JpYmluZyBjYXRmaXNoIHdlaWdodHMuPFwvbGk+XHJcblx0PGxpPlRoaXMgcHJvY2VkdXJlIHNob3VsZCByZXR1cm4gYW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIG1heGltdW0gdG90YWwgd2VpZ2h0IG9mIGNhdGZpc2ggdGhhdCBCdSBEZW5na2xlayBjYW4gY2F0Y2ggYWZ0ZXIgYnVpbGRpbmcgcGllcnMuPFwvbGk+XHJcblx0PGxpPlRoaXMgcHJvY2VkdXJlIGlzIGNhbGxlZCBleGFjdGx5IG9uY2UuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJjdXN0b21fZXhhbXBsZSI6IjxwPkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgY2FsbDo8XC9wPlxyXG5cclxuPHByZT5cclxuPGNvZGU+bWF4X3dlaWdodHMoNSwgNCwgWzAsIDEsIDQsIDNdLCBbMiwgMSwgNCwgM10sIFs1LCAyLCAxLCAzXSlcclxuPFwvY29kZT48XC9wcmU+XHJcblxyXG48cD5UaGlzIGV4YW1wbGUgaXMgaWxsdXN0cmF0ZWQgaW4gdGhlIHRhc2sgZGVzY3JpcHRpb24gYWJvdmUuPFwvcD5cclxuXHJcbjxwPkFmdGVyIGJ1aWxkaW5nIHBpZXJzIGFzIGRlc2NyaWJlZCwgQnUgRGVuZ2tsZWsgY2FuIGNhdGNoIGNhdGZpc2ggJDAkIGFuZCAkMyQsIHdob3NlIHRvdGFsIHdlaWdodCBpcyAkNSArIDMgPSA4JCBncmFtcy4gQXMgdGhlcmUgaXMgbm8gd2F5IHRvIGJ1aWxkIHBpZXJzIHRvIGNhdGNoIGNhdGZpc2ggd2l0aCBhIHRvdGFsIHdlaWdodCBvZiBtb3JlIHRoYW4gJDgkIGdyYW1zLCB0aGUgcHJvY2VkdXJlIHNob3VsZCByZXR1cm4gJDgkLjxcL3A+XHJcbiIsImN1c3RvbV9zYW1wbGVncmFkZXIiOiI8cD5UaGUgc2FtcGxlIGdyYWRlciByZWFkcyB0aGUgaW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+bGluZSAkMSQ6ICROIFxcLCBNJDxcL2xpPlxyXG5cdDxsaT5saW5lICQyICsgaSQgKCQwIFxcbGUgaSBcXGxlIE0gLSAxJCk6ICRYW2ldIFxcLCBZW2ldIFxcLCBXW2ldJDxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlRoZSBzYW1wbGUgZ3JhZGVyIHByaW50cyB5b3VyIGFuc3dlciBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5saW5lICQxJDogdGhlIHJldHVybiB2YWx1ZSBvZiA8Y29kZT5tYXhfd2VpZ2h0czxcL2NvZGU+PFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJjdXN0b21fYXR0YWNobWVudCI6Ijx1bD5cclxuXHQ8bGk+PGEgaHJlZj1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzA5NjE2MTc3LTRhMGItNGVjNS1hOTg1LTM3ZjY2YTU5NmI1YVwvXCI+ZmlzaC56aXA8XC9hPjxcL2xpPlxyXG48XC91bD5cclxuIn1d

샘플 그레이더

샘플 그레이더는 다음 형식으로 입력을 읽는다:

  • line $1$: $N \, M$
  • line $2 + i$ ($0 \le i \le M - 1$): $X[i] \, Y[i] \, W[i]$

샘플 그레이더는 다음 형식으로 답을 출력한다:

  • line $1$: max_weights의 리턴 값

첨부

출처

Olympiad > International Olympiad in Informatics > IOI 2022 > Day 1 1번

  • 문제를 만든 사람: Lim Rui Yuan

제출할 수 있는 언어

C++17, C++20, C++17 (Clang), C++20 (Clang)

채점 및 기타 정보

  • 예제는 채점하지 않는다.
  • 이 문제의 채점 우선 순위는 2이다.