#include <bits/stdc++.h>
using namespace std;
long long Pow(long long x, long long y, long long m) {
  if (y == 0) return 1;
  long long p = Pow(x, y / 2, m) % m;
  p = (p * p) % m;
  return (y % 2 == 0) ? p : (x * p) % m;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long i, j;
  long long n, k;
  cin >> n >> k;
  vector<long long> a(n);
  for (i = 0; i < n; i++) cin >> a[i];
  multiset<pair<long long, long long> > ms;
  map<long long, long long> m;
  for (i = 0; i < k; i++) {
    if (m[a[i]] == 0) {
      m[a[i]]++;
      ms.insert({1, -a[i]});
    } else {
      ms.erase(ms.find({m[a[i]], -a[i]}));
      m[a[i]]++;
      ms.insert({m[a[i]], -a[i]});
    }
  }
  for (i = k; i < n + 1; i++) {
    auto x = *(ms.begin());
    if (x.first == 1)
      cout << -x.second << "\n";
    else
      cout << "Nothing"
           << "\n";
    if (i == n + 1) break;
    ms.erase(ms.find({m[a[i - k]], -a[i - k]}));
    m[a[i - k]]--;
    if (m[a[i - k]] != 0) ms.insert({m[a[i - k]], -a[i - k]});
    if (m[a[i]] == 0)
      m[a[i]]++, ms.insert({m[a[i]], -a[i]});
    else {
      ms.erase(ms.find({m[a[i]], -a[i]}));
      m[a[i]]++;
      ms.insert({m[a[i]], -a[i]});
    }
  }
}
