#include <algorithm>
#include <cmath>
#include <climits>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <iostream>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>
#include <cassert>
// #include <bits/stdc++.h>

using namespace std;

#define LOG(...) fprintf(stderr,__VA_ARGS__)
//#define LOG(...)
#define FOR(i,a,b) for(int i=(int)(a);i<(int)(b);++i)
#define REP(i,n) for(int i=0;i<(int)(n);++i)
#define ALL(a) (a).begin(),(a).end()
#define RALL(a) (a).rbegin(),(a).rend()
#define EXIST(s,e) ((s).find(e)!=(s).end())
#define SORT(c) sort(ALL(c))
#define RSORT(c) sort(RALL(c))
#define SQ(n) (n)*(n)

typedef long long ll;
typedef unsigned long long ull;
typedef vector<bool> vb;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<vb> vvb;
typedef vector<vi> vvi;
typedef vector<vll> vvll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;



int main() {
  map<string, int> rsp;
  string sss[] = {"Rock", "Fire", "Scissors", "Snake", "Human", "Tree", "Wolf", "Sponge", "Paper", "Air", "Water", "Dragon", "Devil", "Lightning", "Gun"};
  REP(i, 15){
    rsp[sss[i]]=i;
  }

  int n;
  while(cin>>n,n){
    set<int> rsps;
    vi suffer(15);
    REP(i, n){
      string s;
      cin >> s;
      int k = rsp[s];
      rsps.insert(k);
      REP(d, 7){
        suffer[(k+1+d)%15]++;
      }
    }
    if (rsps.size() <= 1){
      cout << "Draw" << endl;
      continue;
    }
    bool flg = false;
    for(auto i:rsps){
      if (suffer[i] == 0){
        cout << sss[i]<< endl;
        flg = true;
        break;
      }
    }
    if (!flg) cout<<"Draw"<< endl;
  }
}