import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class NickyEnMark {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int k = scanner.nextInt();

		int[] times = new int[Math.min(k, n)];

		int ans = -1;
		int mi = 1000;
		int pos = Math.min(k, n);

		for (int i = 0; i < Math.min(k, n); i++) {
			int d = scanner.nextInt();
			times[i] = d;
			mi = Math.min(mi, d);
		}
		ans = Math.max(ans, mi);

		for (int i = 0; i < Math.min(k, n); i++) {
			times[i] -= mi;
		}

		while (hasNonZeroes(times) || pos < n) {
			if (pos < n) {
				for (int i = 0; i < times.length; i++) {
					if (times[i] == 0) {
						if (pos < n) {
							int d = scanner.nextInt();
							pos++;
							times[i] = d;
						}
					}
				}
			}

			mi = 1000;
			for (int time : times) {
				if (time == 0) {
					continue;
				}

				mi = Math.min(mi, time);
			}
			ans = Math.max(ans, mi);

			for (int i = 0; i < Math.min(k, n); i++) {
				if (times[i] == 0) {
					continue;
				}

				times[i] -= mi;
			}
		}

		System.out.println(ans);
	}

	public static boolean hasNonZeroes(int[] data) {
		for (int d : data) {
			if (d != 0) {
				return true;
			}
		}

		return false;
	}
}
