MECUNG - Mê cung

Giới hạn
  • Thời gian: 0.5s
  • Bộ nhớ: 1536MB
  • Mã nguồn: 50000 bytes

Ghi chú: Các bài VNOI đã được chuyển qua VNOJ (Thông báo). Đề bài trên VNOI và vn.spoj.com sẽ không được cập nhật nữa. Một số đề bài không chính xác sẽ chỉ được cập nhật trên VNOJ. Bạn vẫn có thể tìm kiếm đề bài trên VNOI.

Link đọc đề trên VNOJ

Trong một lần dạo chơi công viên BeeG, Nam phát hiện một trò chơi mới : mê cung. Mê cung gồm N phòng và M hành lang nối giữa các phòng. Mỗi hành lang nối 2 phòng u và v theo được sơn màu c. Bằng hành lang này người ta có thể đi từ phòng u sang phòng v và ngược lại.

Một cuộc tỉ thí sắp được tổ chức. Những người tham gia sẽ bị bịt mắt và thả xuống căn phòng số 1 bằng trực thăng. Nhiệm vụ của người chơi là đến được căn phòng số N (phòng cuối cùng). Một thiết bị theo dõi sẽ được đeo vào mỗi người, ghi lại những căn phòng và hành lang mà người đó đi qua. Người sử dụng ít hành lang nhất để đến căn phòng N sẽ thắng cuộc. Nếu có nhiều người cùng sử dụng ít hành lang nhất, người có đường đi “đẹp” sẽ thắng. Một đường đi được xem là đẹp nếu dãy màu các hành lang mà người đó sử dụng liên tiếp có thứ tự từ điển nhỏ nhất trong tất các các đường đi ngắn nhất.

Quyết tâm giành chiến thắng (vì phần thưởng cực kì hậu hĩnh), Nam thuê hẳn một máy bay trực thăng bay quay công viên BeeG và chụp hình mê cung từ phía trên. Hãy giúp Nam ghi lại đường đi lí tưởng nhất.

Chú ý : Dãy (a 1 , a 2 , a 3 , … , a k ) có thứ tự từ điển nhỏ hơn dãy (b 1 , b 2 , b 3 , … ,b k ) nếu tồn tại một vị trí i nhỏ nhất (1 <= i <= k) sao cho a i <>b i thì a i <b i .

Giữa hai phòng có thể có nhiều hơn một hành lang.

Input

Dòng đầu gồm 2 số N, M – số phòng và số hành lang.
M dòng sau, dòng i gồm 3 số u i v i c i thể hiện một hành lang.
Giới hạn : 2 <= N <= 100000
1 <= M <= 200000
1 <= u i , v i <= N
1 <= c i <= 10 9

Có 33% số test có N <= 100.

Output

Dòng đầu ghi K – độ dài đường đi ngắn nhất từ phòng 1 đến phòng N.
Dòng thứ hai ghi K số là màu của K hành lang theo thứ tự được dùng để đi từ phòng 1 đến phòng N.

Example

Input:

4 6

1 3 2

3 4 3

1 2 1

2 4 4

3 1 1

2 3 1  Output:

2

1 3


  • Người up: yellowflash12
  • Nguồn bài: by winterwolf94