#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
bool vis[N];
int main() {
  int n, k;
  scanf("%d %d", &n, &k);
  int a[n];
  for (int i = 0; i < n; i++) {
    scanf("%d", a + i);
  }
  if (k >= 3) {
    sort(a, a + n);
    cout << a[n - 1];
    return 0;
  } else {
    if (k == 1) {
      sort(a, a + n);
      cout << a[0];
      return 0;
    } else if (k == 2) {
      int s = a[n - 1], v = a[0];
      sort(a, a + n);
      cout << max(s, max(a[0], v));
    }
  }
  return 0;
}
