H. Великий марафон
ограничение по времени на тест
4 seconds
ограничение по памяти на тест
256 megabytes
ввод
стандартный ввод
вывод
стандартный вывод

В день празднования Дня Зависимости в Берляндии, было решено устроить грандиозный марафон. Берляндия состоит из n городов, некоторые из которых связаны двусторонними дорогами. Каждая дорога имеет некоторую длину. Города пронумерованы от 1 до n. Известно, что из любого города можно добраться по дорогам в любой другой.

В соревновании принимают участие n бегунов, по одному из каждого города. Но берляндские бегуны по своей натуре — болтуны, и поэтому жюри приняло меры для предотвращения больших скоплений участников марафона. Жюри решило, чтобы каждый спортсмен стартовал из своего родного города. Перед стартом каждый спортсмен получит листок бумаги, на котором будет написано, в каком городе у него расположен финиш. Финиш для каждого спортсмена назначается случайным образом, но не может совпадать с его стартом. Допускается, чтобы у нескольких спортсменов финиш располагался в одном и том же городе. Все спортсмены стартуют одновременно, и каждый бежит от старта до финиша по кратчайшему маршруту. Скорости всех спортсменов одинаковые и равны 1.

По итогам соревнования будет составлена таблица результатов, в которой спортсмены будут отсортированы по неубыванию времени, которое они потратили на преодоление дистанции. Первые g спортсменов в этой таблице получат золотые медали, следующие s спортсменов — серебряные, а остальные бронзовые. Причем, если два или более спортсмена потратили одинаковое время на преодоление дистанции, то они упорядочиваются по возрастанию номеров городов, из которых они стартовали. Из этого следует, что никакие два спортсмена не делят одно и то же место.

По правилам соревнования количество золотых медалей g должно удовлетворять неравенству g1 ≤ g ≤ g2, где g1 и g2 исторически сложившиеся значения. Аналогично, количество серебряных медалей s должно удовлетворять неравенству s1 ≤ s ≤ s2, где s1 и s2 тоже исторически сложившиеся значения.

В настоящий момент, до начала соревнования, неизвестны пункты назначения каждого из спортсменов. Однако пресса требует каких-либо подробностей, и поэтому Вам поручили подсчитать количество способов распределить медали. Два способа распределения считаются различными, если хотя бы один спортсмен получил при этих распределениях медали разного достоинства.

Входные данные

В первой строке входных данных заданы целые числа n и m (3 ≤ n ≤ 50, n - 1 ≤ m ≤ 1000), где n — количество городов в Берляндии, а m — количество дорог.

Далее в m строках даны описания дорог в виде тройки целых чисел v, u, c — номера соединяемых городов и ее длина (1 ≤ v, u ≤ n, v ≠ u, 1 ≤ c ≤ 1000). Между каждой парой городов — не более одной дороги.

В последней строке записаны целые числа g1, g2, s1, s2 (1 ≤ g1 ≤ g2, 1 ≤ s1 ≤ s2, g2 + s2 < n). Числа во входных данных, расположенные на одной строке, разделены пробелом.

Выходные данные

Выведите единственное число — количество способов распределить медали. Гарантируется, что это число помещается в стандартный знаковый 64-битный тип данных.

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