#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9;
const double eps = 1e-9;
const int INF = inf;
const double EPS = eps;
struct __timestamper {};
const int MAXN = 20;
int mem[MAXN + 1][MAXN + 1][MAXN + 1][2];
int go(int a, int b, int k, int turn) {
  int res = mem[a][b][k][turn];
  if (res >= 0) return res;
  if (!k) {
    return res = (b % 2 == turn);
  }
  if (a && !go(a - 1, b, k - 1, !turn)) return res = true;
  if (b && !go(a, b - 1, k - 1, !turn)) return res = true;
  return res = false;
}
int calc1(int a, int b, int k) {
  if (k == 0) {
    return b % 2;
  }
  if (k % 2 == 0) {
    if (a <= k / 2) {
      return (a + b) % 2;
    }
    if (a + b <= k) {
      return (a + b) % 2;
    }
    return 0;
  }
  if (a + b <= k - 1) {
    return (a + b) % 2;
  }
  if (a >= (k + 1) / 2) {
    return b >= (k + 1) / 2;
  }
  return (a + b + 1) % 2;
}
int main() {
  memset(mem, -1, sizeof mem);
  for (int k = 0; k < (MAXN + 1); k++) {
    for (int a = 0; a < (MAXN); a++) {
      for (int b = 0; b < (MAXN); b++) {
        int tmp = calc1(a, b, k);
        if (tmp >= 0) {
          if (go(a, b, k, 1) != tmp) {
            ;
            return 0;
          }
        }
      }
    }
  }
  int n, k;
  while (scanf("%d%d", &n, &k) == 2) {
    k = n - k;
    int a = 0, b = 0;
    for (int i = 0; i < (n); i++) {
      int x;
      scanf("%d", &x);
      if (x % 2 == 0)
        a++;
      else
        b++;
    }
    bool res = calc1(a, b, k);
    if (res)
      printf("Stannis\n");
    else
      printf("Daenerys\n");
  }
  return 0;
}
