package main
import (
"fmt"
"sort"
"strconv"
"strings"
)
func getInput() (iCount, rCount int, iData, rData []int) {
fmt.Scan(&iCount)
iData = make([]int, iCount)
for i := 0; i < iCount; i++ {
fmt.Scan(&iData[i])
}
fmt.Scan(&rCount)
rData = make([]int, 0)
rMap := make(map[int]int)
var rTemp int
for i := 0; i < rCount; i++ {
fmt.Scan(&rTemp)
if _, exist := rMap[rTemp]; !exist {
rMap[rTemp] = rTemp
rData = append(rData, rTemp)
}
}
sort.Ints(rData)
return
}
func main() {
_, _, iData, rData := getInput()
total := 0
rString := ""
for _, rv := range rData { // 0 3 6
number := 0
tempString := ""
for ik, iv := range iData { // 123 456
rvString, ivString := strconv.Itoa(rv), strconv.Itoa(iv)
if strings.Contains(ivString, rvString) {
tempString += " " + strconv.Itoa(ik) + " " + ivString
total+=2
number++
}
}
if number > 0 {
total+=2
rString += " " + strconv.Itoa(rv) + " " + strconv.Itoa(number) + tempString
}
}
fmt.Printf("%d", total)
fmt.Printf(rString)
// fmt.Println(iCount, rCount, iData, rData)
}