C# Full Simulation
\npublic class Solution\n{\n    public IList<int> MostVisited(int n, int[] rounds)\n    {\n        var maxVisits = 0;\n        var result = new List<int>(n);\n 
```\npublic class Solution\n{\n    public IList<int> MostVisited(int n, int[] rounds)\n    {\n        var maxVisits = 0;\n        var result = new List<int>(n);\n        var visits = new Dictionary<int, int>(n);\n\n        foreach (var sector in GenerateSectors(n, rounds))\n        {\n            var curVisits = visits[sector] =\n                visits.GetValueOrDefault(sector) + 1;\n\n            if (curVisits == maxVisits)\n            {\n                result.Add(sector);\n            }\n\n            if (curVisits > maxVisits)\n            {\n                result.Clear();\n                result.Add(sector);\n                maxVisits = curVisits;\n            }\n        }\n\n        return result.Order().ToList();\n    }\n\n    public IEnumerable<int> GenerateSectors(int n, int[] rounds)\n    {\n        var sector = rounds[0];\n        yield return rounds[0];\n\n        foreach (var lastSectorOfRound in rounds[1..])\n        {\n            while (sector != lastSectorOfRound)\n            {\n                sector = sector % n + 1;\n                yield return sector;\n            }\n        }\n    }\n}\n```
['C#']