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