package main
import (
"fmt"
)
func main() {
var n int
if _, err := fmt.Scan(&n); err != nil {
return
}
var k1 int
fmt.Scan(&k1)
q1 := make([]int, k1)
for i := 0; i < k1; i++ {
fmt.Scan(&q1[i])
}
var k2 int
fmt.Scan(&k2)
q2 := make([]int, k2)
for i := 0; i < k2; i++ {
fmt.Scan(&q2[i])
}
visited := make(map[uint64]bool)
fights := 0
for len(q1) > 0 && len(q2) > 0 {
var state uint64
for _, v := range q1 {
state = (state << 4) | uint64(v)
}
state <<= 4
for _, v := range q2 {
state = (state << 4) | uint64(v)
}
if visited[state] {
fmt.Println("-1")
return
}
visited[state] = true
c1 := q1[0]
c2 := q2[0]
q1 = q1[1:]
q2 = q2[1:]
if c1 > c2 {
q1 = append(q1, c2, c1)
} else {
q2 = append(q2, c1, c2)
}
fights++
}
if len(q1) > 0 {
fmt.Println(fights, 1)
} else {
fmt.Println(fights, 2)
}
}