Rie likes to make cookies. She made N types of cookies. She made A_i cookies of type i (1≤i≤N). In order to sell the cookies made by her, she will pack them into boxes. However, the following conditions should be satisfied.
Write a program which, given information of cookies made by Rie and the conditions to pack the cookies into boxes, determines whether it is possible to pack all the cookies into boxes. Moreover, if it is possible to pack all the cookies into boxes, your program should output a way to pack the cookies into the minimum number of boxes.
Read the following data from the standard input.
N
A_1 A_2 ⋯ A_N
M
B_1 B_2 ⋯ B_M
If it is possible to pack all the cookies into boxes so that the conditions are satisfied, let x be the number of used boxes, c_k be the number of cookies in the k-th box (1≤k≤x), and v_k,1,v_k,2,…,v_k,c_k be the types of the cookies in the k-th box. Write these numbers to the standard output as in the following format.
x
c_1 v_1,1 v_1,2 ⋯ v_1,c_1
c_2 v_2,1 v_2,2 ⋯ v_2,c_2
⋮
c_x v_x,1 v_x,2 ⋯ v_x,c_x
Here, the number of used boxes x should be the minimum possible number. If there are several ways to pack the cookies into boxes satisfying the conditions, output any one of them.
If it is impossible to pack all the cookies into boxes so that the conditions are satisfied, write -1 to the standard output.