import java.util.*;
public class Main{
public static void main(String[] arg){
Scanner sc=new Scanner(System.in);
while(sc.hasNextLine()){
String[] istr =sc.nextLine().split(" ");
// int inum = Integer.parseInt(istr[0]);
String[] iarr = new String[istr.length-1];
for(int i =1;i<istr.length;i++){
iarr[i-1] = istr[i];
}
String[] rstr =sc.nextLine().split(" ");
// int rnum = Integer.parseInt(rstr[0]);
String[] rarr = new String[rstr.length-1];
for(int i =1;i<rstr.length;i++){
rarr[i-1] = rstr[i];
}
Arrays.sort(rarr,new Comparator<String>(){
@Override
public int compare(String a, String b){
return Integer.parseInt(b)-Integer.parseInt(a);
}
});
StringBuffer buffer = new StringBuffer();
int tnum = 0;
//为了R的去重
List<String> list = new ArrayList<>();
for(int i = rarr.length-1; i>=0;i--){
if(list.contains(rarr[i])){
continue;
}
list.add(rarr[i]);
StringBuffer subBuffer = new StringBuffer();
int num=0;
boolean flag = false;
for(int j =0;j<iarr.length;j++){
if(iarr[j].contains(rarr[i])){
flag = true;
subBuffer.append(j+" ");
subBuffer.append(iarr[j]+" ");
num++;
tnum++;
tnum++;
}
}
if(flag){
buffer.append(rarr[i]+" ");
buffer.append(num+" ");
buffer.append(subBuffer);
tnum++;
tnum++;
}
}
// System.out.println(buffer.toString());
StringBuffer res = new StringBuffer();
res.append(tnum+" ");
res.append(buffer);
System.out.println(res.toString());
}
}
}