<?php
$a1 = array(279171, 438170); $a2 = array(279171, 438156, 438157); $a3 = array(279171, 438178); $a4 = array(279172, 436113, 436115); $a5 = array(279172, 436113, 438108);
$input = array($a1, $a2, $a3, $a4, $a5);
foreach( $input as $item) {
pushBranch( $item, $result);
}
function pushBranch( $arr, &$result) {
for($i=0, $cursor = &$result; $i<$len; $i++) {
$el = $arr[ $i];
if( $i === $len-1 // last
{
} else { // middle
$cursor = &$cursor[ $el];
} else {
if( false !== $key) unset( $cursor[ $key]); $cursor = &$cursor[ $el];
}
}
}
}
PD9waHAKCiAgICAkYTEgPSBhcnJheSgyNzkxNzEsIDQzODE3MCk7CiAgICAkYTIgPSBhcnJheSgyNzkxNzEsIDQzODE1NiwgNDM4MTU3KTsKICAgICRhMyA9IGFycmF5KDI3OTE3MSwgNDM4MTc4KTsKICAgICRhNCA9IGFycmF5KDI3OTE3MiwgNDM2MTEzLCA0MzYxMTUpOwogICAgJGE1ID0gYXJyYXkoMjc5MTcyLCA0MzYxMTMsIDQzODEwOCk7CiAgICAKICAgICRpbnB1dCA9IGFycmF5KCRhMSwgJGEyLCAkYTMsICRhNCwgJGE1KTsKICAgIAogICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICAKICAgIGZvcmVhY2goICRpbnB1dCBhcyAkaXRlbSkgewogICAgICAgIHB1c2hCcmFuY2goICRpdGVtLCAkcmVzdWx0KTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gcHVzaEJyYW5jaCggJGFyciwgJiRyZXN1bHQpIHsKICAgICAgICAkbGVuID0gY291bnQoICRhcnIpOwogICAgICAgIGZvcigkaT0wLCAkY3Vyc29yID0gJiRyZXN1bHQ7ICRpPCRsZW47ICRpKyspIHsKICAgICAgICAgICAgJGVsID0gJGFyclsgJGldOwogICAgICAgICAgICBpZiggJGkgPT09ICRsZW4tMSAgIC8vIGxhc3QKICAgICAgICAgICAgICAgICYmICAhYXJyYXlfa2V5X2V4aXN0cyggJGVsLCAkY3Vyc29yKQogICAgICAgICAgICAgICAgJiYgIGZhbHNlID09PSBhcnJheV9zZWFyY2goICRlbCwgJGN1cnNvciwgdHJ1ZSkpIAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCAkY3Vyc29yLCAkZWwpOwogICAgICAgICAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAvLyBtaWRkbGUKICAgICAgICAgICAgICAgIGlmKCBhcnJheV9rZXlfZXhpc3RzKCAkZWwsICRjdXJzb3IpKSB7CiAgICAgICAgICAgICAgICAgICAgJGN1cnNvciA9ICYkY3Vyc29yWyAkZWxdOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAka2V5ID0gYXJyYXlfc2VhcmNoKCAkZWwsICRjdXJzb3IsIHRydWUpOwogICAgICAgICAgICAgICAgICAgIGlmKCBmYWxzZSAhPT0gJGtleSkgdW5zZXQoICRjdXJzb3JbICRrZXldKTsKICAgICAgICAgICAgICAgICAgICAkY3Vyc29yWyAkZWxdID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgICAgICAkY3Vyc29yID0gJiRjdXJzb3JbICRlbF07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIHByaW50X3IoICRyZXN1bHQpOwo=