Una compañía multinacional participa cada año en las competiciones de programación CodeStrengths con unos cuantos equipos de programadores. Cuando organiza los equipos, siempre crea un primer equipo con los mejores programadores de la compañía, después un segundo equipo con los restantes mejores programadores de la compañía, y así sucesivamente.
Este año, con el ánimo de hacer un gesto en pro de la concordia y la solidaridad entre los pueblos del mundo, la compañía ha decidido formar equipos con solo programadores de su staff que sean Rusos y Estadounidenses, de modo que, si puede ser, los equipos esten formados por programadores de ambos grupos y de forma balanceada.
De todos modos, el primer criterio para formar un equipo continúa siendo el nivel de programación. Por ejemplo, el primer equipo no puede tener a un programador que sea peor que el de otro que no esté en el primer equipo.
Como segundo criterio, se intentará que el equipo a formar esté tan balanceado como sea posible. Por ejemplo, si los equipos están formados por cuatro personas, se prefiere un equipo con dos Rusos y dos Estadounidenses a un equipo con tres Rusos y un Estadounidense, y esto último es preferible a un equipo con cuatro Rusos y ningún Estadounidense.
Como último criterio, los programadores se escojen por nombre en orden lexicográfico (orden estandar de comparación entre strings).
Entrada
La entrada tiene varios casos. La primera linea de cada caso tiene un natural positivo k, que es el número de miembros de cada equipo a formar. En una segunda linea hay un natural positivo n1, que es el número de programadores Rusos. Después vienen n1 lineas, cada una con el nombre de un programador Ruso y un natural positivo indicando su nivel de programación. Estas lineas están ordenadas de mayor a menor por nivel de programación, y en orden lexicográfico para programadores con el mismo nivel. Después hay una nueva linea con un natural positivo n2, que es el número de programadores Estadounidenses. Después vienen n2 líneas con la información de los programadores Estadounidenses, siguiento exactamente el mismo formato que para los programadores Rusos.
Se garantiza que n1+n2 es múltiple de k, y que no hay repeticiones de nombres. En particular, un nombre de una lista no aparece en la otra lista.
Salida
Para cada caso, hay que escribir (n1+n2)/k lineas. La primera contendrá la lista de nombres del primer equipo en orden lexicográfico. La segunda contendrá la lista de nombres del segundo equipo en orden lexicográfico. I así sudesivamente. Después de la salida de cada caso hay una linea en blanco.
Observación
Evaluación sobre 10 puntos:
Entendemos como solución rápida una que es correcta, de coste lineal (se permite coste (n1+n2)log(k) para poder aplicar un sort a los miembros de cada equipo) y capaz de superar los juegos de pruebas públicos y privados. Entendemos como solución lenta una que no es rápida, pero es correcta y capaz de superar los juegos de pruebas públicos.
Input
2 3 Mikhail 7 Elena 6 Irina 3 5 Barbara 8 Jennifer 7 Karen 5 James 2 Nancy 1 4 2 Elizaveta 4 Vera 4 10 Betty 8 Christopher 8 Mary 6 Michael 6 John 4 Barbara 3 David 3 Patricia 2 Sarah 2 Anthony 1 5 2 Irina 5 Natalia 3 8 David 7 Barbara 6 Nancy 5 Matthew 4 Sandra 4 John 3 James 2 Richard 1 5 3 Yevgeny 7 Nikolai 5 Danyl 4 2 Barbara 1 Susan 1 3 4 Yevgeny 7 Victoria 6 Konstantin 4 Sergey 1 5 Anthony 8 Sandra 7 Susan 5 William 2 Linda 1 1 5 Sofia 5 Nikolai 4 Adelina 2 Alexander 2 Mikhail 1 8 Richard 8 Thomas 7 Patricia 5 William 5 Charles 3 Jennifer 2 Mary 1 Sarah 1 4 5 Daria 5 Xenia 5 Alexey 4 Denis 2 Maksim/Maxim 1 3 Betty 6 Lisa 6 Barbara 5 1 6 Roman 8 Anastasia 6 Irina 5 Alexey 3 Danyl 3 Natalia 3 2 Anthony 7 Sarah 7 3 3 Victoria 6 Danyl 3 Mikhail 2 6 Betty 8 Lisa 8 Patricia 7 Nancy 6 Elizabeth 3 William 3 3 2 Nadezhda 7 Sergey 5 1 William 4 5 1 Artyom 4 4 Jessica 8 Susan 6 Barbara 5 Sarah 3 1 10 Maksim/Maxim 8 Xenia 8 Elena 7 Elizaveta 7 Svetlana 7 Danyl 6 Alexander 4 Polina 4 Nikita 3 Roman 3 1 Lisa 4 5 5 Elena 6 Yevgeny 6 Nadezhda 3 Roman 3 Irina 2 5 Elizabeth 8 Nancy 8 Charles 6 Joseph 2 Matthew 1 3 5 Svetlana 8 Artyom 7 Sofia 6 Ivan 3 Sergey 3 4 Jessica 8 William 7 Jennifer 2 Joseph 2 2 11 Adelina 7 Elena 6 Nikolai 6 Anastasia 5 Sergey 5 Svetlana 4 Artyom 3 Mikhail 3 Yevgeny 2 Danyl 1 Ivan 1 1 John 7 5 2 Nadezhda 5 Alexander 1 3 Matthew 8 Lisa 2 Sarah 1 4 1 Arina 7 3 Lisa 2 Daniel 1 Matthew 1 4 2 Xenia 3 Dmitry 1 2 Barbara 6 John 4 1 4 Konstantin 6 Adelina 4 Alexander 3 Xenia 2 2 Charles 6 Jessica 3 3 8 Mikhail 5 Nikolai 5 Polina 5 Konstantin 4 Daria 3 Elena 3 Roman 3 Ivan 2 4 Jennifer 8 Joseph 5 Lisa 5 Sandra 2
Output
Barbara Mikhail Elena Jennifer Irina Karen James Nancy Betty Christopher Mary Michael Barbara Elizaveta John Vera Anthony David Patricia Sarah Barbara David Irina Matthew Nancy James John Natalia Richard Sandra Barbara Danyl Nikolai Susan Yevgeny Anthony Sandra Yevgeny Konstantin Susan Victoria Linda Sergey William Richard Thomas Patricia Sofia William Nikolai Charles Adelina Alexander Jennifer Mary Mikhail Sarah Betty Daria Lisa Xenia Alexey Barbara Denis Maksim/Maxim Roman Anthony Sarah Anastasia Irina Alexey Danyl Natalia Betty Lisa Patricia Danyl Nancy Victoria Elizabeth Mikhail William Nadezhda Sergey William Artyom Barbara Jessica Sarah Susan Maksim/Maxim Xenia Elena Elizaveta Svetlana Danyl Alexander Lisa Polina Nikita Roman Charles Elena Elizabeth Nancy Yevgeny Irina Joseph Matthew Nadezhda Roman Artyom Jessica Svetlana Ivan Sofia William Jennifer Joseph Sergey Adelina John Elena Nikolai Anastasia Sergey Artyom Svetlana Mikhail Yevgeny Danyl Ivan Alexander Lisa Matthew Nadezhda Sarah Arina Daniel Lisa Matthew Barbara Dmitry John Xenia Charles Konstantin Adelina Alexander Jessica Xenia Jennifer Joseph Mikhail Lisa Nikolai Polina Daria Elena Konstantin Ivan Roman Sandra