#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll dem=0;
void solve(string sub, string s){
sub=sub+sub;
ll i=0, j=0, d=0;
char e;
while(i<sub.size()&&j<s.size()){
if(sub[i]!=s[j]){
d++;
e=s[j];
i--;
}
i++;
j++;
if(d>=2){
return ;
}
}
dem++;
string ee;
ee+=e;
ee+=e;
ll pos=s.find(ee);
if(pos<s.size()) dem++;
}
ll i, j, n, dem2, kq=0;
string s, s1, s2, sub1="", sub2="";
int main(){
cin>>n;
cin.ignore();
getline(cin, s);
if(s.size()%2==0){
cout<<"NOT POSSIBLE";
return 0;
}
for(i=0; i<s.size()/2; i++){
s1+=s[i];
}
for(i=s.size()/2+1; i<s.size(); i++){
s2+=s[i];
}
if(s1==s2){
solve(s1, s);
if(dem==0) cout<<"NOT POSSIBLE";
else if(dem>=2) cout<<"NOT UNIQUE";
else cout<<s1;
return 0;
}
solve(s1, s);
kq+=dem;
if(dem!=0) sub1=s1;
dem=0;
solve(s2, s);
kq+=dem;
if(dem!=0) sub2=s2;
if(kq==0) cout<<"NOT POSSBILE";
else if(kq>=2) cout<<"NOT UNIQUE";
else{
if(sub1=="") cout<<s2;
else cout<<s1;
}
/*
2
asasdad
solve(s1, s);
kq+=dem;
if(dem>0) sub1=s1;
dem=0;
solve(s2, s);
kq+=dem;
if(dem>0) sub2=s2;
if(kq==0) cout<<"NOT POSSIBLE";
else{
if(sub1==sub2&&sub1!="") cout<<sub1;
else if(kq==1){
if(sub1=="") cout<<sub2;
else cout<<sub1;
}
else if(kq>=2) cout<<"NOT UNIQUE";
}
*/
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |