what is wrong in the code?
#include<bits/stdc++.h>
#include
using namespace std;
bool myCompare(string a, string b) {
if (a.find(b)==0 || b.find(a)==0)
return a.length() > b.length();
return a < b;
}
int main() {
int n;
cin>>n;
vector v;
for(int i=0;i<n;i++)
{
string s;
cin>>s;
v.push_back(s);
}
sort(v.begin(),v.end(),compare);
for(int i=0;i<v.size();i++)
cout<<v[i]<<endl;
}