A. Сережа и обмены
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Как обычно, у Сережи есть массив a, элементами которого являются целые числа: a[1], a[2], ..., a[n]. Введем обозначения:

Операцией обмена назовем следующую последовательность действий:

  • выбрать два индекса i, j (i ≠ j);
  • выполнить присвоения tmp = a[i], a[i] = a[j], a[j] = tmp.

Какое максимальное значение функции m(a) может получить Сережа, если ему разрешается выполнить не более k операций обмена?

Входные данные

Первая строка содержит два целых числа n и k (1 ≤ n ≤ 200; 1 ≤ k ≤ 10). Следующая строка содержит n целых чисел a[1], a[2], ..., a[n] ( - 1000 ≤ a[i] ≤ 1000).

Выходные данные

В единственную строку выведите максимальное значение m(a), которое может получить Сережа, выполнив не более k обменов.

Примеры
Входные данные
10 2
10 -1 2 2 2 2 2 2 -1 10
Выходные данные
32
Входные данные
5 10
-1 -1 -1 -1 -1
Выходные данные
-1