-
Notifications
You must be signed in to change notification settings - Fork 0
/
base64
3 lines (3 loc) · 5.23 KB
/
base64
1
2
3
import base64
x=(b'''ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUNCmZyb20gdHFkbSBpbXBvcnQgdHFkbQ0KaW1wb3J0IHJlcXVlc3RzDQppbXBvcnQgcmUNCmltcG9ydCBvcw0KDQpvcy5zeXN0ZW0oJ3BrZyBpbnN0YWxsIG1wdiAteScpDQpiYW5uZXIgPSAnJycNClwwMzNbMDszM20NCg0KIF8gICAgXyBfICBfXyAgIF9fIF8gICAgICAgICAgXyAgICAgXw0KfCB8ICB8IHwgfC8gLyAgLyBffCB8ICAgICAgICAoXykgICB8IHwNCnwgfF9ffCB8ICcgLyAgfCB8X3wgfF9fX18gICBfX18gIF9ffCB8DQp8ICBfXyAgfCAgPCAgIHwgIF98ICdfIFwgXCAvIC8gfC8gX2AgfA0KfCB8ICB8IHwgLiBcICB8IHwgfCB8XykgXCBWIC98IHwgKF98IHwNCnxffCAgfF98X3xcX1wgfF98IHxfLl9fLyBcXy8gfF98XF9fLF98X2Rvd25sb2FkZXINCg0KICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn4NCiAgICAgICAgICAgfEhLIEhhY2tlciA677ui77u077uk77q877qXfA0KICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0NCicnJw0Kb3Muc3lzdGVtKCdjbGVhcicpDQpwcmludChiYW5uZXIpDQoNCnByaW50KCdcblwwMzNbMDszM20i77qU77uj77qO77uL2YYgIu+7ru+7nO+6lyDvu6Ug77qNIO+6kO+6oO+7syDvu67vu7Pvuqrvu7Tvu5Tvu5/vuo0g77qU77uz77q777uu77q877qnIDrvupTvu4jvuqPvu7zvu6MnKQ0KDQoNCg0KZGVmIG1haW4oKToNCiAgICB0cnk6DQogICAgICAgIGlmIGxlbihsaXN0KSA9PSAyOg0KICAgICAgICAgICAgaWYgMCBpbiBsaXN0IGFuZCAxIGluIGxpc3Q6DQogICAgICAgICAgICAgICAgX2lucHV0XzEgPSBzdHIoaW5wdXQoIlxuXDAzM1swOzM0bS5IRCDvupPvuqnvu67vuqDvupEg77uu77uz77qq77u077uU77uf77qNIO+7niDvu7Tvu6TvuqTvupjvu58gJ++6oScg77uR77qu77qjIO+7iu+6v1xuLlNEIO+6k++6qe+7ru+6oO+6kSDvu67vu7Pvuqrvu7Tvu5Tvu5/vuo0g77ueIO+7tO+7pO+6pO+6mO+7nyAn77qxJyDvu5Hvuq7vuqMg77uK77q/XG46ICIpKS51cHBlcigpDQogICAgICAgICAgICAgICAgaWYgX2lucHV0XzEgPT0gJ9itJzoNCiAgICAgICAgICAgICAgICAgICAgZG93bmxvYWRfdmlkZW8oIkhEIikNCg0KICAgICAgICAgICAgICAgIGlmIF9pbnB1dF8xID09ICfYsyc6DQogICAgICAgICAgICAgICAgICAgIGRvd25sb2FkX3ZpZGVvKCJTRCIpDQoNCiAgICAgICAgaWYgbGVuKGxpc3QpID09IDI6DQogICAgICAgICAgICBpZiAxIGluIGxpc3QgYW5kIDIgaW4gbGlzdDoNCiAgICAgICAgICAgICAgICBfaW5wdXRfMiA9IHN0cihpbnB1dCgiXG5cMDMzWzA7MzVtINif77ue77u077uk77qk77qY77uf77qNIO+6qu+7s++6ru+6lyDvu54g77urICEgSEQg77qT77qp77uu77qg77qRIO+6ru+7k++7ru+6mO+7oyDvuq7vu7Tvu48g77uu77uz77qq77u077uU77uf77qNJ9mEJyAp2YjYpyAn2YYnKSAiKSkudXBwZXIoKQ0KICAgICAgICAgICAgICAgIGlmIF9pbnB1dF8yID09ICfZhic6DQogICAgICAgICAgICAgICAgICAgIGRvd25sb2FkX3ZpZGVvKCJTRCIpDQogICAgICAgICAgICAgICAgaWYgX2lucHV0XzIgPT0gJ9mEJzoNCiAgICAgICAgICAgICAgICAgICAgZXhpdCgpDQoNCiAgICAgICAgaWYgbGVuKGxpc3QpID09IDI6DQogICAgICAgICAgICBpZiAwIGluIGxpc3QgYW5kIDMgaW4gbGlzdDoNCiAgICAgICAgICAgICAgICBfaW5wdXRfMiA9IHN0cihpbnB1dCgiXG5cMDMzWzA7MzVtINif77ue77u077uk77qk77qY77uf77qNIO+6qu+7s++6ru+6lyDvu54g77urICEgU0Qg77qT77qp77uu77qg77qRIO+6ru+7k++7ru+6mO+7oyDvuq7vu7Tvu48g77uu77uz77qq77u077uU77uf77qNJ9mEJyAp2YjYpyAn2YYnKSA6IFxuIikpLnVwcGVyKCkNCiAgICAgICAgICAgICAgICBpZiBfaW5wdXRfMiA9PSAn2YYnOg0KICAgICAgICAgICAgICAgICAgICBkb3dubG9hZF92aWRlbygiSEQiKQ0KICAgICAgICAgICAgICAgIGlmIF9pbnB1dF8yID09ICfZhCc6DQogICAgICAgICAgICAgICAgICAgIGV4aXQoKQ0KICAgIGV4Y2VwdChLZXlib2FyZEludGVycnVwdCk6DQogICAgICAgIHByaW50KCJcbiHvuoTvu4TvuqciKQ0KDQoNCmRlZiBkb3dubG9hZF92aWRlbyhxdWFsaXR5KToNCg0KICAgIG9zLnN5c3RlbSgnbXB2IG4vbi4vdmlkZmIyLm1wMycpDQogICAgdmlkZW9fdXJsID0gcmUuc2VhcmNoKHJmJ3txdWFsaXR5Lmxvd2VyKCl9X3NyYzoiKC4rPykiJywgaHRtbCkuZ3JvdXAoMSkNCiAgICBmaWxlX3NpemVfcmVxdWVzdCA9IHJlcXVlc3RzLmdldCh2aWRlb191cmwsIHN0cmVhbT1UcnVlKQ0KICAgIGZpbGVfc2l6ZSA9IGludChmaWxlX3NpemVfcmVxdWVzdC5oZWFkZXJzWydDb250ZW50LUxlbmd0aCddKQ0KICAgIGJsb2NrX3NpemUgPSAxMDI0DQogICAgZmlsZW5hbWUgPSBkYXRldGltZS5zdHJmdGltZShkYXRldGltZS5ub3coKSwgJyVZLSVtLSVkLSVILSVNLSVTJykNCiAgICB0ID0gdHFkbSh0b3RhbD1maWxlX3NpemUsIHVuaXQ9J0InLCB1bml0X3NjYWxlPVRydWUsIGRlc2M9ZmlsZW5hbWUsIGFzY2lpPVRydWUpDQogICAgd2l0aCBvcGVuKGZpbGVuYW1lICsgJy5tcDQnLCAnd2InKSBhcyBmOg0KICAgICAgICBmb3IgZGF0YSBpbiBmaWxlX3NpemVfcmVxdWVzdC5pdGVyX2NvbnRlbnQoYmxvY2tfc2l6ZSk6DQogICAgICAgICAgICB0LnVwZGF0ZShsZW4oZGF0YSkpDQogICAgICAgICAgICBmLndyaXRlKGRhdGEpDQogICAgdC5jbG9zZSgpDQogICAgb3Muc3lzdGVtKCdtcHYgbi9uLi92aWRmYi5tcDMnKQ0KICAgIG9zLnN5cy5leGl0KCkNCg0KdHJ5Og0KICAgIHdoaWxlIFRydWU6DQogICAgICAgIHVybCA9IGlucHV0KCJcblwwMzNbMDszMm3vu5nvu67vupLvurTvu7Tvu5Mg77uw77ug77uLIO+7ru+7s++6qu+7tO+7kyDvu4rvu4Tvu5jvu6Mg77uC77qR77qN77qtIO+7niDvuqfvuqnvuo06ICIpDQogICAgICAgIHggPSByZS5tYXRjaChyJ14oaHR0cHM6fClbL11bL113d3cuKFteL10rWy5dKSpmYWNlYm9vay5jb20nLCB1cmwpDQoNCiAgICAgICAgaWYgeDoNCiAgICAgICAgICAgIGh0bWwgPSByZXF1ZXN0cy5nZXQodXJsKS5jb250ZW50LmRlY29kZSgndXRmLTgnKQ0KICAgICAgICBlbHNlOg0KICAgICAgICAgICAgcHJpbnQoIlxuXDAzM1swOzMxbe+7me+7ru+6ku+6tO+7tO+7kyDvu67vu7Pvuqrvu7Tvu5Tvu58g77uK77qR77qO77qXIO+6ru+7tO+7jyDvu4LvupHvuo3YsSIpDQogICAgICAgICAgICBleGl0KCkNCg0KICAgICAgICBfcXVhbGl0eWhkID0gcmUuc2VhcmNoKCdoZF9zcmM6Imh0dHBzJywgaHRtbCkNCiAgICAgICAgX3F1YWxpdHlzZCA9IHJlLnNlYXJjaCgnc2Rfc3JjOiJodHRwcycsIGh0bWwpDQogICAgICAgIF9oZCA9IHJlLnNlYXJjaCgnaGRfc3JjOm51bGwnLCBodG1sKQ0KICAgICAgICBfc2QgPSByZS5zZWFyY2goJ3NkX3NyYzpudWxsJywgaHRtbCkNCg0KICAgICAgICBsaXN0ID0gW10NCiAgICAgICAgX3RoZWxpc3QgPSBbX3F1YWxpdHloZCwgX3F1YWxpdHlzZCwgX2hkLCBfc2RdDQogICAgICAgIGZvciBpZCx2YWwgaW4gZW51bWVyYXRlKF90aGVsaXN0KToNCiAgICAgICAgICAgIGlmIHZhbCAhPSBOb25lOg0KICAgICAgICAgICAgICAgIGxpc3QuYXBwZW5kKGlkKQ0KDQogICAgICAgIG1haW4oKQ0KICAgICAgICBhZ2FpbiA9IGlucHV0KCJcblwwMzNbMDszN23Yn++7ru+7s++6qu+7tO+7lO+7n++6jSDvu57vu7Tvu6TvuqTvupcg77qq77uz77qu77qXIO+7niDvu6sgICfZhCcgKdmI2KcgJ9mGJykiKS51cHBlcigpDQogICAgICAgIGlmIGFnYWluID09IHN0cigi2YYiKToNCiAgICAgICAgICAgIG9zLnN5c3RlbSgnY2xzJyBpZiBvcy5uYW1lID09ICdudCcgZWxzZSAnY2xlYXInKQ0KICAgICAgICAgICAgcHJpbnQoYmFubmVyKQ0KICAgICAgICAgICAgY29udGludWUNCiAgICAgICAgZWxzZToNCiAgICAgICAgICAgIGJyZWFrDQoNCmV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoNCiAgICBwcmludCgiIe+6hO+7hO+6pyIpDQogICAgDQoNCg==''')
exec (base64.b64decode(x))