using System;
using System.Text;
class Program
{
static void Main()
{
ShowCategory("𩸽"); // 𩸽 (U+29E3D): OtherLetter
ShowCategory("𝟢"); // 𝟢 (U+1D7E2): DecimalDigitNumber
}
static void ShowCategory(string s)
{
var bytes = Encoding.UTF32.GetBytes(s);
var x = (bytes[0] << 0) | (bytes[1] << 8) | (bytes[2] << 16) | (bytes[3] << 24);
Console.WriteLine("{0} (U+{1:X}): {2}", s, x, char.GetUnicodeCategory(s, 0));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dDsKCmNsYXNzIFByb2dyYW0KewogICAgc3RhdGljIHZvaWQgTWFpbigpCiAgICB7CiAgICAgICAgU2hvd0NhdGVnb3J5KCLwqbi9Iik7IC8vIPCpuL0gKFUrMjlFM0QpOiBPdGhlckxldHRlcgogICAgICAgIFNob3dDYXRlZ29yeSgi8J2foiIpOyAgLy8g8J2foiAoVSsxRDdFMik6IERlY2ltYWxEaWdpdE51bWJlcgogICAgfQoKICAgIHN0YXRpYyB2b2lkIFNob3dDYXRlZ29yeShzdHJpbmcgcykKICAgIHsKICAgICAgICB2YXIgYnl0ZXMgPSBFbmNvZGluZy5VVEYzMi5HZXRCeXRlcyhzKTsKICAgICAgICB2YXIgeCA9IChieXRlc1swXSA8PCAwKSB8IChieXRlc1sxXSA8PCA4KSB8IChieXRlc1syXSA8PCAxNikgfCAoYnl0ZXNbM10gPDwgMjQpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJ7MH0gKFUrezE6WH0pOiB7Mn0iLCBzLCB4LCBjaGFyLkdldFVuaWNvZGVDYXRlZ29yeShzLCAwKSk7CiAgICB9Cn0K