package main import . "fmt" import . "os" import bf "bufio" func main() { rd:=bf.NewReader(Stdin) var n,m int Fscan(rd,&n,&m) graph := make([][]int, n+1) for ; m > 0; m-- { var u,v int Fscan(rd,&u,&v) graph[u] = append(graph[u], v) } path := make([]bool, n+1) res := make([]int, n+1) var dfs func(i int) int dfs = func(i int) int { if path[i] { return 2 } if res[i] > 0 { return res[i] } path[i] = true res[i]= 1 for _, x := range graph[i] { res[i] = max(res[i], 4 - dfs(x)) } path[i] = false return res[i] } switch dfs(1) { case 1: Println("Bob") case 2: Println("Draw") case 3: Println("Alice") } }