package main

import (
	"bufio"
	"fmt"
	"os"
	"reflect"
	"sort"
	"strconv"
	"strings"
)

func main() {
	in := bufio.NewScanner(os.Stdin)
	in.Scan()
	datas := strings.Fields(in.Text())
	n, _ := strconv.Atoi(datas[0])
	x := datas[len(datas)-2]
	k, _ := strconv.Atoi(datas[len(datas)-1])

	var brothers []string
	for i := 1; i <= n; i++ {
		if isBrother(x, datas[i]) {
			brothers = append(brothers, datas[i])
		}
	}

	size := len(brothers)
	fmt.Println(size)
	if size >= k {
		sort.Strings(brothers)
		fmt.Println(brothers[k-1])
	}
}

func isBrother(a, b string) bool {
	if a == b || len(a) != len(b) {
		return false
	}

	aa := strings.Split(a, "")
	bb := strings.Split(b, "")

	sort.Strings(aa)
	sort.Strings(bb)

	return reflect.DeepEqual(aa, bb)
}