stablegradients/pie-gem5-pairs huggingface dataset:
// Slower C++ solution:
#include <iostream>

#include <map>

#include <algorithm>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

struct numble

{

	int xuhao;

	int shuzhi;

	numble(int a=0,int b=0)

	{

		xuhao=a; shuzhi=b;

	}	

};

numble t[100100];



bool judge(numble a,numble b)

{

	return a.shuzhi<b.shuzhi;

}

int main(int argc, char** argv) {

	int n;

	int tem;

	scanf("%d",&n);

	for(int i=0;i<n;i++)

	{

		scanf("%d",&tem);

		t[i]=numble(i+1,tem);

	}

	sort(t,t+n,judge);

	for(int i=0;i<n;i++)

	{

		printf("%d ",t[i].xuhao);

	}

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 1.7945476760437984x):
#include <iostream>

#include <algorithm>

using namespace std;



int n;

pair<int, int> a[100007];



int main() {

    cin >> n;

    for (int i = 1; i <= n; i++) {

        cin >> a[i].first;

        a[i].second = i;

    }

    sort(a + 1, a + n + 1, [](auto a, auto b) -> bool { return a.first < b.first; });

    for (int i = 1; i <= n; i++) {

        cout << a[i].second << ' ';

    }

    cout << endl;

    return 0;

}
// Slower C++ solution:
#include <iostream>

#include <map>

#include <algorithm>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

struct numble

{

	int xuhao;

	int shuzhi;

	numble(int a=0,int b=0)

	{

		xuhao=a; shuzhi=b;

	}	

};

numble t[100100];



bool judge(numble a,numble b)

{

	return a.shuzhi<b.shuzhi;

}

int main(int argc, char** argv) {

	int n;

	int tem;

	scanf("%d",&n);

	for(int i=0;i<n;i++)

	{

		scanf("%d",&tem);

		t[i]=numble(i+1,tem);

	}

	sort(t,t+n,judge);

	for(int i=0;i<n;i++)

	{

		printf("%d ",t[i].xuhao);

	}

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 1.7975458873470378x):
#include <iostream>

#include <sstream>

#include <iomanip>

#include <vector>

#include <deque>

#include <list>

#include <set>

#include <map>

#include <stack>

#include <queue>

#include <bitset>

#include <string>

#include <numeric>

#include <algorithm>

#include <functional>

#include <iterator>

#include <cstdio>

#include <cstring>

#include <cmath>

#include <cstdlib>

#include <cctype>

#include <complex>

#include <ctime>

#define ll long long

#define N 100010

using namespace std;

set<pair<int,int> > s;

set<pair<int,int> >::iterator it;

int a[N];



int main(){

	int n;

	scanf("%d",&n);

	for(int i=1;i<=n;i++)

    {

        scanf("%d",a+i);

        s.insert(make_pair(a[i],i));

    }

    int i=0;

    for(it=s.begin();it!=s.end();++it)

    {

        i++;

        printf("%d%c",it->second,i==n?'\n':' ');

    }



	return 0;

}
// Slower C++ solution:
#include <iostream>

#include <map>

#include <algorithm>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

struct numble

{

	int xuhao;

	int shuzhi;

	numble(int a=0,int b=0)

	{

		xuhao=a; shuzhi=b;

	}	

};

numble t[100100];



bool judge(numble a,numble b)

{

	return a.shuzhi<b.shuzhi;

}

int main(int argc, char** argv) {

	int n;

	int tem;

	scanf("%d",&n);

	for(int i=0;i<n;i++)

	{

		scanf("%d",&tem);

		t[i]=numble(i+1,tem);

	}

	sort(t,t+n,judge);

	for(int i=0;i<n;i++)

	{

		printf("%d ",t[i].xuhao);

	}

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 1.7800469090766913x):
#include<bits/stdc++.h>

#define ll long long

#define pr pair<ll,ll>

using namespace std;

int main() {

	int n;

	cin >> n;

	vector<pr > Q;

	for (int i = 0; i < n; i++) {

		int a;

		cin >> a;

		Q.push_back({ a,i });

	}

	sort(Q.begin(), Q.end());

	for (pr p : Q) {

		cout << p.second+1<<' ';

	}

	return 0;

}
// Slower C++ solution:
#include <iostream>

#include <map>

#include <algorithm>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

struct numble

{

	int xuhao;

	int shuzhi;

	numble(int a=0,int b=0)

	{

		xuhao=a; shuzhi=b;

	}	

};

numble t[100100];



bool judge(numble a,numble b)

{

	return a.shuzhi<b.shuzhi;

}

int main(int argc, char** argv) {

	int n;

	int tem;

	scanf("%d",&n);

	for(int i=0;i<n;i++)

	{

		scanf("%d",&tem);

		t[i]=numble(i+1,tem);

	}

	sort(t,t+n,judge);

	for(int i=0;i<n;i++)

	{

		printf("%d ",t[i].xuhao);

	}

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 1.7905520174498786x):


#include<bits/stdc++.h>

#define fr(i,j,n)   for(int i=j;i<n;i++)

#define pb          push_back

#define rf(i,j,p)   for(int i=p;i>=j;i--)

#define vi          vector<int>

#define vll         vector<long long>

#define ll          long long

#define hmm         "\n"

#define sp          " "

#define srt(v)      sort(v.begin(), v.end());

#define down        cout<<hmm;

#define faaast      ios_base::sync_with_stdio(0);cin.tie(nullptr);

using namespace std;

int main()

{

 vector<pair<int, int>>v ;

 int n ; cin >> n ;

 fr(i,1,n+1)

 {

      int tem ;  cin >> tem ;

     v.pb({tem,i});

 }

 srt(v);

 fr(i,0,n)

 {

     cout<<v[i].second<<sp;

 }down ;

}
// Slower C++ solution:
#include <iostream>

#include <map>

#include <algorithm>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

struct numble

{

	int xuhao;

	int shuzhi;

	numble(int a=0,int b=0)

	{

		xuhao=a; shuzhi=b;

	}	

};

numble t[100100];



bool judge(numble a,numble b)

{

	return a.shuzhi<b.shuzhi;

}

int main(int argc, char** argv) {

	int n;

	int tem;

	scanf("%d",&n);

	for(int i=0;i<n;i++)

	{

		scanf("%d",&tem);

		t[i]=numble(i+1,tem);

	}

	sort(t,t+n,judge);

	for(int i=0;i<n;i++)

	{

		printf("%d ",t[i].xuhao);

	}

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 1.7725739665155884x):
// #pragma GCC optimize("Ofast")

// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,fma")

// #pragma GCC optimize("unroll-loops")







#include<bits/stdc++.h>

using namespace std;

#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)

// #include<ext/pb_ds/assoc_container.hpp>

// #include<ext/pb_ds/tree_policy.hpp>

// #include <ext/rope>

// using namespace __gnu_pbds;

// using namespace __gnu_cxx;

// template <typename T>

// using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

// #define Find order_of_key

// #define at find_by_order

#define x first

#define y second

#define ll long long

#define lll __int128

#define ull unsigned long long

#define ulll unsigned __int128

#define pii pair<int,int>

#define pb push_back

#define eb emplace_back

#define gu getchar_unlocked()

#define pu putchar_unlocked()

#define all(x) x.begin(),x.end()

#define endl '\n'



pii arr[100010];

int n;

int main()

{

	fast;

	cin>>n;

	for(int i=1;i<=n;i++){

		cin>>arr[i].x;

		arr[i].y=i;

	}

	sort(arr+1,arr+1+n);

	for(int i=1;i<=n;i++)cout<<arr[i].y<<" \n"[i==n];

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

int a,b;

cin>>a>>b;

if(a==1&&a!=b)

    cout<<"Alice\n";

 if(a>b&&b!=1)

    cout<<"Alice\n";

if(b>a&&a!=1)

cout<<"Bob\n";

if(b==1&&a!=b)

    cout<<"Bob\n";

    if(a==b)

        cout<<"Draw\n";

return 0;











}


// Faster C++ solution for the same problem (measured speedup: 5.313872299560104x):
#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <string.h>

#include <map>

#include <set>

#include <vector>

#include <functional>

#include <algorithm>

#include <stack>

#include <list>

#include <queue>

//#include <iostream>

//#include <sstream>

using namespace std;

#define all(cont) cont.begin(), cont.end()

#define rall(cont) cont.end(), cont.begin()

#define mp make_pair

#define pb push_back

#define fs first

#define sc second

#define pf printf

#define sf scanf

#define fr(i, a, b) for(int i = a ; i < b ; i++)

#define frr(i, a, b) for(int i = a ; i >= b ; i--)

#define tr(it, var) for(__typeof(var.begin()) it = var.begin(); it != var.end(); it++)

#define trr(rit, var) for(__typeof(var.rbegin()) rit = var.rbegin(); rit != var.rend(); rit++)

#define its(x) static_cast< ostringstream & >( ( ostringstream() << dec << x ) ).str()

#define boost ios_base::sync_with_stdio(false); cin.tie(NULL)

#define deb(x) cout << #x" = " << x << '\n'

#define debd(x) pf("%s = %d\n", #x, x)

#define debs(x) pf("%s = %s\n", #x, s)

#define debll(x) pf("%s = %lld\n", #x, x)

#define has(cont, x) ((cont).find((x)) != (cont).end())

#define sz(x) ((int)(x).size())

//typedef

typedef long long ll;

typedef unsigned long long ull;

typedef long double ld;

typedef pair<int, int> pii;

typedef pair<ll, ll> pll;

typedef vector<int> vi;

//bitmask

int onbit(int x, int pos) {x |= (1 << pos); return pos;}

int offbit(int x, int pos) {x &= ~(1 << pos); return x;}

int test(int x, int pos) {return x & (1 << pos);}

int flip(int x, int pos) {x ^= (1 << pos); return x;}

int lsb(int x) {return x & (-x);}

int onbitall(int x, int pos) {x = (1 << pos)-1; return x;}

//constants

const double EPS = 1e-9;

const double PI = 2*acos(0.0);

const int INF = 0x3f3f3f3f;

const int MOD = 1e9+7;

//moves

const int dx1[] = {0, 1, 0, -1};

const int dy1[] = {1, 0, -1, 0};

const int dx2[] = {-1, -1, -1, 0, 0, 1, 1, 1};

const int dy2[] = {-1, 0, 1, -1, 1, -1, 0, 1};





int main() {

//    freopen("input.in", "r", stdin);

	int a, b;

	sf("%d %d", &a, &b);

	if(a == 1) a+= INF;

	if(b == 1) b += INF;

	bool draw = (a==b);

	

	if(draw) puts("Draw");

	else puts(a > b ? "Alice" : "Bob");

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

int main()

{

    int a,b;

    cin>>a>>b;

    if(a==b)

        cout<<"Draw"<<endl;

    else if(a==1)

        cout<<"Alice"<<endl;

    else if(b==1)

        cout<<"Bob"<<endl;

    else if(a>b)

        cout<<"Alice"<<endl;

    else if(b>a)

        cout<<"Bob"<<endl;





    return 0;

}




// Faster C++ solution for the same problem (measured speedup: 5.327915478240094x):
#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <string.h>

#include <map>

#include <set>

#include <vector>

#include <functional>

#include <algorithm>

#include <stack>

#include <list>

#include <queue>

//#include <iostream>

//#include <sstream>

using namespace std;

#define all(cont) cont.begin(), cont.end()

#define rall(cont) cont.end(), cont.begin()

#define mp make_pair

#define pb push_back

#define fs first

#define sc second

#define pf printf

#define sf scanf

#define fr(i, a, b) for(int i = a ; i < b ; i++)

#define frr(i, a, b) for(int i = a ; i >= b ; i--)

#define tr(it, var) for(__typeof(var.begin()) it = var.begin(); it != var.end(); it++)

#define trr(rit, var) for(__typeof(var.rbegin()) rit = var.rbegin(); rit != var.rend(); rit++)

#define its(x) static_cast< ostringstream & >( ( ostringstream() << dec << x ) ).str()

#define boost ios_base::sync_with_stdio(false); cin.tie(NULL)

#define deb(x) cout << #x" = " << x << '\n'

#define debd(x) pf("%s = %d\n", #x, x)

#define debs(x) pf("%s = %s\n", #x, s)

#define debll(x) pf("%s = %lld\n", #x, x)

#define has(cont, x) ((cont).find((x)) != (cont).end())

#define sz(x) ((int)(x).size())

//typedef

typedef long long ll;

typedef unsigned long long ull;

typedef long double ld;

typedef pair<int, int> pii;

typedef pair<ll, ll> pll;

typedef vector<int> vi;

//bitmask

int onbit(int x, int pos) {x |= (1 << pos); return pos;}

int offbit(int x, int pos) {x &= ~(1 << pos); return x;}

int test(int x, int pos) {return x & (1 << pos);}

int flip(int x, int pos) {x ^= (1 << pos); return x;}

int lsb(int x) {return x & (-x);}

int onbitall(int x, int pos) {x = (1 << pos)-1; return x;}

//constants

const double EPS = 1e-9;

const double PI = 2*acos(0.0);

const int INF = 0x3f3f3f3f;

const int MOD = 1e9+7;

//moves

const int dx1[] = {0, 1, 0, -1};

const int dy1[] = {1, 0, -1, 0};

const int dx2[] = {-1, -1, -1, 0, 0, 1, 1, 1};

const int dy2[] = {-1, 0, 1, -1, 1, -1, 0, 1};





int main() {

//    freopen("input.in", "r", stdin);

	int a, b;

	sf("%d %d", &a, &b);

	if(a == 1) a+= INF;

	if(b == 1) b += INF;

	bool draw = (a==b);

	

	if(draw) puts("Draw");

	else puts(a > b ? "Alice" : "Bob");

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

int main()

{

    int a,b;

    cin>>a>>b;

    if(a>b)

    {

        if(b==1 && b<a)

        {

            cout<<"Bob"<<endl;

        }

        else

            cout<<"Alice"<<endl;

    }

    else if(a<b)

    {

        if(a==1 && a<b)

        {

            cout<<"Alice"<<endl;

        }

        else

            cout<<"Bob"<<endl;

    }

    else

        cout<<"Draw"<<endl;

}


// Faster C++ solution for the same problem (measured speedup: 5.32808923050808x):
#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <string.h>

#include <map>

#include <set>

#include <vector>

#include <functional>

#include <algorithm>

#include <stack>

#include <list>

#include <queue>

//#include <iostream>

//#include <sstream>

using namespace std;

#define all(cont) cont.begin(), cont.end()

#define rall(cont) cont.end(), cont.begin()

#define mp make_pair

#define pb push_back

#define fs first

#define sc second

#define pf printf

#define sf scanf

#define fr(i, a, b) for(int i = a ; i < b ; i++)

#define frr(i, a, b) for(int i = a ; i >= b ; i--)

#define tr(it, var) for(__typeof(var.begin()) it = var.begin(); it != var.end(); it++)

#define trr(rit, var) for(__typeof(var.rbegin()) rit = var.rbegin(); rit != var.rend(); rit++)

#define its(x) static_cast< ostringstream & >( ( ostringstream() << dec << x ) ).str()

#define boost ios_base::sync_with_stdio(false); cin.tie(NULL)

#define deb(x) cout << #x" = " << x << '\n'

#define debd(x) pf("%s = %d\n", #x, x)

#define debs(x) pf("%s = %s\n", #x, s)

#define debll(x) pf("%s = %lld\n", #x, x)

#define has(cont, x) ((cont).find((x)) != (cont).end())

#define sz(x) ((int)(x).size())

//typedef

typedef long long ll;

typedef unsigned long long ull;

typedef long double ld;

typedef pair<int, int> pii;

typedef pair<ll, ll> pll;

typedef vector<int> vi;

//bitmask

int onbit(int x, int pos) {x |= (1 << pos); return pos;}

int offbit(int x, int pos) {x &= ~(1 << pos); return x;}

int test(int x, int pos) {return x & (1 << pos);}

int flip(int x, int pos) {x ^= (1 << pos); return x;}

int lsb(int x) {return x & (-x);}

int onbitall(int x, int pos) {x = (1 << pos)-1; return x;}

//constants

const double EPS = 1e-9;

const double PI = 2*acos(0.0);

const int INF = 0x3f3f3f3f;

const int MOD = 1e9+7;

//moves

const int dx1[] = {0, 1, 0, -1};

const int dy1[] = {1, 0, -1, 0};

const int dx2[] = {-1, -1, -1, 0, 0, 1, 1, 1};

const int dy2[] = {-1, 0, 1, -1, 1, -1, 0, 1};





int main() {

//    freopen("input.in", "r", stdin);

	int a, b;

	sf("%d %d", &a, &b);

	if(a == 1) a+= INF;

	if(b == 1) b += INF;

	bool draw = (a==b);

	

	if(draw) puts("Draw");

	else puts(a > b ? "Alice" : "Bob");

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

    int a,b;

    cin>>a>>b;

    if(a==b)

        cout<<"Draw"<<endl;



      else if(a!=1&&b!=1){

       if(a>b)

       cout<<"Alice"<<endl;

       else

        cout<<"Bob"<<endl;}

        else if(a==1)

            cout<<"Alice"<<endl;

         else if(b==1)

            cout<<"Bob"<<endl;

   }


// Faster C++ solution for the same problem (measured speedup: 5.32759614548095x):
#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <string.h>

#include <map>

#include <set>

#include <vector>

#include <functional>

#include <algorithm>

#include <stack>

#include <list>

#include <queue>

//#include <iostream>

//#include <sstream>

using namespace std;

#define all(cont) cont.begin(), cont.end()

#define rall(cont) cont.end(), cont.begin()

#define mp make_pair

#define pb push_back

#define fs first

#define sc second

#define pf printf

#define sf scanf

#define fr(i, a, b) for(int i = a ; i < b ; i++)

#define frr(i, a, b) for(int i = a ; i >= b ; i--)

#define tr(it, var) for(__typeof(var.begin()) it = var.begin(); it != var.end(); it++)

#define trr(rit, var) for(__typeof(var.rbegin()) rit = var.rbegin(); rit != var.rend(); rit++)

#define its(x) static_cast< ostringstream & >( ( ostringstream() << dec << x ) ).str()

#define boost ios_base::sync_with_stdio(false); cin.tie(NULL)

#define deb(x) cout << #x" = " << x << '\n'

#define debd(x) pf("%s = %d\n", #x, x)

#define debs(x) pf("%s = %s\n", #x, s)

#define debll(x) pf("%s = %lld\n", #x, x)

#define has(cont, x) ((cont).find((x)) != (cont).end())

#define sz(x) ((int)(x).size())

//typedef

typedef long long ll;

typedef unsigned long long ull;

typedef long double ld;

typedef pair<int, int> pii;

typedef pair<ll, ll> pll;

typedef vector<int> vi;

//bitmask

int onbit(int x, int pos) {x |= (1 << pos); return pos;}

int offbit(int x, int pos) {x &= ~(1 << pos); return x;}

int test(int x, int pos) {return x & (1 << pos);}

int flip(int x, int pos) {x ^= (1 << pos); return x;}

int lsb(int x) {return x & (-x);}

int onbitall(int x, int pos) {x = (1 << pos)-1; return x;}

//constants

const double EPS = 1e-9;

const double PI = 2*acos(0.0);

const int INF = 0x3f3f3f3f;

const int MOD = 1e9+7;

//moves

const int dx1[] = {0, 1, 0, -1};

const int dy1[] = {1, 0, -1, 0};

const int dx2[] = {-1, -1, -1, 0, 0, 1, 1, 1};

const int dy2[] = {-1, 0, 1, -1, 1, -1, 0, 1};





int main() {

//    freopen("input.in", "r", stdin);

	int a, b;

	sf("%d %d", &a, &b);

	if(a == 1) a+= INF;

	if(b == 1) b += INF;

	bool draw = (a==b);

	

	if(draw) puts("Draw");

	else puts(a > b ? "Alice" : "Bob");

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

int a,b;

cin>>a>>b;

if(a==1&&a!=b)

    cout<<"Alice\n";

 if(a>b&&b!=1)

    cout<<"Alice\n";

if(b>a&&a!=1)

cout<<"Bob\n";

if(b==1&&a!=b)

    cout<<"Bob\n";

    if(a==b)

        cout<<"Draw\n";

return 0;











}


// Faster C++ solution for the same problem (measured speedup: 5.2009699564565075x):
#include<stdio.h>

#include<stdlib.h>

int main(void){

	int a,b;

	scanf("%d",&a);

	scanf("%d",&b);

	if(a>b&&b!=1){

		printf("Alice\n");

	} if(a!=1&&a<b){

		printf("Bob\n");

	} if(a==b){

		printf("Draw\n");

	} if(a==1&&b>1){

		printf("Alice\n");

	} if(a>1&&b==1){

		printf("Bob\n");

	}

	system("pause");

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

int main()

{

    int a,b;

    cin>>a>>b;

    if(a==b)

        cout<<"Draw"<<endl;

    else if(a==1)

        cout<<"Alice"<<endl;

    else if(b==1)

        cout<<"Bob"<<endl;

    else if(a>b)

        cout<<"Alice"<<endl;

    else if(b>a)

        cout<<"Bob"<<endl;





    return 0;

}




// Faster C++ solution for the same problem (measured speedup: 5.21471476368754x):
#include<stdio.h>

#include<stdlib.h>

int main(void){

	int a,b;

	scanf("%d",&a);

	scanf("%d",&b);

	if(a>b&&b!=1){

		printf("Alice\n");

	} if(a!=1&&a<b){

		printf("Bob\n");

	} if(a==b){

		printf("Draw\n");

	} if(a==1&&b>1){

		printf("Alice\n");

	} if(a>1&&b==1){

		printf("Bob\n");

	}

	system("pause");

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

int main()

{

    int a,b;

    cin>>a>>b;

    if(a>b)

    {

        if(b==1 && b<a)

        {

            cout<<"Bob"<<endl;

        }

        else

            cout<<"Alice"<<endl;

    }

    else if(a<b)

    {

        if(a==1 && a<b)

        {

            cout<<"Alice"<<endl;

        }

        else

            cout<<"Bob"<<endl;

    }

    else

        cout<<"Draw"<<endl;

}


// Faster C++ solution for the same problem (measured speedup: 5.214884824290189x):
#include<stdio.h>

#include<stdlib.h>

int main(void){

	int a,b;

	scanf("%d",&a);

	scanf("%d",&b);

	if(a>b&&b!=1){

		printf("Alice\n");

	} if(a!=1&&a<b){

		printf("Bob\n");

	} if(a==b){

		printf("Draw\n");

	} if(a==1&&b>1){

		printf("Alice\n");

	} if(a>1&&b==1){

		printf("Bob\n");

	}

	system("pause");

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

    int a,b;

    cin>>a>>b;

    if(a==b)

        cout<<"Draw"<<endl;



      else if(a!=1&&b!=1){

       if(a>b)

       cout<<"Alice"<<endl;

       else

        cout<<"Bob"<<endl;}

        else if(a==1)

            cout<<"Alice"<<endl;

         else if(b==1)

            cout<<"Bob"<<endl;

   }


// Faster C++ solution for the same problem (measured speedup: 5.2144022157012895x):
#include<stdio.h>

#include<stdlib.h>

int main(void){

	int a,b;

	scanf("%d",&a);

	scanf("%d",&b);

	if(a>b&&b!=1){

		printf("Alice\n");

	} if(a!=1&&a<b){

		printf("Bob\n");

	} if(a==b){

		printf("Draw\n");

	} if(a==1&&b>1){

		printf("Alice\n");

	} if(a>1&&b==1){

		printf("Bob\n");

	}

	system("pause");

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

int a,b;

cin>>a>>b;

if(a==1&&a!=b)

    cout<<"Alice\n";

 if(a>b&&b!=1)

    cout<<"Alice\n";

if(b>a&&a!=1)

cout<<"Bob\n";

if(b==1&&a!=b)

    cout<<"Bob\n";

    if(a==b)

        cout<<"Draw\n";

return 0;











}


// Faster C++ solution for the same problem (measured speedup: 5.312448041271337x):
#include<cstdio>

#include<algorithm>

using namespace std;

char str[200005];

int main(){

    int a, b;

    scanf("%d%d",&a,&b);



    if(a==1){

        if(b==1)

            puts("Draw");

        else

            puts("Alice");

    }else if(b==1){

        puts("Bob");

    }else

        puts((a!=b)?(a>b?"Alice":"Bob"):"Draw");



    return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

int main()

{

    int a,b;

    cin>>a>>b;

    if(a==b)

        cout<<"Draw"<<endl;

    else if(a==1)

        cout<<"Alice"<<endl;

    else if(b==1)

        cout<<"Bob"<<endl;

    else if(a>b)

        cout<<"Alice"<<endl;

    else if(b>a)

        cout<<"Bob"<<endl;





    return 0;

}




// Faster C++ solution for the same problem (measured speedup: 5.3264874560081035x):
#include<cstdio>

#include<algorithm>

using namespace std;

char str[200005];

int main(){

    int a, b;

    scanf("%d%d",&a,&b);



    if(a==1){

        if(b==1)

            puts("Draw");

        else

            puts("Alice");

    }else if(b==1){

        puts("Bob");

    }else

        puts((a!=b)?(a>b?"Alice":"Bob"):"Draw");



    return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

int main()

{

    int a,b;

    cin>>a>>b;

    if(a>b)

    {

        if(b==1 && b<a)

        {

            cout<<"Bob"<<endl;

        }

        else

            cout<<"Alice"<<endl;

    }

    else if(a<b)

    {

        if(a==1 && a<b)

        {

            cout<<"Alice"<<endl;

        }

        else

            cout<<"Bob"<<endl;

    }

    else

        cout<<"Draw"<<endl;

}


// Faster C++ solution for the same problem (measured speedup: 5.3266611617058865x):
#include<cstdio>

#include<algorithm>

using namespace std;

char str[200005];

int main(){

    int a, b;

    scanf("%d%d",&a,&b);



    if(a==1){

        if(b==1)

            puts("Draw");

        else

            puts("Alice");

    }else if(b==1){

        puts("Bob");

    }else

        puts((a!=b)?(a>b?"Alice":"Bob"):"Draw");



    return 0;

}