struct node
{
char s1[100],s2[100];
};
struct cmp
{
bool operator ()(const node a, const node b)const
{
return(strlen(a.s2)<strlen(b.s2)||(strlen(a.s2)==strlen(b.s2)&&a.s2<b.s2)||(a.s2==b.s2&&a.s1>b.s1))?true:false;
}
};
priority_queue<node,vector<node>,cmp >q;