void main(){ import std.stdio, std.string, std.conv, std.algorithm; import std.range; int n; rd(n); auto ss=new string[](n); foreach(i; 0..n) rd(ss[i]); sort(ss); auto mm=new int[][](n, n); foreach(i; 0..n)foreach(j; i..n){ int k=0; while(kremaining, 1->used foreach(i; 0..(1<>j&1)) v~=j; } foreach(k; 0..v.length){ auto c=0; if(k>0) c=max(c, mm[v[k-1]][v[k]]); if(k+1