/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
System.
out.
println(input
+ ": " + palindromeMinusOneChar
(input
)); }
static boolean palindromeMinusOneChar
(String str
) {
return pm(str, true) || pm(str, false);
}
static boolean pm
(String str,
boolean rtl
) {
if (str == null) return true;
char[] a = str.toCharArray();
boolean deleted = false;
for (int l = 0, r = a.length - 1; l < r; l++, r--) {
if (a[l] == a[r]) continue;
if (!deleted) {
deleted = true;
if (rtl) {
if (a[l] == a[r-1]) { r--; continue; } // delete from right
if (a[l+1] == a[r]) { l++; continue; } // delete from left
} else {
if (a[l+1] == a[r]) { l++; continue; } // delete from left
if (a[l] == a[r-1]) { r--; continue; } // delete from right
}
return false; // can't delete
}
return false; // already deleted
}
return true;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN0cmluZyBpbnB1dCA9ICJhYmNiIWJjYSI7CgkJU3lzdGVtLm91dC5wcmludGxuKGlucHV0ICsgIjogIiArIHBhbGluZHJvbWVNaW51c09uZUNoYXIoaW5wdXQpKTsKCX0KCXN0YXRpYyBib29sZWFuIHBhbGluZHJvbWVNaW51c09uZUNoYXIoU3RyaW5nIHN0cikKCXsKCQlyZXR1cm4gcG0oc3RyLCB0cnVlKSB8fCBwbShzdHIsIGZhbHNlKTsKCX0KCXN0YXRpYyBib29sZWFuIHBtKFN0cmluZyBzdHIsIGJvb2xlYW4gcnRsKQoJewoJICAgIGlmIChzdHIgPT0gbnVsbCkgcmV0dXJuIHRydWU7CgkgICAgY2hhcltdIGEgPSBzdHIudG9DaGFyQXJyYXkoKTsKCSAgICBib29sZWFuIGRlbGV0ZWQgPSBmYWxzZTsKCQoJICAgIGZvciAoaW50IGwgPSAwLCByID0gYS5sZW5ndGggLSAxOyBsIDwgcjsgbCsrLCByLS0pIHsKCSAgICAgICAgaWYgKGFbbF0gPT0gYVtyXSkgY29udGludWU7CgkgICAgICAgIGlmICghZGVsZXRlZCkgewoJICAgICAgICAgICAgZGVsZXRlZCA9IHRydWU7CgkgICAgICAgICAgICBpZiAocnRsKSB7CgkgICAgICAgICAgICAJaWYgKGFbbF0gPT0gYVtyLTFdKSB7IHItLTsgY29udGludWU7IH0gIC8vIGRlbGV0ZSBmcm9tIHJpZ2h0CgkgICAgICAgICAgICAJaWYgKGFbbCsxXSA9PSBhW3JdKSB7IGwrKzsgY29udGludWU7IH0gIC8vIGRlbGV0ZSBmcm9tIGxlZnQKCSAgICAgICAgICAgIH0gZWxzZSB7CgkJICAgICAgICAgICAgaWYgKGFbbCsxXSA9PSBhW3JdKSB7IGwrKzsgY29udGludWU7IH0gIC8vIGRlbGV0ZSBmcm9tIGxlZnQKICAgCQkgICAgICAgICAgICBpZiAoYVtsXSA9PSBhW3ItMV0pIHsgci0tOyBjb250aW51ZTsgfSAgLy8gZGVsZXRlIGZyb20gcmlnaHQKCSAgICAgICAgICAgIH0KCSAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjYW4ndCBkZWxldGUKCSAgICAgICAgfQoJICAgICAgICByZXR1cm4gZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFscmVhZHkgZGVsZXRlZAoJICAgIH0KCSAgICByZXR1cm4gdHJ1ZTsKCX0KfQ==