Ly8gUFIgYysrLzE1NzU5Ci8vIE9yaWdpbjogICBMYXJzIFJ1bmUgTvhzdGRhbCAgPGxhcnNub3N0ZGFsQGdtYWlsLmNvbT4KLy8gVGVzdGNhc2U6IFZvbGtlciBSZWljaGVsdCAgICA8cmVpY2hlbHRAaWdwbS5yd3RoLWFhY2hlbi5kZT4KCi8vIHsgZGctZG8gcnVuIH0KCmV4dGVybiAiQyIgdm9pZCBhYm9ydCgpOwoKaW50IG4gPSAwOwoKaW50IGYoKSB7IHJldHVybiArK247IH0KCmludCgmZm9vMSkoKSA9IGY7CmludCgqZm9vMikoKSA9ICZmOwppbnQoKmZvbzMpKCkgPSBmOwoKaW50IGJhcjEoaW50IGkgPSBmb28xKCkpIHsgcmV0dXJuIGk7IH0KaW50IGJhcjIoaW50IGkgPSBmb28yKCkpIHsgcmV0dXJuIGk7IH0KaW50IGJhcjMoaW50IGkgPSBmb28zKCkpIHsgcmV0dXJuIGk7IH0KaW50IGJhcjQoaW50IGkgPSBmKCkpICAgIHsgcmV0dXJuIGk7IH0KCmludCBtYWluKCkKewogIGlmIChiYXIxKCkgIT0gMSkgYWJvcnQoKTsKICBpZiAoYmFyMigpICE9IDIpIGFib3J0KCk7CiAgaWYgKGJhcjMoKSAhPSAzKSBhYm9ydCgpOwogIGlmIChiYXI0KCkgIT0gNCkgYWJvcnQoKTsKICByZXR1cm4gMDsKfQo=