##########string sort

what is wrong in my code
#include
#include
#include
using namespace std;
bool compare(string s1, string s2){
if(s1.find(s2)<0)
{
return s1<s2;
}
else
{//for prefix string
return s1>s2;
}

}
int main() {
int n;
string s,a[1000];
cin>>n;
for(int i=0;i<n;i++){
cin>>s;
a[i]=s;
}
sort(a,a+n,compare);
for(int i=0;i<n;i++){
cout<<a[i]<<endl;
}

return 0;

}

@ayu2321 hi,I have made changes in your compare function please see to it:
https://ide.codingblocks.com/s/43046?_ga=2.125643202.95256106.1584124297-1940767847.1534408565