#include <bits/stdc++.h>
#include <string>
using namespace std;
bool ispalindrome(string s)
{
int i=0;
int j=s.size()-1;
while(i<j)
{
if (s[i]==' ')i++;
if (s[j]==' ')j--;
if(tolower(s[i])!=tolower(s[j]))return false;
i++;
j--;
}
return true;
}
int main()
{
//freopen("palindrom.in", "r", stdin);
//freopen("palindrom.out", "w", stdout);
string s;
string phraze;
float num;
int temp=0;
bool found_palindrome = false;
while(getline(cin,s))
{
int index=s.find_first_of("!.?");
//cout<<index<<'\n';
phraze=(s.substr(temp,index));
//cout<<phraze<<'\n';
if(ispalindrome(phraze) && phraze.size()-1 > 1)
{
found_palindrome = true;
cout<<phraze<<'\n';
}
temp=index+1;
}
if (!found_palindrome) cout << "-1" << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxzdHJpbmc+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBpc3BhbGluZHJvbWUoc3RyaW5nIHMpCnsKICAgIGludCBpPTA7CiAgICBpbnQgaj1zLnNpemUoKS0xOwogICAgd2hpbGUoaTxqKSAKICAgIHsKICAgICAgICBpZiAoc1tpXT09JyAnKWkrKzsgCiAgICAgICAgaWYgKHNbal09PScgJylqLS07IAogICAgICAgIGlmKHRvbG93ZXIoc1tpXSkhPXRvbG93ZXIoc1tqXSkpcmV0dXJuIGZhbHNlOwogICAgICAgICAgICBpKys7CiAgICAgICAgICAgIGotLTsKICAgIH0KICAgIHJldHVybiB0cnVlOwp9CgppbnQgbWFpbigpCnsKICAgIC8vZnJlb3BlbigicGFsaW5kcm9tLmluIiwgInIiLCBzdGRpbik7ICAKICAgIC8vZnJlb3BlbigicGFsaW5kcm9tLm91dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIHN0cmluZyBzOwogICAgc3RyaW5nIHBocmF6ZTsKICAgIGZsb2F0IG51bTsKICAgIGludCB0ZW1wPTA7CiAgICBib29sIGZvdW5kX3BhbGluZHJvbWUgPSBmYWxzZTsgCiAgICB3aGlsZShnZXRsaW5lKGNpbixzKSkKICAgIHsKICAgICAgICBpbnQgaW5kZXg9cy5maW5kX2ZpcnN0X29mKCIhLj8iKTsKICAgICAgICAvL2NvdXQ8PGluZGV4PDwnXG4nOwogICAgICAgIHBocmF6ZT0ocy5zdWJzdHIodGVtcCxpbmRleCkpOwogICAgICAgIC8vY291dDw8cGhyYXplPDwnXG4nOwogICAgICAgIGlmKGlzcGFsaW5kcm9tZShwaHJhemUpICYmIHBocmF6ZS5zaXplKCktMSA+IDEpCiAgICAgICAgewogICAgICAgICAgICBmb3VuZF9wYWxpbmRyb21lID0gdHJ1ZTsgCiAgICAgICAgICAgIGNvdXQ8PHBocmF6ZTw8J1xuJzsKICAgICAgICB9CiAgICAgICAgICAgIHRlbXA9aW5kZXgrMTsKICAgICAgICB9CiAgICAgICAgaWYgKCFmb3VuZF9wYWxpbmRyb21lKSBjb3V0IDw8ICItMSIgPDwgJ1xuJzsgIApyZXR1cm4gMDsKfQ==