using System;
using System.Linq;
public class Test
{
private static string s(int i)
{
return new string('+', i);
}
private static string GetBrainFuck(string t)
{
return string.Join("", t.Select(x => {
int a = (int)Math.Sqrt(x);
return string.Format("{0}[>{1}<-]>{2}.>",s(a) , s(x/a), s(x-a*(x/a)));
}));
}
public static void Main()
{
Console.WriteLine(GetBrainFuck("Hello world"));
Console.WriteLine();
Console.WriteLine(GetBrainFuck("Goodbye Brainfuck"));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXByaXZhdGUgc3RhdGljIHN0cmluZyBzKGludCBpKSAKCXsKCQlyZXR1cm4gbmV3IHN0cmluZygnKycsIGkpOwoJfQpwcml2YXRlIHN0YXRpYyBzdHJpbmcgR2V0QnJhaW5GdWNrKHN0cmluZyB0KQogICAgewogICAgICAgIHJldHVybiBzdHJpbmcuSm9pbigiIiwgdC5TZWxlY3QoeCA9PiB7IAogICAgICAgIAlpbnQgYSA9IChpbnQpTWF0aC5TcXJ0KHgpOwogICAgICAgIAlyZXR1cm4gc3RyaW5nLkZvcm1hdCgiezB9Wz57MX08LV0+ezJ9Lj4iLHMoYSkgLCBzKHgvYSksIHMoeC1hKih4L2EpKSk7CiAgICAgICAgfSkpOwogICAgfQogICAgCglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJQ29uc29sZS5Xcml0ZUxpbmUoR2V0QnJhaW5GdWNrKCJIZWxsbyB3b3JsZCIpKTsKCQlDb25zb2xlLldyaXRlTGluZSgpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKEdldEJyYWluRnVjaygiR29vZGJ5ZSBCcmFpbmZ1Y2siKSk7Cgl9Cn0=