package main
import (
"bytes"
"io"
"os"
)
func main() {
data, _ := io.ReadAll(os.Stdin)
n := len(data)
idx := 0
nextInt := func() int64 {
for idx < n && (data[idx] < '0' || data[idx] > '9') {
idx++
}
var v int64
for idx < n && data[idx] >= '0' && data[idx] <= '9' {
v = v*10 + int64(data[idx]-'0')
idx++
}
return v
}
t := int(nextInt())
var out bytes.Buffer
for ; t > 0; t-- {
N := nextInt()
M := int(nextInt())
K := int(nextInt())
B := int64(K + 1)
xr := make([]int, K+1)
seen := make([]bool, K+1)
used := make([]int, 0, M)
for i := 0; i < M; i++ {
R := nextInt()
_ = nextInt()
A := nextInt()
g := int((N - R) % B)
v := int(A % B)
if v != 0 {
if !seen[g] {
seen[g] = true
used = append(used, g)
}
xr[g] ^= v
}
}
win := false
for _, g := range used {
if xr[g] != 0 {
win = true
break
}
}
if win {
out.WriteString("Anda\n")
} else {
out.WriteString("Kamu\n")
}
}
os.Stdout.Write(out.Bytes())
}