ODTPIC probelm

Why my solution no work?

package main

import "fmt"

func main() {
	// your code goes here
	var n, m, q int
	fmt.Scanf("%d %d %d", &n, &m, &q)
	a := make([]int, n)
	b := make([]int, m)
	for i := range n {
		fmt.Scan(&a[i])
	}
	for i := range m {
		fmt.Scan(&b[i])
	}
	for ; q > 0; q-- {
		solve(&a, &b)
	}
}

func solve(a, b *[]int) {
	var l1, r1, l2, r2 int
	fmt.Scanf("%d %d %d %d", &l1, &r1, &l2, &r2)
	countMapA := make(map[int]int)
	countMapB := make(map[int]int)
	for i := l1; i <= r1; i++ {
		countMapA[(*a)[i-1]]++
	}
	for i := l2; i <= r2; i++ {
		countMapB[(*b)[i-1]]++
	}
	countMap := make(map[int]int)
	for key, value := range countMapA {
		if value%2 != 0 {
			countMap[key] += value
		}
	}
	for key, value := range countMapB {
		if value%2 != 0 {
			countMap[key] += value
		}
	}
	count := 0
	for _, value := range countMap {
		if value%2 != 0 {
			count++
		}
	}
	fmt.Println(count)
}