public final class Main {
public static void main
(String[] args
) { String input
= "FourscoreandsevenyearsagoourfaathersbroughtforthonthiscontainentanewnationconceivedinzLibertyanddedicatedtothepropositionthatallmenarecreatedequalNowweareengagedinagreahtcivilwartestingwhetherthatnaptionoranynartionsoconceivedandsodedicatedcanlongendureWeareqmetonagreatbattlefiemldoftzhatwarWehavecometodedicpateaportionofthatfieldasafinalrestingplaceforthosewhoheregavetheirlivesthatthatnationmightliveItisaltogetherfangandproperthatweshoulddothisButinalargersensewecannotdedicatewecannotconsecratewecannothallowthisgroundThebravelmenlivinganddeadwhostruggledherehaveconsecrateditfaraboveourpoorponwertoaddordetractTgheworldadswfilllittlenotlenorlongrememberwhatwesayherebutitcanneverforgetwhattheydidhereItisforusthelivingrathertobededicatedheretotheulnfinishedworkwhichtheywhofoughtherehavethusfarsonoblyadvancedItisratherforustobeherededicatedtothegreattdafskremainingbeforeusthatfromthesehonoreddeadwetakeincreaseddevotiontothatcauseforwhichtheygavethelastpfullmeasureofdevotionthatweherehighlyresolvethatthesedeadshallnothavediedinvainthatthisnationunsderGodshallhaveanewbirthoffreedomandthatgovernmentofthepeoplebythepeopleforthepeopleshallnotperishfromtheearth";
StringBuilder stringBuilder = new StringBuilder();
for(int i = 0, j = 0; i < input.length() || j < input.length(); i += j + 1 == input.length() ? 1 : 0, j = j + 1 == input.length() ? i : j + 1) {
String string1
= input.
substring(i, j
);
stringBuilder.delete(0, stringBuilder.length());
stringBuilder.append(string1);
stringBuilder.reverse();
String string2
= stringBuilder.
toString();
if(string1.equals(string2) && string1.length() > match.length()) {
match = string1;
}
}
System.
out.
println("The match is \"" + match
+ "\"."); }
}
cHVibGljIGZpbmFsIGNsYXNzIE1haW4gewogICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICAgIFN0cmluZyBpbnB1dCA9ICJGb3Vyc2NvcmVhbmRzZXZlbnllYXJzYWdvb3VyZmFhdGhlcnNicm91Z2h0Zm9ydGhvbnRoaXNjb250YWluZW50YW5ld25hdGlvbmNvbmNlaXZlZGluekxpYmVydHlhbmRkZWRpY2F0ZWR0b3RoZXByb3Bvc2l0aW9udGhhdGFsbG1lbmFyZWNyZWF0ZWRlcXVhbE5vd3dlYXJlZW5nYWdlZGluYWdyZWFodGNpdmlsd2FydGVzdGluZ3doZXRoZXJ0aGF0bmFwdGlvbm9yYW55bmFydGlvbnNvY29uY2VpdmVkYW5kc29kZWRpY2F0ZWRjYW5sb25nZW5kdXJlV2VhcmVxbWV0b25hZ3JlYXRiYXR0bGVmaWVtbGRvZnR6aGF0d2FyV2VoYXZlY29tZXRvZGVkaWNwYXRlYXBvcnRpb25vZnRoYXRmaWVsZGFzYWZpbmFscmVzdGluZ3BsYWNlZm9ydGhvc2V3aG9oZXJlZ2F2ZXRoZWlybGl2ZXN0aGF0dGhhdG5hdGlvbm1pZ2h0bGl2ZUl0aXNhbHRvZ2V0aGVyZmFuZ2FuZHByb3BlcnRoYXR3ZXNob3VsZGRvdGhpc0J1dGluYWxhcmdlcnNlbnNld2VjYW5ub3RkZWRpY2F0ZXdlY2Fubm90Y29uc2VjcmF0ZXdlY2Fubm90aGFsbG93dGhpc2dyb3VuZFRoZWJyYXZlbG1lbmxpdmluZ2FuZGRlYWR3aG9zdHJ1Z2dsZWRoZXJlaGF2ZWNvbnNlY3JhdGVkaXRmYXJhYm92ZW91cnBvb3Jwb253ZXJ0b2FkZG9yZGV0cmFjdFRnaGV3b3JsZGFkc3dmaWxsbGl0dGxlbm90bGVub3Jsb25ncmVtZW1iZXJ3aGF0d2VzYXloZXJlYnV0aXRjYW5uZXZlcmZvcmdldHdoYXR0aGV5ZGlkaGVyZUl0aXNmb3J1c3RoZWxpdmluZ3JhdGhlcnRvYmVkZWRpY2F0ZWRoZXJldG90aGV1bG5maW5pc2hlZHdvcmt3aGljaHRoZXl3aG9mb3VnaHRoZXJlaGF2ZXRodXNmYXJzb25vYmx5YWR2YW5jZWRJdGlzcmF0aGVyZm9ydXN0b2JlaGVyZWRlZGljYXRlZHRvdGhlZ3JlYXR0ZGFmc2tyZW1haW5pbmdiZWZvcmV1c3RoYXRmcm9tdGhlc2Vob25vcmVkZGVhZHdldGFrZWluY3JlYXNlZGRldm90aW9udG90aGF0Y2F1c2Vmb3J3aGljaHRoZXlnYXZldGhlbGFzdHBmdWxsbWVhc3VyZW9mZGV2b3Rpb250aGF0d2VoZXJlaGlnaGx5cmVzb2x2ZXRoYXR0aGVzZWRlYWRzaGFsbG5vdGhhdmVkaWVkaW52YWludGhhdHRoaXNuYXRpb251bnNkZXJHb2RzaGFsbGhhdmVhbmV3YmlydGhvZmZyZWVkb21hbmR0aGF0Z292ZXJubWVudG9mdGhlcGVvcGxlYnl0aGVwZW9wbGVmb3J0aGVwZW9wbGVzaGFsbG5vdHBlcmlzaGZyb210aGVlYXJ0aCI7CiAgICAgICAgICBTdHJpbmcgbWF0Y2ggPSAiIjsKICAgICAgICAgIAogICAgICAgICAgU3RyaW5nQnVpbGRlciBzdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTsKICAgICAgICAgIAogICAgICAgICAgZm9yKGludCBpID0gMCwgaiA9IDA7IGkgPCBpbnB1dC5sZW5ndGgoKSB8fCBqIDwgaW5wdXQubGVuZ3RoKCk7IGkgKz0gaiArIDEgPT0gaW5wdXQubGVuZ3RoKCkgPyAxIDogMCwgaiA9IGogKyAxID09IGlucHV0Lmxlbmd0aCgpID8gaSA6IGogKyAxKSB7CiAgICAgICAgICAgICAgIFN0cmluZyBzdHJpbmcxID0gaW5wdXQuc3Vic3RyaW5nKGksIGopOwogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5kZWxldGUoMCwgc3RyaW5nQnVpbGRlci5sZW5ndGgoKSk7CiAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHN0cmluZzEpOwogICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLnJldmVyc2UoKTsKICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgIFN0cmluZyBzdHJpbmcyID0gc3RyaW5nQnVpbGRlci50b1N0cmluZygpOwogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgaWYoc3RyaW5nMS5lcXVhbHMoc3RyaW5nMikgJiYgc3RyaW5nMS5sZW5ndGgoKSA+IG1hdGNoLmxlbmd0aCgpKSB7CiAgICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBzdHJpbmcxOwogICAgICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGhlIG1hdGNoIGlzIFwiIiArIG1hdGNoICsgIlwiLiIpOwogICAgIH0KfQ==