class Tabella {
int n;
int[][] matrix;
boolean[] jatszik;
int[] hanyadik;
Tabella() {
java.
util.
Scanner scanner
= new java.
util.
Scanner(System.
in); n = 0;
while(scanner.hasNext()) {
csapatok[n++] = scanner.nextLine();
}
matrix = new int[n][n];
jatszik = new boolean[n];
hanyadik = new int[n];
for (int i = 0; i < n; i++) {
hanyadik[i] = 0;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = 0;
}
}
}
void eloszt(int n) {
if(hanyadik[n] < maradek(n)) {
hanyadik[n]++;
return;
}
else {
hanyadik[n] = 0;
eloszt(n + 1);
}
}
int kovEllen(int csapat) {
int db = hanyadik[csapat];
for (int i = 0; i < n; i++) {
if(i != csapat && !jatszik[i] && matrix[csapat][i] == 0) {
if(db == 0) {
return i;
}
else {
db--;
}
}
}
return 0;
}
int maradek(int csapat) {
int db = 0;
for (int i = 0; i < n; i++) {
if(i != csapat && matrix[csapat][i] == 0) {
db++;
}
}
return db;
}
void veglegesit() {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if(matrix[i][j] == 2) {
matrix[i][j] = 1;
}
}
}
for (int i = 0; i < n; i++) {
hanyadik[i] = 0;
}
}
void reset() {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if(matrix[i][j] == 2) {
matrix[i][j] = 0;
}
}
}
eloszt(0);
}
void kiir() {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if(j > i && matrix[i][j] == 2) {
System.
out.
println(csapatok
[i
] + " vs " + csapatok
[j
]); }
}
}
}
void tabella() {
for (int fordulo = 1; fordulo < n; fordulo++) {
int meccs = 0;
do {
for (int i = 0; i < n; i++) {
jatszik[i] = false;
}
for (int hazai = 0; hazai < n; hazai++) {
if(!jatszik[hazai]) {
int a = kovEllen(hazai);
int b = maradek(hazai);
if(!jatszik[a]) {
jatszik[a] = jatszik[hazai] = true;
matrix[hazai][a] = 2;
matrix[a][hazai] = 2;
meccs++;
}
}
}
if(meccs == n/2) {
kiir();
veglegesit();
break;
}
else {
meccs = 0;
reset();
}
} while(true);
}
}
public static void main
(String[] args
) {
new Tabella().tabella();
}
}