This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
O='P'
N=dict
M=input
K=range
H=print
D=len
L=int(M())
def I(a,b):
A=0
for B in K(min(D(a),D(b))):
if a[B]==b[B]:A+=1
else:break
return A
F=N()
for A in K(L):F[M()]=0
J=''
for A in F:
if D(A)>D(J):J=A
P=N()
for A in F:F[A]=I(A,J)
B=[A for A in F]
B.sort(key=lambda x:(F[x],x))
G=1
C=[]
for A in K(D(B)-1):
for E in B[A][D(C):]:C.append(E);G+=1
G+=1
for A in B[A][I(B[A],B[A+1]):][::-1]:G+=1;C.pop()
for E in B[-1][D(C):]:G+=1
H(G)
C=[]
for A in K(D(B)-1):
for E in B[A][D(C):]:C.append(E);H(E)
H(O)
for A in B[A][I(B[A],B[A+1]):][::-1]:H('-');C.pop()
for E in B[-1][D(C):]:H(E)
H(O)
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |