Програмери
За подготовка на интернационалната олимпијада по информатика голем број на ученици ширум светот решаваат задачи на онлајн системите за информатика (еден од нив е Мендо). Здружението на информатичарите на Македонија има список на N ученици кои решаваат задачи. За секој ученик познат е бројот на задачи кои до сега ги има решено (M[i], i=1..N).
За два ученика велиме дека се добар пар ако едниот има решено точно K задачи повеќе од другиот. Од вас се бара да најдете на колку начини може да се избере добар пар ученици?
Влез
Во првиот ред се внесуваат два цели броја N и K одделени со празно место. (1≤N≤100 000, 0 ≤К≤1 000 000 000)
Во вториот ред се внесуваат N цели броеви M[i] одделени со празно место. M[i] го претставува бројот на решени задачи на i-тиот ученик (1≤М[i]≤ 1 000 000 000)
Во 20% од тест случаите М[i]≤100 000.
Излез
Еден цел број кој го претставува бројот на добри парови ученици.
Ограничувања
Временско ограничување: 200 milliseconds
Мемориско ограничување: 64 megabytes
Примери
влез 5 2 1 5 3 4 2 | излез 3 |
влез 3 0 4 3 2 | излез 0 |
Објаснување за првиот тест пример: Има вкупно 5 ученици. Добри парови ученици се учениците со решени 1 и 3 задачи, 2 и 4 задачи и 3 и 5 задачи. Оттука бројот на добри парови ученици каде едниот ученик има решени две задачи повеќе од другиот е 3.
Објаснување за вториот тест пример: Нема пар на ученици чија разлика во број на решени задачи е 0, т.е. нема пар ученици со ист број на решени задачи. Оттука бројот на добри парови ученици е 0.