#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
	vector<string> voc;	// словарь (можно использовать массив с запасом)
	string word; 		// очередное слово
	while (cin >> word) voc.push_back(word); // читаем и запоминаем слово
	for (auto i = voc.begin(); i != voc.end(); i++){
		bool found = false; // предполагаем, что у слова нет анаграммы
		for (auto j = i + 1; j != voc.end();) {
			if (i->length() == j->length() && *i != *j &&	// анаграмма?
				is_permutation(i->begin(), i->end(), j->begin())) {
					cout << *j << " ";	// печатаем то, что нашли
					voc.erase(j);		// удаляем то, что нашли
					found = true;		// отмечаем, что у слова есть анаграмма
				} else j++;				// проверяем следующее слово
		}
		if (found) cout << *i << endl; // печатаем если есть анаграммы
	}
}