UNTILTRUE{}aW1wb3J0IHNwcml0ZQppbXBvcnQgcmFuZG9tCmltcG9ydCB0aW1lCgoKZyA9IFtbMCwwLDAsMCwwLDAsMCwwLDAsMF0sIFswLDAsMCwxLDAsMCwwLDAsMCwwXSwgWzAsMCwwLDEsMCwwLDEsMCwwLDBdLCBbMCwxLDEsMCwxLDEsMCwwLDAsMF0sIFswLDAsMCwxLDAsMCwwLDEsMCwwXSwgWzAsMCwwLDEsMCwwLDEsMSwwLDBdLCBbMCwwLDEsMCwwLDEsMCwxLDAsMF0sIFswLDAsMCwwLDEsMSwxLDAsMCwwXV0KbWFyayA9IFtbMCwwLDAsMCwwLDAsMCwwLDAsMF0sIFswLDAsMCwwLDAsMCwwLDAsMCwwXSwgWzAsMCwwLDAsMCwwLDAsMCwwLDBdLCBbMCwwLDAsMCwwLDAsMCwwLDAsMF0sIFswLDAsMCwwLDAsMCwwLDAsMCwwXSwgWzAsMCwwLDAsMCwwLDAsMCwwLDBdLCBbMCwwLDAsMCwwLDAsMCwwLDAsMF0sIFswLDAsMCwwLDAsMCwwLDAsMCwwXV0KdmlzID0gWzAsMSwwLDAsMCwwLDAsMCwwXQpwb3NpdGlvbiA9IFtbMCwgMF0sIFsyMDAsIDIwMF0sIFsyNTAsIDYwXSwgWzMyMCwgMjAwXSwgWzI4MCwgMzgwXSwgWzQ3MCwgMjUwXSwgWzY3MCwgOTBdLCBbNjUwLCAzNDBdXQpzcHJpdGUuY2xlYXJBbGxTcHJpdGVzKCkKc3ByaXRlLmNyZWF0ZUJhY2tncm91bmQoJ21hcF94dWV4aWFvJykKCmhvdXNlID0gWyBzcHJpdGUuU3ByaXRlKCdtYXJrJywgMTUwLCAzODApLAogICAgc3ByaXRlLlNwcml0ZSgnU2Nob29sJywgMTE1LCAxOTUpLAogICAgc3ByaXRlLlNwcml0ZSgnSG91c2UyNScsIDI2NCwgNjcpLAogICAgc3ByaXRlLlNwcml0ZSgnSG91c2UzNicsIDMyMCwgMjAwKSwKICAgIHNwcml0ZS5TcHJpdGUoJ0hvdXNlNDcnLCAyOTAsIDM3MSksCiAgICBzcHJpdGUuU3ByaXRlKCdIb3VzZTI1JywgNDc5LCAyMzMpLAogICAgc3ByaXRlLlNwcml0ZSgnSG91c2UzNicsIDY3NCwgOTYpLAogICAgc3ByaXRlLlNwcml0ZSgnSG91c2U0NycsIDY0MiwgMzE4KQpdCmZvciBpIGluIGhvdXNlOgogICAgaS5oaWRlKCkKcGF0aCA9IFsxXQpjYXIgPSBzcHJpdGUuU3ByaXRlKCdjYXInLCBwb3NpdGlvblsxXVswXSwgcG9zaXRpb25bMV1bMV0pCmhvdXNlWzFdLnNob3coKQpjYXIubm93UG9zID0gMQpkZWYgZHJpdmUobik6CiAgICBpZiBnW2Nhci5ub3dQb3NdW25dPT0xOgogICAgICAgIGNhci5zbGlkZVRvKHBvc2l0aW9uW25dWzBdLCBwb3NpdGlvbltuXVsxXSwgMSkKICAgICAgICBjYXIubm93UG9zID0gbgogICAgZWxzZToKICAgICAgICBwcmludCgn56e75Yqo5aSx6LSl77yB56iL5bqP5pyJ6K+v77yBJykKICAgICAgICBleGl0KCkKd2hpbGUgbm90IGxlbihwYXRoKSA9PSA3OgogICAgZiA9IHBhdGhbKGxlbihwYXRoKSAtIDEpXQogICAgZmxhZyA9IDAKICAgIGZvciBfbXlfdmFyaWFibGUgaW4gWzYsNSw0LDMsMiwxLDBdOgogICAgICAgIGlmIHZpc1tfbXlfdmFyaWFibGUrMV0gPT0gMCBhbmQgZ1tmXVtfbXlfdmFyaWFibGUrMV0gPT0gMToKICAgICAgICAgICAgaWYgbWFya1tmXVtfbXlfdmFyaWFibGUrMV0gPT0gMDoKICAgICAgICAgICAgICAgIGZsYWcgPSAxCiAgICAgICAgICAgICAgICBicmVhawogICAgaWYgZmxhZyA9PSAxOgogICAgICAgIG1hcmtbZl1bX215X3ZhcmlhYmxlKzFdID0gMQogICAgICAgIHZpc1tfbXlfdmFyaWFibGUrMV0gPSAxCiAgICAgICAgcGF0aC5hcHBlbmQoX215X3ZhcmlhYmxlKzEpCiAgICAgICAgZHJpdmUocGF0aFtsZW4ocGF0aCkgLSAxXSkKICAgICAgICBob3VzZVtfbXlfdmFyaWFibGUrMV0uc2hvdygpCiAgICBlbHNlOgogICAgICAgIGRlbCBwYXRoW2xlbihwYXRoKSAtIDFdCiAgICAgICAgaG91c2VbMF0uc2hvdygpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgaG91c2VbMF0uaGlkZSgpCiAgICAgICAgaG91c2VbZl0uaGlkZSgpCiAgICAgICAgZHJpdmUocGF0aFtsZW4ocGF0aCkgLSAxXSkKICAgICAgICBmb3IgaSBpbiByYW5nZSg3KToKICAgICAgICAgICAgbWFya1tmXVtpKzFdID0gMAogICAgICAgICAgICB2aXNbZl0gPSAwCg==