:: Regreso del Hacker ::

Hola a todos!!!
Disculpen la laaaaarga ausencia.
Debido a petición de varios compañeros y también por haber encontrado las hojas, publicare los ejercicios del Concurso Inter-UNID...
Aquí les va el primero.

Problema A:
Un word cross está formado por un par de palabras, la primera desplegada horizontalmente y la segundo verticalmente, de tal forma que las dos palabras compartan una letra en común.
Un leading word cross es aquél en donde la letras común está lo mas cerca posible al principio de la palabra horizontal y lo más cerca posible al principio de la palabra vertical. Por lo tanto DEFER y PREFECT cursarían en la primera 'E' de cada palabra; PREFECT y DEFER cruzarían en la 'R'.
Un double leading word cross esa dos pares de palabras acomodadas de tal manera que las dos palabras horizontales estén en la misma línea y cada palabra forme un leading word cross.
Escribir un programa que lea 4 palabras y forme de ser posible, un double leading word cross.

Entrada:
La entrada consistirá en una seria de lineas, cada linea con 4 palabras(dos pares). cada palabra contendrá de 1 a 10 letras mayúsculas y será separada de las demás por al menos un espacio el blanco
Salida: La salida imprimirá una serie de double leading word cross definidos anteriormente. Deberá dejar exactamente 3 espacios en blanco entras las palabras horizontales. En sado de no ser posible formar un double leading word cross, imprimirá el mensaje "No es posible formar un double leading word cross". también dejara una línea en entre cada resultado.

Ejemplo de Entrada:
MATCHES CHEESECAKE PICNIC EXCUSES
PEANUT BANANA VACUUM GREEDY

Ejemplo de salida:
  C
  H
  E
  E
  S
  E               E
  C               X
MATCHES   PICNIC
  K               U
  E               S
                   E
                   S

No es posible formar un double leading word cross
=======================================
Tiempo limite : 02:00 Hrs
publicare los demás cada 2 días.
Suerte, espero que sea de su agrado.