В бассейне длины \(l\) собираются поплавать \(n\) человек. Все люди начинают плавать одновременно (в момент \(0\)), но можно считать, что они плавают по разным дорожками, а потому не создают помех друг другу.
Каждый пловец плывет по следующему маршруту: он стартует в точке \(0\) и плывет в точку \(l\) с постоянной скоростью (у \(i\)-го пловца скорость \(v_i\) единиц в секунду). Достигнув точки \(l\), он моментально (за незначительно малое время) разворачивается и плывет назад в точку \(0\) с той же постоянной скоростью. После возвращения в точку \(0\) он моментально разворачивается и плывет в точку \(l\), и так далее.
Назовем некоторый действительный момент времени моментом встречи, если хотя бы два пловца оказались в одной и той же точке бассейна в данный момент (точка может быть как \(0\) или \(l\), так и любая другая действительная точка в пределах бассейна).
Бассейн будет открыт для плавания на \(t\) секунд. Посчитайте количество моментов встречи, пока бассейн открыт. Так как ответ может быть очень большим, выведите его по модулю \(10^9 + 7\).
Выходные данные
Выведите одно целое число — количество моментов встреч (включая момент \(t\), если нужно, и исключая момент \(0\)) по модулю \(10^9 + 7\).