c# : Easy Solution
\tpublic class Solution\n\t{\n\t\tList ans;\n\t\tpublic IList AmbiguousCoordinates(string s)\n\t\t{\n\t\t\tans = new List();\n\t\t\tSolve(s, new List(), 1);\n\n
\tpublic class Solution\n\t{\n\t\tList<string> ans;\n\t\tpublic IList<string> AmbiguousCoordinates(string s)\n\t\t{\n\t\t\tans = new List<string>();\n\t\t\tSolve(s, new List<string>(), 1);\n\n\t\t\treturn ans;\n\t\t}\n\n\t\tprivate void Solve(string s, List<string> str, int idx)\n\t\t{\n\t\t\tif(str.Count >= 2)\n\t\t\t{\n\t\t\t\tif (IsValid(str, s.Length - 2))\n\t\t\t\t\tans.Add(\'(\' + str[0] + ", " + str[1] + \')\');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor(int i = idx; i < s.Length - 1; i++)\n\t\t\t{\n\t\t\t\tstr.Add(s.Substring(idx, i - idx + 1));\n\t\t\t\tSolve(s, str, i + 1);\n\t\t\t\tstr.RemoveAt(str.Count - 1);\n\t\t\t}\n\n\t\t\tfor(int i = idx; i < s.Length - 1; i++)\n\t\t\t{\n\t\t\t\tstring temp = s.Substring(idx, i - idx + 1) + \'.\';\n\t\t\t\tfor(int j = i + 1; j < s.Length - 1; j++)\n\t\t\t\t{\n\t\t\t\t\tstr.Add(temp + s.Substring(i + 1, j - i));\n\t\t\t\t\tSolve(s, str, j + 1);\n\t\t\t\t\tstr.RemoveAt(str.Count - 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tprivate bool IsValid(List<string> str, int stringLength)\n\t\t{\n\t\t\treturn !string.IsNullOrWhiteSpace(str[0]) &&\n\t\t\t\t!string.IsNullOrWhiteSpace(str[1]) &&\n\t\t\t\t(str[0][0] != \'0\' || str[0].Length == 1 || str[0][1] == \'.\') &&\n\t\t\t\t(str[1][0] != \'0\' || str[1].Length == 1 || str[1][1] == \'.\') &&\n\t\t\t\t(!str[0].Contains(\'.\') || str[0][^1] != \'0\') &&\n\t\t\t\t(!str[1].Contains(\'.\') || str[1][^1] != \'0\') &&\n\t\t\t\t(str[0].Replace(".", string.Empty).Length + str[1].Replace(".", string.Empty).Length >= stringLength);\n\t\t}\n\t}
['Backtracking']