#include <bits/stdc++.h>
using namespace std;
template <typename T>
ostream& operator<<(ostream& os, const vector<T>& v) {
  os << "{ ";
  for (typename vector<T>::const_iterator it = v.begin(); it != v.end(); ++it)
    os << '\"' << *it << '\"' << (it + 1 == v.end() ? "" : ", ");
  os << " }";
  return os;
}
int main() {
  int n, k;
  ios::sync_with_stdio(false);
  cin >> n >> k;
  map<int, int> cnt;
  set<int> uni;
  vector<int> h(n);
  int a;
  for (int i = 0; i < k - 1; i++) {
    cin >> h[i];
    cnt[h[i]]++;
  }
  for (typeof(cnt.begin()) it = cnt.begin(); it != cnt.end(); it++)
    if (it->second == 1) uni.insert(-it->first);
  const long long fail = -1e10;
  bool ok = false;
  long long mx = fail;
  int are = 0;
  for (int i = k - 1; i < n; i++) {
    cin >> h[i];
    cnt[h[i]]++;
    if (cnt[h[i]] == 1)
      uni.insert(-h[i]);
    else
      uni.erase(-h[i]);
    if (uni.empty())
      cout << "Nothing" << endl;
    else
      cout << -*uni.begin() << endl;
    cnt[h[i - k + 1]]--;
    if (h[i - k + 1] >= mx) ok = false;
    if (cnt[h[i - k + 1]] == 1)
      uni.insert(-h[i - k + 1]);
    else
      uni.erase(-h[i - k + 1]);
    if (cnt[h[i - k + 1]] == 0) cnt.erase(h[i - k + 1]);
  }
}
