-- ******************************************************************************************
-- * POH6+ (パイザ オンライン ハッカソン) *
-- * 単語リストの単語を用いて作ることができる最長の回文のうち辞書順(昇順)最小の回文を求める *
-- ******************************************************************************************
import Data.List (delete,sort)
solve = build "" ""
build r c (w:ws)
LS0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0tICogUE9INisgKOODkeOCpOOCtiDjgqrjg7Pjg6njgqTjg7Mg44OP44OD44Kr44K944OzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKLS0gKiDljZjoqp7jg6rjgrnjg4jjga7ljZjoqp7jgpLnlKjjgYTjgabkvZzjgovjgZPjgajjgYzjgafjgY3jgovmnIDplbfjga7lm57mlofjga7jgYbjgaHovp7mm7jpoIYo5piH6aCGKeacgOWwj+OBruWbnuaWh+OCkuaxguOCgeOCiyAqCi0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKaW1wb3J0IERhdGEuTGlzdCAoZGVsZXRlLHNvcnQpCgpzb2x2ZSA9IGJ1aWxkICIiICIiCmJ1aWxkIHIgYyBbXSA9IHJldmVyc2UgciArKyBjICsrIHIKYnVpbGQgciBjICh3OndzKQogfCByZXZlcnNlIHcgYGVsZW1gIHdzID0gYnVpbGQgKHJldmVyc2UgdysrcikgYyBuZXh0CiB8IHcgPT0gcmV2ZXJzZSB3ICYmIG51bGwgYyA9IGJ1aWxkIHIgdyB3cwogfCBvdGhlcndpc2UgPSBidWlsZCByIGMgd3MKIHdoZXJlIG5leHQgPSBkZWxldGUgKHJldmVyc2Ugdykgd3MKCm1haW4gPSBpbnRlcmFjdCAkIHNvbHZlIC4gc29ydCAuIHRhaWwgLiBsaW5lcwo=