import
java.util.*;
class
GFG{
static
Vector<Integer> []graph;
static
int
found =
0
, n;
static
Vector<Integer> path =
new
Vector<>();
static
Vector<Integer> temp =
new
Vector<>();
static
int
c_A =
0
, c_B =
0
;
static
void
find(
int
i,
int
prev)
{
temp.add(i);
if
(i == n)
{
path = (temp);
return
;
}
for
(
int
j =
0
;
j < graph[i].size(); j++)
if
(graph[i].get(j) != prev)
{
find(graph[i].get(j), i);
}
temp.remove(temp.size() -
1
);
}
static
void
mark(
int
i,
int
visited[],
int
c)
{
if
(visited[i] >
0
)
{
if
(c ==
1
)
c_A++;
else
c_B++;
}
visited[i] = c;
if
(c ==
1
)
c_A++;
else
c_B++;
for
(
int
j =
0
;
j < graph[i].size(); j++)
if
(visited[graph[i].get(j)] >
0
)
mark(graph[i].get(j),
visited, c);
}
static
void
findWinner()
{
find(
1
, -
1
);
int
visited[] =
new
int
[n +
1
];
for
(
int
i =
0
;
i < path.size(); i++)
{
if
(i < Math.ceil(path.size() /
2.0
))
{
visited[path.get(i)] =
1
;
c_A++;
}
else
{
visited[path.get(i)] =
2
;
c_B++;
}
}
for
(
int
i =
0
;
i < path.size(); i++)
mark(path.get(i),
visited,
visited[path.get(i)]);
if
(c_A > c_B)
System.out.print(
"A wins"
);
else
if
(c_A < c_B)
System.out.print(
"B wins"
);
else
System.out.print(
"Draw"
);
}
@SuppressWarnings
(
"unchecked"
)
public
static
void
main(String[] args)
{
n =
7
;
graph =
new
Vector[n +
1
];
for
(
int
i =
0
;
i < graph.length; i++)
graph[i] =
new
Vector<Integer>();
graph[
6
].add(
4
);
graph[
4
].add(
6
);
graph[
6
].add(
5
);
graph[
5
].add(
6
);
graph[
5
].add(
7
);
graph[
7
].add(
5
);
graph[
5
].add(
2
);
graph[
2
].add(
5
);
graph[
3
].add(
4
);
graph[
4
].add(
3
);
graph[
1
].add(
4
);
graph[
4
].add(
1
);
findWinner();
}
}