Морти покупает продукты

아직 제출이 없습니다시간 제한6초메모리 제한1024 MB

문제

Рик и Морти пришли в магазин. Как вы уже поняли, Рик очень любит давать Морти разные задания. И этот случай не является исключением! Сейчас ему нужно подсчитать количество способов купить kk продуктов. Всего в магазине nn продуктов. Стоимость ii-го продукта равняется c_ic\_i. Рик будет qq раз давать Морти два числа --- ll и rr, Морти в свою очередь должен сказать, сколько существует способов купить kk продуктов, чтобы их суммарная стоимость была не меньше ll и не больше rr. Обозначим покупку, как набор индексов i_1,i_2,,i_k{i\_1, i\_2, \dots, i\_k}, где i_ji\_j --- номер товара, который был куплен jj-м. Два способа покупки AA и BB называются различными, если (индекс товара, купленным dd-м будем обозначать как A_dA\_d) существует такой индекс dd, что A_dB_dA\_d \neq B\_d. Таким образом (1,2)(1, 2) и (2,1)(2, 1) это два разных способа покупки товаров. Так же, заметьте, что один продукт можно покупать сколько угодно раз.

입력

В первой строке входного файла содержатся три числа nn, kk, qq, (1n,q105)(1 \leq n, q \leq 10^5), (1k105)(1 \leq k \leq 10^5). Во второй строке находится nn целых чисел c_ic\_i обозначающих стоимости товаров. Товар с индексом ii имеет стоимость c_ic\_i. (1c_i5104)(1 \leq c\_i \leq 5 \cdot 10^4). Следующие qq строк содержат два числа ll и rr обозначающие вопрос от Рика, (1lr5104)(1 \leq l \leq r \leq 5 \cdot 10^4). Морти должен сказать, сколько существует способов купить kk продуктов, чтобы их суммарная стоимость была не меньше ll и не больше rr.

출력

В qq строках выведите ответы на запросы Рика. Так как ответ может быть очень большим, выведите его по модулю 786433786433.