Task
Time limit: 1000 ms,
Memory limit: 256 Mb

Вы работаете менеджером и составляете план работ на следущий месяц. Каждый месяц разделён на T равных единиц времени. Всего имеется n задач, которые необходимо сделать. Однако, вы понимаете, что, возможно, успеть сделать все задачи за месяц не получится и хотите составить оптимальный план, выбрав для выполнения некоторые из них.

Про каждую задачу известно время ti, которое нужно затратить, чтобы сделать её, а также прибыль pi, которую сделанная задача принесёт компании. Вы хотите включить в план некоторые задачи так, чтобы:

  • Суммарное время, затраченное на выполнение задач, включённых в план, не превышало T.
  • Суммарная прибыль от выполнения этих задач была максимальна.
Составьте план, обладающий описанными выше свойствами и определите прибыль, получаемую в результате выполнения этого плана.

 

Обратите внимание на то, что единственный подходящий под условия план может не содержать ни одной задачи.

Формат входного файла

В первой строке входного файла input.txt находятся натуральные числа T (1 ≤ T ≤ 100 000) и n (1 ≤ n ≤ 10) — число единиц времени в месяце и число задач.

Следующие n строк содержат по два натуральных числа ti и pi (1 ≤ ti, pi ≤ 100 000) — время, которое необходимо затратить на выполнение i-й задачи и прибыль, которую можно получить, выполнив её.

Формат выходного файла

Выведите единственное число — максимальная прибыль, которую можно получить, составив план, удовлетворяющий написанным выше условиям.

Пример входных и выходных данных

Ввод Вывод
10 3
8 100
3 10
3 10
100
10 4
5 10
5 20
2 5
2 6
31

Auto CHOOSE THE PROGRAMMING NECESSARY LANGUAGE!
Attach the program source file:
or enter the source code in the language:

Rules for designing programs and a list of errors during automatic task verification
           

Results: