<?php
$str = 'abcccdefghijklm234nnnnopqqrerrstuvwxyz0156789';
$cur = [
'L' => 0,
'R' => 0,
];
$max = [
'L' => 0,
'R' => 0,
];
$i = 0;
$chars = [];
do {
$char = substr( $str, $cur['R'], 1);
if( false === $pos) {
$cur['R'] = $cur['L'] + count( $chars) - 1; } else {
if( $max['R'] - $max['L'] < $cur['R'] - $cur['L']) {
$max = $cur;
$max['R']--;
}
$cur['L'] += $pos + 1;
}
} while( ++$cur['R'] < strlen($str));
if( $max['R'] - $max['L'] < $cur['R'] - $cur['L']) {
$max = $cur;
$max['R']--;
}
print( substr( $str, $max['L'], $max['R'] - $max['L'] + 1)) . PHP_EOL
;
PD9waHAKJHN0ciA9ICdhYmNjY2RlZmdoaWprbG0yMzRubm5ub3BxcXJlcnJzdHV2d3h5ejAxNTY3ODknOwoKJGN1ciA9IFsKCSdMJwk9PiAwLAoJJ1InCT0+IDAsCl07CgokbWF4ID0gWwoJJ0wnCT0+IDAsCgknUicJPT4gMCwKXTsKCiRpID0gMDsKJGNoYXJzID0gW107CgpkbyB7CgkkY2hhciA9IHN1YnN0ciggJHN0ciwgJGN1clsnUiddLCAxKTsKCSRwb3MgPSBhcnJheV9zZWFyY2goICRjaGFyLCAkY2hhcnMpOwoKCWlmKCBmYWxzZSA9PT0gJHBvcykgewoJCWFycmF5X3B1c2goICRjaGFycywgJGNoYXIpOwoJCSRjdXJbJ1InXSA9ICRjdXJbJ0wnXSArIGNvdW50KCAkY2hhcnMpIC0gMTsKCX0gZWxzZSB7CgkJaWYoICRtYXhbJ1InXSAtICRtYXhbJ0wnXSA8ICRjdXJbJ1InXSAtICRjdXJbJ0wnXSkgewoJCQkkbWF4ID0gJGN1cjsKCQkJJG1heFsnUiddLS07CgkJfQoJCQoJCWFycmF5X3B1c2goICRjaGFycywgJGNoYXIpOwoJCWFycmF5X3NwbGljZSggJGNoYXJzLCAwLCAkcG9zKzEpOwoJCSRjdXJbJ0wnXSArPSAkcG9zICsgMTsKCX0KCn0gd2hpbGUoICsrJGN1clsnUiddIDwgc3RybGVuKCRzdHIpKTsKCmlmKCAkbWF4WydSJ10gLSAkbWF4WydMJ10gPCAkY3VyWydSJ10gLSAkY3VyWydMJ10pIHsKCSRtYXggPSAkY3VyOwoJJG1heFsnUiddLS07Cn0KCnByaW50X3IoJG1heCk7CnByaW50KCBzdWJzdHIoICRzdHIsICRtYXhbJ0wnXSwgJG1heFsnUiddIC0gJG1heFsnTCddICsgMSkpIC4gUEhQX0VPTDsK