using System.Collections.Generic;
public static void Main()
var mappers = new string[]
.Range(0, (int)('W' - 'A'))
.Select(i => (char)('A' + i));
var random = new Random();
var mapperPool = new List<string>();
var lastPickedMapper = "";
foreach (var part in parts)
if (mapperPool.Count == 0)
mapperPool.AddRange(mappers);
index = random.Next(mapperPool.Count);
mapper = mapperPool[index];
while (lastPickedMapper == mapper);
mapperPool.RemoveAt(index);
lastPickedMapper = mapper;
Console.WriteLine("{0}: {1}", part, mapper);