using System;
using System.Text;
using System.Security.Cryptography;
public class Test
{
public static string GenerateMySQLHash(string strKey) {
byte[] bytes = Encoding.UTF8.GetBytes(strKey);
SHA1Managed sHA1Managed = new SHA1Managed();
byte[] array = sHA1Managed.ComputeHash(sHA1Managed.ComputeHash(bytes));
StringBuilder stringBuilder = new StringBuilder(array.Length);
byte[] array2 = array;
checked {
for (int i = 0; i < array2.Length; i++) {
byte b = array2[i];
stringBuilder.Append(b.ToString("x2"));
}
return "*" + stringBuilder.ToString();
}
}
public static void Main()
{
string a;
while ((a = Console.ReadLine())!=null)
Console.WriteLine(a + " = " + GenerateMySQLHash(a));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dDsKdXNpbmcgU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeTsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKICAgIHB1YmxpYyBzdGF0aWMgc3RyaW5nIEdlbmVyYXRlTXlTUUxIYXNoKHN0cmluZyBzdHJLZXkpIHsKICAgIGJ5dGVbXSBieXRlcyA9IEVuY29kaW5nLlVURjguR2V0Qnl0ZXMoc3RyS2V5KTsKICAgIFNIQTFNYW5hZ2VkIHNIQTFNYW5hZ2VkID0gbmV3IFNIQTFNYW5hZ2VkKCk7CiAgICBieXRlW10gYXJyYXkgPSBzSEExTWFuYWdlZC5Db21wdXRlSGFzaChzSEExTWFuYWdlZC5Db21wdXRlSGFzaChieXRlcykpOwogICAgU3RyaW5nQnVpbGRlciBzdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoYXJyYXkuTGVuZ3RoKTsKICAgIGJ5dGVbXSBhcnJheTIgPSBhcnJheTsKICAgIGNoZWNrZWQgewogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJyYXkyLkxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBieXRlIGIgPSBhcnJheTJbaV07CiAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLkFwcGVuZChiLlRvU3RyaW5nKCJ4MiIpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gIioiICsgc3RyaW5nQnVpbGRlci5Ub1N0cmluZygpOwogICAgICAgIH0KICAgIH0gCgoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXN0cmluZyBhOwoJCXdoaWxlICgoYSA9IENvbnNvbGUuUmVhZExpbmUoKSkhPW51bGwpCgkJCUNvbnNvbGUuV3JpdGVMaW5lKGEgKyAiICA9ICAiICsgR2VuZXJhdGVNeVNRTEhhc2goYSkpOwoJfQp9Cg==