Олимпиадный тренинг

Задача . D. Dijkstra


Задача

Темы:

This is an unusual problem in an unusual contest, here is the announcement: http://cf.m27.workers.dev/blog/entry/73543

Find the distance between vertices \(1\) and \(n\) in an undirected weighted graph.

Input

The first line contains two integers \(n, m\) (\(1 \leq n, m \leq 2 \cdot 10^5\)) — the number of vertices and the number of edges.

Each of the next \(m\) lines contain description of an edge \(a_i~b_i~cost_i\) (\(1 \leq a_i, b_i \leq n\), \(1 \leq cost_i \leq 10^9\)).

Loops and multiple edges? Hmm, why not?

Output

Print one integer — the answer to the problem. If there is no path, print \(-1\) instead.


Примеры
Входные данныеВыходные данные
1 3 3
1 2 5
2 3 1
1 3 7
6

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя