← Home
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)
	}
}