using System;
using System.Text;
namespace TehMain
{
internal static class Program
{
private static int Main(string[] argv)
{
Random rnd;
switch (argv.Length)
{
case 5:
if (argv[Main(new[] {" ", " ", " "})][Main(new[] {"", "", ""})] ==
Main(new[] {" ", " ", " "}))
return Main(new[] {" ", " ", " "});
rnd =
new Random((argv[Main(new[] {" ", " ", " "})][Main(new[] {"", "", ""})] <
Main(new[] {" ", " ", " "}))
? int.Parse(argv[Main(new[] {"", "", ""})])
: int.Parse(argv[Main(new[] {" ", " ", " "})]));
var _ = (argv[Main(new[] {" ", " ", " "})][Main(new[] {"", "", ""})] <
Main(new[] {" ", " ", " "}))
? int.Parse(argv[Main(new[] {"", " ", " "})]) +
int.Parse(argv[Main(new[] {" ", " ", " "})])
: int.Parse(argv[Main(new[] {" ", " ", " "})]) +
int.Parse(argv[Main(new[] {" ", " ", " "})]) - Main(new[] {" ", " ", " "});
for (var i = Main(new[] {"", "", ""}); i < _; i++)
rnd.Next(Main(new[] {" ", " ", " "}));
return rnd.Next(Main(new[] {" ", " ", " "})) +
Main(new[] {" ", " ", " "})*Main(new[] {" ", " ", " "});
case 4:
rnd = new Random(int.Parse(argv[Main(new[] {"", "", ""})]));
for (var i = Main(new[] {"", "", ""});
i < int.Parse(argv[Main(new[] {" ", "", ""})]) + int.Parse(argv[Main(new[] {" ", " ", " "})]);
i++)
rnd.Next(int.Parse(argv[Main(new[] {" ", " ", ""})]));
return rnd.Next(int.Parse(argv[Main(new[] {" ", "", ""})]));
case 3:
return argv['-' - '-'].Length + argv['/'/'/'].Length*argv['/'/'/' + '/'/'/'].Length;
case 2:
rnd = new Random(int.Parse(argv[Main(new[] {"", "", ""})]));
for (var i = Main(new[] {"", "", ""}); i < int.Parse(argv[Main(new[] {"", " ", " "})]); i++)
rnd.Next(Main(new[] {" ", " ", " "})*Main(new[] {" ", " ", " "}));
return rnd.Next(Main(new[] {" ", " ", " "})*Main(new[] {" ", " ", " "}));
case 1:
Console.WriteLine(argv[Main(new[] {"", "", ""})]);
return Main(new[] {"", "", ""});
case 0:
var sb = new StringBuilder();
for (var i = Main(new[] {"", "", ""});
i <
Main(new[] {Main(new[] {" ", " ", " "}).ToString(), Main(new[] {" ", " ", " "}).ToString()});
i++)
sb.Append((char)
Main(new[]
{
Main(new[]
{
Main(new[] {" ", " ", " "}).ToString(),
Main(new[] {" ", " ", " "}).ToString()
}).ToString(),
Main(new[]
{
Main(new[] {" ", " ", " "}).ToString(),
Main(new[] {" ", " ", " "}).ToString()
}).ToString(),
Main(new[]
{
Main(new[] {" ", " ", " "}).ToString(),
Main(new[] {" ", " ", " "}).ToString()
}).ToString(),
Main(new[]
{
Main(new[] {" ", " ", " "}).ToString(),
Main(new[] {" ", " ", " "}).ToString()
}).ToString(),
((Main(new[]
{
Main(new[]
{
Main(new[] {" ", " ", " "}).
ToString()
,
Main(new[] {" ", " ", " "}).
ToString()
}).ToString()
,
Main(new[]
{
Main(new[] {" ", " ", " "}).
ToString()
,
Main(new[] {" ", " ", " "}).ToString()
}).ToString(),
Main(new[]
{
Main(new[]
{
Main(new[]
{
" ", " ",
" "
})
.ToString()
,
Main(new[] {" ", " ", " "}).
ToString()
}).
ToString(),
Main(new[]
{
Main(new[] {" ", " ", " "}).
ToString
(),
Main(new[]
{
" ", " ",
" "
})
.ToString()
})
.ToString()
}).ToString(),
i.ToString()
}) -
Main(new[]
{
Main(new[] {" ", "", " "}).ToString(),
Main(new[]
{
Main(new[] {" ", " ", " "}).
ToString(),
Main(new[]
{
Main(new[] {" ", " ", " "}).
ToString
(),
Main(new[]
{" ", " ", " "})
.
ToString()
}).
ToString()
}).ToString(),
Main(new[]
{
Main(new[]
{
Main(new[]
{
" ", " ",
" "
})
.ToString()
,
Main(new[] {" ", " ", " "}).
ToString()
}).
ToString(),
Main(new[]
{
Main(new[] {" ", " ", " "}).
ToString
(),
Main(new[]
{
" ", " ",
" "
})
.ToString()
})
.ToString()
}).ToString(),
i.ToString()
}) +
Main(new[]
{
Main(new[]
{
Main(new[] {" ", " ", " "}).
ToString()
,
Main(new[] {" ", " ", " "}).ToString()
}).ToString(),
Main(new[]
{
Main(new[] {" ", " ", " "}).ToString(),
Main(new[] {" ", " ", " "}).
ToString()
}).ToString()
}))%
Main(new[]
{
Main(new[]
{
Main(new[] {" ", " ", " "}).
ToString(),
Main(new[] {" ", " ", " "}).ToString()
}).ToString(),
Main(new[]
{
Main(new[] {" ", " ", " "}).ToString(),
Main(new[] {" ", " ", " "}).
ToString()
}).ToString()
})).ToString()
}
));
return Main(new[] {sb.ToString()});
default:
return Main(new[] {""});
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dDsKCm5hbWVzcGFjZSBUZWhNYWluCnsKICAgIGludGVybmFsIHN0YXRpYyBjbGFzcyBQcm9ncmFtCiAgICB7CiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgaW50IE1haW4oc3RyaW5nW10gYXJndikKICAgICAgICB7CiAgICAgICAgICAgIFJhbmRvbSBybmQ7CiAgICAgICAgICAgIHN3aXRjaCAoYXJndi5MZW5ndGgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgICAgICAgICBpZiAoYXJndltNYWluKG5ld1tdIHsiICAiLCAiICIsICIgICJ9KV1bTWFpbihuZXdbXSB7IiIsICIiLCAiIn0pXSA9PQogICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICAiLCAiICAgICAgICIsICIgICAgICAgIn0pKQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTWFpbihuZXdbXSB7IiAgICAiLCAiICAgICAgICIsICIgICAgIn0pOwogICAgICAgICAgICAgICAgICAgIHJuZCA9CiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBSYW5kb20oKGFyZ3ZbTWFpbihuZXdbXSB7IiAgIiwgIiAiLCAiICAifSldW01haW4obmV3W10geyIiLCAiIiwgIiJ9KV0gPAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICAiLCAiICAgICAgICIsICIgICAgICAgIn0pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGludC5QYXJzZShhcmd2W01haW4obmV3W10geyIiLCAiIiwgIiJ9KV0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaW50LlBhcnNlKGFyZ3ZbTWFpbihuZXdbXSB7IiAiLCAiICIsICIgIn0pXSkpOwogICAgICAgICAgICAgICAgICAgIHZhciBfID0gKGFyZ3ZbTWFpbihuZXdbXSB7IiAgIiwgIiAiLCAiICAifSldW01haW4obmV3W10geyIiLCAiIiwgIiJ9KV0gPAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10geyIgICIsICIgICAgICAgIiwgIiAgICAgICAifSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpbnQuUGFyc2UoYXJndltNYWluKG5ld1tdIHsiIiwgIiAiLCAiICJ9KV0pICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludC5QYXJzZShhcmd2W01haW4obmV3W10geyIgICIsICIgIiwgIiAgIn0pXSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGludC5QYXJzZShhcmd2W01haW4obmV3W10geyIgIiwgIiAiLCAiICAifSldKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQuUGFyc2UoYXJndltNYWluKG5ld1tdIHsiICAiLCAiICIsICIgICJ9KV0pIC0gTWFpbihuZXdbXSB7IiAgIiwgIiAiLCAiICAifSk7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IE1haW4obmV3W10geyIiLCAiIiwgIiJ9KTsgaSA8IF87IGkrKykKICAgICAgICAgICAgICAgICAgICAgICAgcm5kLk5leHQoTWFpbihuZXdbXSB7IiAgIiwgIiAgICIsICIgICAgICAifSkpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBybmQuTmV4dChNYWluKG5ld1tdIHsiICAiLCAiICAgIiwgIiAgICAgICJ9KSkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICIsICIgICIsICIgICJ9KSpNYWluKG5ld1tdIHsiICAgICIsICIgICAgIiwgIiAgICAifSk7CiAgICAgICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgICAgICAgcm5kID0gbmV3IFJhbmRvbShpbnQuUGFyc2UoYXJndltNYWluKG5ld1tdIHsiIiwgIiIsICIifSldKSk7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IE1haW4obmV3W10geyIiLCAiIiwgIiJ9KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGkgPCBpbnQuUGFyc2UoYXJndltNYWluKG5ld1tdIHsiICIsICIiLCAiIn0pXSkgKyBpbnQuUGFyc2UoYXJndltNYWluKG5ld1tdIHsiICAiLCAiICIsICIgIn0pXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpKyspCiAgICAgICAgICAgICAgICAgICAgICAgIHJuZC5OZXh0KGludC5QYXJzZShhcmd2W01haW4obmV3W10geyIgIiwgIiAiLCAiIn0pXSkpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBybmQuTmV4dChpbnQuUGFyc2UoYXJndltNYWluKG5ld1tdIHsiICAiLCAiIiwgIiJ9KV0pKTsKICAgICAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXJndlsnLScgLSAnLSddLkxlbmd0aCArIGFyZ3ZbJy8nLycvJ10uTGVuZ3RoKmFyZ3ZbJy8nLycvJyArICcvJy8nLyddLkxlbmd0aDsKICAgICAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgICAgICBybmQgPSBuZXcgUmFuZG9tKGludC5QYXJzZShhcmd2W01haW4obmV3W10geyIiLCAiIiwgIiJ9KV0pKTsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gTWFpbihuZXdbXSB7IiIsICIiLCAiIn0pOyBpIDwgaW50LlBhcnNlKGFyZ3ZbTWFpbihuZXdbXSB7IiIsICIgIiwgIiAifSldKTsgaSsrKQogICAgICAgICAgICAgICAgICAgICAgICBybmQuTmV4dChNYWluKG5ld1tdIHsiICAiLCAiICAgIiwgIiAgICAgICJ9KSpNYWluKG5ld1tdIHsiICAgICAiLCAiICAgICAgICAgIiwgIiAgICAgIn0pKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gcm5kLk5leHQoTWFpbihuZXdbXSB7IiAgIiwgIiAgICIsICIgICAgICAifSkqTWFpbihuZXdbXSB7IiAgICAgIiwgIiAgICAgICAgICIsICIgICAgICJ9KSk7CiAgICAgICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoYXJndltNYWluKG5ld1tdIHsiIiwgIiIsICIifSldKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gTWFpbihuZXdbXSB7IiIsICIiLCAiIn0pOwogICAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgICAgIHZhciBzYiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IE1haW4obmV3W10geyIiLCAiIiwgIiJ9KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGkgPAogICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXSB7TWFpbihuZXdbXSB7IiAgIiwgIiAgIiwgIiAifSkuVG9TdHJpbmcoKSwgTWFpbihuZXdbXSB7IiAgIiwgIiAgIiwgIiAifSkuVG9TdHJpbmcoKX0pOwogICAgICAgICAgICAgICAgICAgICAgICAgaSsrKQogICAgICAgICAgICAgICAgICAgICAgICBzYi5BcHBlbmQoKGNoYXIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXSB7IiAgICAiLCAiICAgIiwgIiAgICAifSkuVG9TdHJpbmcoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXSB7IiAgIiwgIiAgIiwgIiAgIn0pLlRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5Ub1N0cmluZygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10geyIgICIsICIgICAgICIsICIgICAgICJ9KS5Ub1N0cmluZygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICIsICIgICIsICIgICJ9KS5Ub1N0cmluZygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkuVG9TdHJpbmcoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICAiLCAiICAgICIsICIgICAgICJ9KS5Ub1N0cmluZygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICIsICIgICAgIiwgIiAgICAgIn0pLlRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5Ub1N0cmluZygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10geyIgICIsICIgICIsICIgICJ9KS5Ub1N0cmluZygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICIsICIgICAgICIsICIgICAgICJ9KS5Ub1N0cmluZygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkuVG9TdHJpbmcoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICAgICAiLCAiICAgICAiLCAiICAgICAgIn0pLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9TdHJpbmcoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10geyIgICAgICIsICIgICAgICIsICIgICAgICAgIn0pLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9TdHJpbmcoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLlRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXSB7IiAgICAgIiwgIiAgICAgIiwgIiAgICAgICJ9KS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICIsICIgICAgIiwgIiAgICAgICJ9KS5Ub1N0cmluZygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkuVG9TdHJpbmcoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIiwgIiAgICAgICAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5Ub1N0cmluZygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICIsICIgICIsICIgICAifSkuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9TdHJpbmcoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvU3RyaW5nKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXSB7IiAgIiwgIiAgIiwgIiAifSkuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9TdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICAiLCAiICAgICAgICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLlRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5Ub1N0cmluZygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkuVG9TdHJpbmcoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLlRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIC0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICIsICIiLCAiICAgICAgIn0pLlRvU3RyaW5nKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXSB7IiAgICIsICIgICAgICIsICIgICAgICAifSkuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb1N0cmluZygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10geyIgICIsICIgICIsICIgIn0pLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvU3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IiAiLCAiICAgICIsICIgICAgICAifSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9TdHJpbmcoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5Ub1N0cmluZygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAiLCAiICAgICAgICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLlRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10geyIgIiwgIiAgIiwgIiAgICJ9KS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb1N0cmluZygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9TdHJpbmcoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICAiLCAiICAiLCAiICJ9KS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb1N0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICIsICIgICAgICAgIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuVG9TdHJpbmcoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLlRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5Ub1N0cmluZygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkuVG9TdHJpbmcoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10geyIgICAiLCAiICAgICAgICIsICIgICAgICAifSkuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb1N0cmluZygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXSB7IiAiLCAiICAiLCAiICAgIn0pLlRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5Ub1N0cmluZygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10geyIgICIsICIgICIsICIgIn0pLlRvU3RyaW5nKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10geyIgICIsICIgICAgICAgIiwgIiAgICAgICJ9KS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5Ub1N0cmluZygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSklCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4obmV3W10geyIgICAiLCAiICAgICAgICIsICIgICAgICAifSkuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvU3RyaW5nKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXSB7IiAiLCAiICAiLCAiICAgIn0pLlRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLlRvU3RyaW5nKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbihuZXdbXSB7IiAgIiwgIiAgIiwgIiAifSkuVG9TdHJpbmcoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluKG5ld1tdIHsiICAiLCAiICAgICAgICIsICIgICAgICAifSkuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLlRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpLlRvU3RyaW5nKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gTWFpbihuZXdbXSB7c2IuVG9TdHJpbmcoKX0pOwogICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gTWFpbihuZXdbXSB7IiJ9KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQ==