using System.IO;
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string input = "Test$String?";
string pattern = "([\\^$()%.\\[\\]*+\\-?])";
string replacement = "%$1";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);
}
}
dXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW07CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKCmNsYXNzIFByb2dyYW0KewogICAgc3RhdGljIHZvaWQgTWFpbigpCiAgICB7CiAgICAgIHN0cmluZyBpbnB1dCA9ICJUZXN0JFN0cmluZz8iOwogICAgICBzdHJpbmcgcGF0dGVybiA9ICIoW1xcXiQoKSUuXFxbXFxdKitcXC0/XSkiOwogICAgICBzdHJpbmcgcmVwbGFjZW1lbnQgPSAiJSQxIjsKICAgICAgUmVnZXggcmd4ID0gbmV3IFJlZ2V4KHBhdHRlcm4pOwogICAgICBzdHJpbmcgcmVzdWx0ID0gcmd4LlJlcGxhY2UoaW5wdXQsIHJlcGxhY2VtZW50KTsKCiAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJPcmlnaW5hbCBTdHJpbmc6IHswfSIsIGlucHV0KTsKICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIlJlcGxhY2VtZW50IFN0cmluZzogezB9IiwgcmVzdWx0KTsgICAKICAgIH0KfQo=