using System.Collections.Generic;
public static void Main()
var path = "/a/./b/../../c/d/../e/./f/";
var pathParts = path.Split("/");
var stack = new Stack<string>();
for (var i = 0; i < pathParts.Length; i++)
if (string.IsNullOrWhiteSpace(pathParts[i]))
if (pathParts[i] == "..")
else if (pathParts[i] != ".")
stack.Push(pathParts[i]);
var arr = stack.ToArray();
Console.WriteLine(stack.Count);
foreach (var item in stack)
Console.Write($"/{string.Join("/", arr)}");