<?php
function combi( $arr, $length ) {
if( $length == 1 ) {
return $arr;
} else {
$shorter = combi( $arr, $length - 1 );
foreach( $shorter as $prefix ) {
if( strlen( $prefix ) == $length - 1 ) { foreach( $arr as $suffix ) {
$new[] = $prefix . $suffix;
}
}
}
}
}
PD9waHAKJGEgPSBBcnJheSggMSwgMiwgMyApOwoKZnVuY3Rpb24gY29tYmkoICRhcnIsICRsZW5ndGggKSB7CglpZiggJGxlbmd0aCA9PSAxICkgewoJCXJldHVybiAkYXJyOwoJfSBlbHNlIHsKCQkkc2hvcnRlciA9IGNvbWJpKCAkYXJyLCAkbGVuZ3RoIC0gMSApOwoJCQoJCSRuZXcgPSBBcnJheSgpOwoJCWZvcmVhY2goICRzaG9ydGVyIGFzICRwcmVmaXggKSB7CgkJCWlmKCBzdHJsZW4oICRwcmVmaXggKSA9PSAkbGVuZ3RoIC0gMSApIHsKCQkJCWZvcmVhY2goICRhcnIgYXMgJHN1ZmZpeCApIHsKCQkJCQkkbmV3W10gPSAkcHJlZml4IC4gJHN1ZmZpeDsKCQkJCX0KCQkJfQoJCX0KCQkKCQlyZXR1cm4gYXJyYXlfbWVyZ2UoICRzaG9ydGVyLCAkbmV3ICk7Cgl9Cn0KCnZhcl9kdW1wKCBjb21iaSggJGEsIGNvdW50KCAkYSApICkgKTs=