시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB196967547.771%

문제

UDP 시티는 $N$개의 건물과 각 건물을 잇는 $M$개의 무빙워크로 이루어져 있다. 각 건물과 무빙워크에는 $1$번부터 차례로 번호가 매겨져 있다. 포닉스는 각 무빙워크의 전원을 끄거나 켤 수 있다. 무빙워크는 전원 상태에 따라 아래와 같이 동작한다.

  • $i$번째 무빙워크의 전원이 켜져 있는 경우, $u_i$번 건물에서 $v_i$번 건물로의 방향으로만 이동할 수 있다. 이 경우 이동 시간은 $d_i$이다.
  • $i$번째 무빙워크의 전원이 꺼져 있는 경우, $u_i$번 건물과 $v_i$번 건물 사이를 방향에 관계없이 이동할 수 있다. 이 경우 이동 시간은 $2d_i$이다.

포닉스는 현재 $1$번 건물에 있으며, 각 무빙워크의 전원을 적절히 조작해 다른 모든 건물에 대한 최단 도달 시간의 합을 최소화하려 한다. 이때 $1$번 건물에서 도달할 수 없는 건물이 존재해서는 안 된다.

도달할 수 없는 건물이 존재하지 않는 모든 경우에 대해서 모든 건물에 대한 최단 도달 시간의 합의 최솟값과 이때 각 무빙워크의 전원 상태를 구해 보자.

입력

첫째 줄에 건물의 개수 $N$, 무빙워크의 개수 $M$이 공백으로 구분되어 주어진다. $(2 \le N \le 300\ 000; 1 \le M \le 500\ 000)$

둘째 줄부터 $M$개의 줄에 걸쳐 세 정수 $u_i, v_i, d_i$가 공백으로 구분되어 주어진다. 이는 $i$번째 무빙워크의 전원이 켜져 있을 때 $u_i$번 건물에서 $v_i$번 건물으로 이동하는 것이 가능하며 $d_i$의 이동 시간을 가짐을 의미한다. $(1 \le u_i, v_i \le N; u_i \ne v_i; 1 \le d_i \le 10^6)$

모든 무빙워크의 전원을 껐을 때, $1$번 건물에서 다른 모든 건물로 도달할 수 있음이 보장되며 서로 다른 무빙워크에 대해 $(u, v)$ 쌍은 서로 다르다.

출력

첫째 줄에 가능한 최단 도달 시간 합의 최솟값을 출력한다.

둘째 줄에는 각 무빙워크의 전원 상태를 나타내는 정수 $P_1, P_2, \cdots , P_M$을 공백으로 구분해 출력한다. $P_i$는 $i$번째 무빙워크의 전원을 켜야 할 경우 $1$, 꺼야 할 경우 $0$이다. 가능한 전원 상태가 여러 개일 경우 그 중 아무것이나 출력하여라.

예제 입력 1

3 3
1 2 3
3 2 1
1 3 10

예제 출력 1

8
1 0 1

예제 입력 2

3 3
1 2 3
2 3 4
1 3 6

예제 출력 2

9
1 1 1

예제 입력 3

3 3
2 1 3
2 3 4
3 1 6

예제 출력 3

16
0 1 0

예제 입력 4

2 2
1 2 3
2 1 1

예제 출력 4

2
1 0
W3sicHJvYmxlbV9pZCI6IjMxNzIzIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHViYjM0XHViZTU5XHVjNmNjXHVkMDZjIiwiZGVzY3JpcHRpb24iOiI8cD5VRFAgXHVjMmRjXHVkMmYwXHViMjk0ICROJFx1YWMxY1x1Yzc1OCBcdWFjNzRcdWJiM2NcdWFjZmMgXHVhYzAxIFx1YWM3NFx1YmIzY1x1Yzc0NCBcdWM3ODdcdWIyOTQgJE0kXHVhYzFjXHVjNzU4IFx1YmIzNFx1YmU1OVx1YzZjY1x1ZDA2Y1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHViMmU0LiBcdWFjMDEgXHVhYzc0XHViYjNjXHVhY2ZjIFx1YmIzNFx1YmU1OVx1YzZjY1x1ZDA2Y1x1YzVkMFx1YjI5NCAkMSRcdWJjODhcdWJkODBcdWQxMzAgXHVjYzI4XHViODQwXHViODVjIFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWI5ZTRcdWFjYThcdWM4MzggXHVjNzg4XHViMmU0LiBcdWQzZWNcdWIyYzlcdWMyYTRcdWIyOTQgXHVhYzAxIFx1YmIzNFx1YmU1OVx1YzZjY1x1ZDA2Y1x1Yzc1OCBcdWM4MDRcdWM2ZDBcdWM3NDQgXHViMDQ0XHVhYzcwXHViMDk4IFx1Y2YyNCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWJiMzRcdWJlNTlcdWM2Y2NcdWQwNmNcdWIyOTQgXHVjODA0XHVjNmQwIFx1YzBjMVx1ZDBkY1x1YzVkMCBcdWI1MzBcdWI3N2MgXHVjNTQ0XHViNzk4XHVjNjQwIFx1YWMxOVx1Yzc3NCBcdWIzZDlcdWM3OTFcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+JGkkXHViYzg4XHVjOWY4IFx1YmIzNFx1YmU1OVx1YzZjY1x1ZDA2Y1x1Yzc1OCBcdWM4MDRcdWM2ZDBcdWM3NzQgXHVjZjFjXHVjODM4IFx1Yzc4OFx1YjI5NCBcdWFjYmRcdWM2YjAsICR1X2kkXHViYzg4IFx1YWM3NFx1YmIzY1x1YzVkMFx1YzExYyAkdl9pJFx1YmM4OCBcdWFjNzRcdWJiM2NcdWI4NWNcdWM3NTggXHViYzI5XHVkNWE1XHVjNzNjXHViODVjXHViOWNjIFx1Yzc3NFx1YjNkOVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWM3NzQgXHVhY2JkXHVjNmIwIFx1Yzc3NFx1YjNkOSBcdWMyZGNcdWFjMDRcdWM3NDAgJGRfaSRcdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPiRpJFx1YmM4OFx1YzlmOCBcdWJiMzRcdWJlNTlcdWM2Y2NcdWQwNmNcdWM3NTggXHVjODA0XHVjNmQwXHVjNzc0IFx1YWViY1x1YzgzOCBcdWM3ODhcdWIyOTQgXHVhY2JkXHVjNmIwLCAkdV9pJFx1YmM4OCBcdWFjNzRcdWJiM2NcdWFjZmMgJHZfaSRcdWJjODggXHVhYzc0XHViYjNjIFx1YzBhY1x1Yzc3NFx1Yjk3YyBcdWJjMjlcdWQ1YTVcdWM1ZDAgXHVhZDAwXHVhY2M0XHVjNWM2XHVjNzc0IFx1Yzc3NFx1YjNkOVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWM3NzQgXHVhY2JkXHVjNmIwIFx1Yzc3NFx1YjNkOSBcdWMyZGNcdWFjMDRcdWM3NDAgJDJkX2kkXHVjNzc0XHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1ZDNlY1x1YjJjOVx1YzJhNFx1YjI5NCBcdWQ2MDRcdWM3YWMgJDEkXHViYzg4IFx1YWM3NFx1YmIzY1x1YzVkMCBcdWM3ODhcdWM3M2NcdWJhNzAsIFx1YWMwMSBcdWJiMzRcdWJlNTlcdWM2Y2NcdWQwNmNcdWM3NTggXHVjODA0XHVjNmQwXHVjNzQ0IFx1YzgwMVx1YzgwOFx1ZDc4OCBcdWM4NzBcdWM3OTFcdWQ1NzQgXHViMmU0XHViOTc4IFx1YmFhOFx1YjRlMCBcdWFjNzRcdWJiM2NcdWM1ZDAgXHViMzAwXHVkNTVjIFx1Y2Q1Y1x1YjJlOCBcdWIzYzRcdWIyZWMgXHVjMmRjXHVhYzA0XHVjNzU4IFx1ZDU2OVx1Yzc0NCBcdWNkNWNcdWMxOGNcdWQ2NTRcdWQ1NThcdWI4MjQgXHVkNTVjXHViMmU0LiBcdWM3NzRcdWI1NGMgJDEkXHViYzg4IFx1YWM3NFx1YmIzY1x1YzVkMFx1YzExYyBcdWIzYzRcdWIyZWNcdWQ1NjAgXHVjMjE4IFx1YzVjNlx1YjI5NCBcdWFjNzRcdWJiM2NcdWM3NzQgXHVjODc0XHVjN2FjXHVkNTc0XHVjMTFjXHViMjk0IFx1YzU0OCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjNjNFx1YjJlY1x1ZDU2MCBcdWMyMTggXHVjNWM2XHViMjk0IFx1YWM3NFx1YmIzY1x1Yzc3NCBcdWM4NzRcdWM3YWNcdWQ1NThcdWM5YzAgXHVjNTRhXHViMjk0IFx1YmFhOFx1YjRlMCBcdWFjYmRcdWM2YjBcdWM1ZDAgXHViMzAwXHVkNTc0XHVjMTFjIFx1YmFhOFx1YjRlMCBcdWFjNzRcdWJiM2NcdWM1ZDAgXHViMzAwXHVkNTVjIFx1Y2Q1Y1x1YjJlOCBcdWIzYzRcdWIyZWMgXHVjMmRjXHVhYzA0XHVjNzU4IFx1ZDU2OVx1Yzc1OCBcdWNkNWNcdWMxOWZcdWFjMTJcdWFjZmMgXHVjNzc0XHViNTRjIFx1YWMwMSBcdWJiMzRcdWJlNTlcdWM2Y2NcdWQwNmNcdWM3NTggXHVjODA0XHVjNmQwIFx1YzBjMVx1ZDBkY1x1Yjk3YyBcdWFkNmNcdWQ1NzQgXHViY2Y0XHVjNzkwLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBcdWFjNzRcdWJiM2NcdWM3NTggXHVhYzFjXHVjMjE4ICROJCwgXHViYjM0XHViZTU5XHVjNmNjXHVkMDZjXHVjNzU4IFx1YWMxY1x1YzIxOCAkTSRcdWM3NzQgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICQoMiBcXGxlIE4gXFxsZSAzMDBcXCAwMDA7IDEgXFxsZSBNIFxcbGUgNTAwXFwgMDAwKSQ8XC9wPlxyXG5cclxuPHA+XHViNDU4XHVjOWY4IFx1YzkwNFx1YmQ4MFx1ZDEzMCAkTSRcdWFjMWNcdWM3NTggXHVjOTA0XHVjNWQwIFx1YWM3OFx1Y2NkMCBcdWMxMzggXHVjODE1XHVjMjE4ICR1X2ksIHZfaSwgZF9pJFx1YWMwMCBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHViNDE4XHVjNWI0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVjNzc0XHViMjk0ICRpJFx1YmM4OFx1YzlmOCBcdWJiMzRcdWJlNTlcdWM2Y2NcdWQwNmNcdWM3NTggXHVjODA0XHVjNmQwXHVjNzc0IFx1Y2YxY1x1YzgzOCBcdWM3ODhcdWM3NDQgXHViNTRjICR1X2kkXHViYzg4IFx1YWM3NFx1YmIzY1x1YzVkMFx1YzExYyAkdl9pJFx1YmM4OCBcdWFjNzRcdWJiM2NcdWM3M2NcdWI4NWMgXHVjNzc0XHViM2Q5XHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NCBcdWFjMDBcdWIyYTVcdWQ1NThcdWJhNzAgJGRfaSRcdWM3NTggXHVjNzc0XHViM2Q5IFx1YzJkY1x1YWMwNFx1Yzc0NCBcdWFjMDBcdWM5ZDBcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTVjXHViMmU0LiAkKDEgXFxsZSB1X2ksIHZfaSBcXGxlIE47IHVfaSBcXG5lIHZfaTsgMSBcXGxlIGRfaSBcXGxlIDEwXjYpJDxcL3A+XHJcblxyXG48cD5cdWJhYThcdWI0ZTAgXHViYjM0XHViZTU5XHVjNmNjXHVkMDZjXHVjNzU4IFx1YzgwNFx1YzZkMFx1Yzc0NCBcdWFlZDBcdWM3NDQgXHViNTRjLCAkMSRcdWJjODggXHVhYzc0XHViYjNjXHVjNWQwXHVjMTFjIFx1YjJlNFx1Yjk3OCBcdWJhYThcdWI0ZTAgXHVhYzc0XHViYjNjXHViODVjIFx1YjNjNFx1YjJlY1x1ZDU2MCBcdWMyMTggXHVjNzg4XHVjNzRjXHVjNzc0IFx1YmNmNFx1YzdhNVx1YjQxOFx1YmE3MCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YmIzNFx1YmU1OVx1YzZjY1x1ZDA2Y1x1YzVkMCBcdWIzMDBcdWQ1NzQgJCh1LCB2KSQgXHVjMzBkXHVjNzQwIFx1YzExY1x1Yjg1YyBcdWIyZTRcdWI5NzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBcdWFjMDBcdWIyYTVcdWQ1NWMgXHVjZDVjXHViMmU4IFx1YjNjNFx1YjJlYyBcdWMyZGNcdWFjMDQgXHVkNTY5XHVjNzU4IFx1Y2Q1Y1x1YzE5Zlx1YWMxMlx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjQ1OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVhYzAxIFx1YmIzNFx1YmU1OVx1YzZjY1x1ZDA2Y1x1Yzc1OCBcdWM4MDRcdWM2ZDAgXHVjMGMxXHVkMGRjXHViOTdjIFx1YjA5OFx1ZDBjMFx1YjBiNFx1YjI5NCBcdWM4MTVcdWMyMTggJFBfMSwgUF8yLCBcXGNkb3RzICwgUF9NJFx1Yzc0NCBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHVkNTc0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gJFBfaSRcdWIyOTQgJGkkXHViYzg4XHVjOWY4IFx1YmIzNFx1YmU1OVx1YzZjY1x1ZDA2Y1x1Yzc1OCBcdWM4MDRcdWM2ZDBcdWM3NDQgXHVjZjFjXHVjNTdjIFx1ZDU2MCBcdWFjYmRcdWM2YjAgJDEkLCBcdWFlYmNcdWM1N2MgXHVkNTYwIFx1YWNiZFx1YzZiMCAkMCRcdWM3NzRcdWIyZTQuIFx1YWMwMFx1YjJhNVx1ZDU1YyBcdWM4MDRcdWM2ZDAgXHVjMGMxXHVkMGRjXHVhYzAwIFx1YzVlY1x1YjdlYyBcdWFjMWNcdWM3N2MgXHVhY2JkXHVjNmIwIFx1YWRmOCBcdWM5MTEgXHVjNTQ0XHViYjM0XHVhYzgzXHVjNzc0XHViMDk4IFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YzVlY1x1Yjc3Yy48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIzMTcyMyIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6Ik1vdmluZyBXYWxrd2F5IiwiZGVzY3JpcHRpb24iOiI8cD5VRFAgQ2l0eSBjb25zaXN0cyBvZiAkTiQgYnVpbGRpbmdzIGFuZCAkTSQgbW92aW5nIHdhbGt3YXlzIGNvbm5lY3RpbmcgZWFjaCBidWlsZGluZy4gRWFjaCBidWlsZGluZyBhbmQgbW92aW5nIHdhbGt3YXkgYXJlIG51bWJlcmVkIGluIG9yZGVyIHN0YXJ0aW5nIGZyb20gJDEkLiBQb25peCBjYW4gdHVybiBvbiBvciBvZmYgdGhlIHBvd2VyIG9mIGVhY2ggbW92aW5nIHdhbGt3YXkuIFRoZSBtb3Zpbmcgd2Fsa3dheXMgb3BlcmF0ZSBhcyBmb2xsb3dzOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPklmIHRoZSBwb3dlciBvZiB0aGUgJGkkdGggbW92aW5nIHdhbGt3YXkgaXMgb24sIGl0IGNhbiBvbmx5IG1vdmUgZnJvbSBidWlsZGluZyAkdV9pJCB0byBidWlsZGluZyAkdl9pJCBpbiBvbmUgZGlyZWN0aW9uLCB3aXRoIGEgdHJhdmVsIHRpbWUgb2YgJGRfaSQuPFwvbGk+XHJcblx0PGxpPklmIHRoZSBwb3dlciBvZiB0aGUgJGkkdGggbW92aW5nIHdhbGt3YXkgaXMgb2ZmLCBpdCBjYW4gbW92ZSBiZXR3ZWVuIGJ1aWxkaW5ncyAkdV9pJCBhbmQgJHZfaSQgaW4gYm90aCBvZiBkaXJlY3Rpb25zLCB3aXRoIGEgdHJhdmVsIHRpbWUgb2YgJDJkX2kkLjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlBvbml4IGlzIGN1cnJlbnRseSBhdCBidWlsZGluZyAkMSQgYW5kIHdhbnRzIHRvIG1pbmltaXplIHRoZSBzdW0gb2YgdGhlIHNob3J0ZXN0IHRyYXZlbCB0aW1lcyB0byBhbGwgb3RoZXIgYnVpbGRpbmdzIGJ5IGFkanVzdGluZyB0aGUgcG93ZXIgb2YgZWFjaCBtb3Zpbmcgd2Fsa3dheSBhcHByb3ByaWF0ZWx5LiBUaGVyZSBzaG91bGQgYmUgbm8gYnVpbGRpbmdzIHVucmVhY2hhYmxlIGZyb20gYnVpbGRpbmcgJDEkLjxcL3A+XHJcblxyXG48cD5MZXQmIzM5O3MgZmluZCB0aGUgbWluaW11bSBzdW0gb2YgdGhlIHNob3J0ZXN0IHRyYXZlbCB0aW1lcyBmb3IgYWxsIGJ1aWxkaW5ncyBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgcG93ZXIgc3RhdHVzIG9mIGVhY2ggbW92aW5nIHdhbGt3YXkgZm9yIGFsbCBjYXNlcyB3aGVyZSB0aGVyZSBhcmUgbm8gdW5yZWFjaGFibGUgYnVpbGRpbmdzLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgb2YgaW5wdXQgY29udGFpbnMgdHdvIHNwYWNlLXNlcGFyYXRlZCBpbnRlZ2VycyAkTiQgYW5kICRNJCwgZGVub3RpbmcgdGhlIG51bWJlciBvZiBidWlsZGluZ3MgYW5kIHRoZSBudW1iZXIgb2YgbW92aW5nIHdhbGt3YXlzLCByZXNwZWN0aXZlbHkuICQoMiBcXGxlIE4gXFxsZSAzMDBcXCAwMDA7IDEgXFxsZSBNIFxcbGUgNTAwXFwgMDAwKSQ8XC9wPlxyXG5cclxuPHA+VGhlICRpJC10aCBvZiB0aGUgZm9sbG93aW5nICRNJCBsaW5lcyBvZiBpbnB1dCBjb250YWlucyB0aHJlZSBzcGFjZS1zZXBhcmF0ZWQgaW50ZWdlcnMgJHVfaSQsICR2X2kkLCBhbmQgJGRfaSQsIGRlbm90aW5nIHRoYXQgdGhlICRpJC10aCBtb3Zpbmcgd2Fsa3dheSBjb25uZWN0cyBidWlsZGluZyAkdV9pJCB0byBidWlsZGluZyAkdl9pJCwgYW5kIGl0cyB0cmF2ZWwgdGltZSBpcyAkZF9pJCB3aGVuIHRoZSBwb3dlciBpcyBvbi4gJCgxIFxcbGUgdV9pLCB2X2kgXFxsZSBOOyB1X2kgXFxuZSB2X2k7IDEgXFxsZSBkX2kgXFxsZSAxMF42KSQ8XC9wPlxyXG5cclxuPHA+SXQgaXMgZ3VhcmFudGVlZCBpdCBpcyBwb3NzaWJsZSB0byByZWFjaCBldmVyeSBvdGhlciBidWlsZGluZyBmcm9tIGJ1aWxkaW5nICQxJCB3aGVuIHRoZSBwb3dlciBvZiBldmVyeSBtb3Zpbmcgd2Fsa3dheSBpcyBvZmYuIEFsc28sIG5vIHR3byBkaXN0aW5jdCBtb3Zpbmcgd2Fsa3dheXMgaGF2ZSB0aGUgc2FtZSAkKHVfaSwgdl9pKSQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+T24gdGhlIGZpcnN0IGxpbmUsIHByaW50IHRoZSBtaW5pbXVtIHN1bSBvZiBzaG9ydGVzdCB0cmF2ZWwgdGltZXMuPFwvcD5cclxuXHJcbjxwPk9uIHRoZSBzZWNvbmQgbGluZSwgcHJpbnQgJE0kIHNwYWNlLXNlcGFyYXRlZCBpbnRlZ2VycyAkUF8xLCBQXzIsIFxcY2RvdHMgLCBQX00kLiAkUF9pJCBpcyAkMSQgaWYgdGhlICRpJHRoIG1vdmluZyB3YWxrd2F5IHNob3VsZCBiZSB0dXJuZWQgb247IG90aGVyd2lzZSwgJFBfaSQgaXMgJDAkLiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgcG9zc2libGUgcG93ZXIgc3RhdGVzLCBvdXRwdXQgYW55IG9uZSBvZiB0aGVtLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=