Бессі та фермер Джон захоплюються перегонами на козах. Це схоже на перегони на картингах, але замість картингів використовуються кози, а траса проходить через прилеглі сільськогосподарські угіддя. Угіддя складаються з лугів та доріг, кожна з яких з'єднує пару лугів.
Бессі планує створити кругову трасу на прилеглих фермах. Ферма - це підмножина з двох або більше лугів, де з кожного лугу можна дістатися до будь-якого іншого, використовуючи унікальну послідовність доріг.
На прилеглих сільськогосподарських угіддях може бути кілька ферм. Припустимо, вже існує ферм. Бессі хоче створити кругову трасу, з'єднавши всі ферм, додавши доріг довжини . Кожну ферму слід відвідати рівно один раз, і всередині кожної ферми необхідно пройти хоча б по одній дорозі.
Щоб траса була цікавою для гонщиків, її загальна довжина повинна бути не менше . Бессі хоче знати суму довжин усіх таких цікавих трас. Одна траса відрізняється від іншої, якщо на одній трасі є два сусідніх луги (після додавання доріг між фермами), але немає на іншій. Зверніть увагу, що мають значення лише вибрані дороги, а не напрямок, у якому по них будуть рухатися кози.
Перший рядок містить числа , , і (1 \le n \le 1500, 1 \le m \le n - 1, 0 \le x, y \le 2500). Кожен з наступних рядків описує дороги. Рядки мають вигляд a_i\ b_i\ d_i, що означає, що луги a_i і b_i з'єднані дорогою з довжиною d_i (1 \le a_i, b_i \le n, 0 \le d_i \le 2500). Кожен луг прилягає хоча б до однієї дороги, і серед доріг немає циклів.
Виведіть одне ціле число - суму довжин усіх цікавих трас. Оскільки сума довжин трас може бути досить великою, виведіть суму їх довжин за модулем 10^9 + 7.
У цьому прикладі можливих трас
1 \to 2 \to 4 \to 5 \to 1 (довжина )
1 \to 2 \to 5 \to 4 \to 1 (довжина )
2 \to 3 \to 4 \to 5 \to 2 (довжина )
2 \to 3 \to 5 \to 4 \to 2 (довжина )
1 \to 2 \to 3 \to 4 \to 5 \to 1 (довжина )
1 \to 2 \to 3 \to 5 \to 4 \to 1 (довжина )
Підсумок дорівнює 12 + 12 + 15 + 15 = 54, де враховуються лише ті траси, довжина яких не менше .
Приклад 1