Una companyia multinacional participa cada any en les competicions de programació CodeStrengths amb uns quants equips de programadors. Quan organitza els equips, sempre crea un primer equip amb els millors programadors de la companyia, després un segon equip amb els restants millors programadors de la companyia, i així successivament.
Aquest any, amb l’ànim de fer un gest en pro de la concòrdia i la solidaritat entre els pobles del món, la companyia ha decidit formar equips amb només programadors del seu staff que siguin Russos i Estadounidencs, de manera que, si pot ser, els equips estiguin formats per programadors d’ambdós grups i en quantitat balancejada.
De totes maneres, el primer criteri per a formar un equip continua sent el nivell de programació. Per exemple, el primer equip no pot tenir un programador que sigui pitjor que un altre que no estigui al primer equip.
Com a segon criteri, s’intentarà que l’equip a formar estigui tan balancejat com sigui possible. Per exemple, si els equips estan formats per quatre persones, es prefereix un equip amb dos Russos i dos Estadounidencs que no pas un equip amb tres Russos i un Estadounidenc, i això últim és preferible a un equip amb quatre Russos i cap Estadounidenc.
Com a últim criteri, els programadors s’escullen per nom en ordre lexicogràfic (ordre estandar de comparació entre strings).
Entrada
L’entrada té varis casos. La primera línia de cada cas té un natural positiu k, que és el nombre de membres de cada equip a formar. En una segona línia hi ha un natural positiu n1, que és el nombre de programadors Russos. Després venen n1 línies, cadascuna amb el nom d’un programador Rus i un natural positiu indicant el seu nivell de programació. Aquestes línies estan ordenades de major a menor per nivell de programació, i en ordre lexicogràfic per a programadors amb el mateix nivell. Després hi ha una nova línia amb un natural positiu n2, que és el nombre de programadors Estadounidencs. Després venen n2 línies amb la informació dels programadors Estadounidencs, seguint exactament el mateix format que per als programadors Russos.
Es garantitza que n1+n2 és múltiple de k, i que no hi ha repetició de noms. En particular, un nom d’una llista no apareix a l’altra llista.
Sortida
Per a cada cas, s’han d’escriure (n1+n2)/k línies. La primera contindrà la llista de noms del primer equip en ordre lexicogràfic. La segona contindrà la llista de noms del segon equip en ordre lexicogràfic. I així successivament. Després de la sortida de cada cas hi ha una línia en blanc.
Observació
Avaluació sobre 10 punts:
Entenem com a solució ràpida una que és correcta, de cost lineal (es permet cost (n1+n2)log(k) per a poder aplicar un sort als membres de cada equip) i capaç de superar els jocs de proves públics i privats. Entenem com a solució lenta una que no és ràpida, però és correcta i capaç de superar els jocs de proves públics.
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