<?php
function solution($A)
{
$int = int_of_base_neg2($A);
$neg_int = - $int;
$result = base_neg2_of_int($neg_int);
return $result;
}
function int_of_base_neg2($a)
{
$result = 0;
for($i = 0; $i < $count; $i ++) {
$result += $a[$i] * pow(-2, $i); }
return $result;
}
function base_neg2_of_int($n)
{
$result = [];
while($n !== 0)
{
$remainder = (int) ($n % -2);
$n = (int) ($n / - 2);
if ($remainder < 0)
{
$remainder += 2;
$n += 1;
}
$result[] = $remainder;
}
return $result;
}
PD9waHAKCmVjaG8ganNvbl9lbmNvZGUoc29sdXRpb24oanNvbl9kZWNvZGUoZmlsZV9nZXRfY29udGVudHMoInBocDovL3N0ZGluIikpKSk7CgpmdW5jdGlvbiBzb2x1dGlvbigkQSkKewoJJGludCA9IGludF9vZl9iYXNlX25lZzIoJEEpOwoJJG5lZ19pbnQgPSAtICRpbnQ7CgkkcmVzdWx0ID0gYmFzZV9uZWcyX29mX2ludCgkbmVnX2ludCk7CgoJcmV0dXJuICRyZXN1bHQ7Cn0KCmZ1bmN0aW9uIGludF9vZl9iYXNlX25lZzIoJGEpCnsKCSRjb3VudCA9IGNvdW50KCRhKTsKCSRyZXN1bHQgPSAwOwoJZm9yKCRpID0gMDsgJGkgPCAkY291bnQ7ICRpICsrKSB7CgkJJHJlc3VsdCArPSAkYVskaV0gKiBwb3coLTIsICRpKTsKCX0KCglyZXR1cm4gJHJlc3VsdDsKfQoKZnVuY3Rpb24gYmFzZV9uZWcyX29mX2ludCgkbikKewoJJHJlc3VsdCA9IFtdOwoJd2hpbGUoJG4gIT09IDApCgl7CgkJJHJlbWFpbmRlciA9IChpbnQpICgkbiAlIC0yKTsKCQkkbiA9IChpbnQpICgkbiAvIC0gMik7CgoJCWlmICgkcmVtYWluZGVyIDwgMCkKCQl7CgkJCSRyZW1haW5kZXIgKz0gMjsKCQkJJG4gKz0gMTsKCQl9CgoJCSRyZXN1bHRbXSA9ICRyZW1haW5kZXI7Cgl9CgoJcmV0dXJuICRyZXN1bHQ7Cn0K