#include <bits/stdc++.h>
using namespace std;
long long a[112345];
struct node {
  long long n, cnt;
} s[112345];
int main() {
  long long n, k;
  scanf("%lld%lld", &n, &k);
  for (int i = 0; i < n; i++) scanf("%lld", &a[i]);
  sort(a, a + n);
  int tot = 0;
  for (int i = 0; i < n; i++) {
    if (!i || a[i] != a[i - 1])
      s[tot].n = a[i], s[tot++].cnt = 1;
    else
      s[tot - 1].cnt++;
  }
  for (int i = 0; i < tot; i++) {
    if (k <= s[i].cnt * n) {
      printf("%lld", s[i].n);
      for (int j = 0; j < tot; j++) {
        if (k <= s[j].cnt * s[i].cnt) {
          printf(" %lld", s[j].n);
          break;
        } else
          k -= s[j].cnt * s[i].cnt;
      }
      break;
    } else
      k -= s[i].cnt * n;
  }
  return 0;
}
