I have a list:

```
List<string> letters = {"a", "b", "c", "d", "e", "f"};

```

and I have another lists that contains another strings:

```
List<string> myList1 = { "f3", "g4", "h5" };
List<string> myList2 = { "z5", "w7", "q9" };
List<string> myList3 = { "k5", "n7" };

```

I want to fill myLists with `letters` list with conditions:
Every list can contain 5 elements in total and don't add a letter twice for the same list.

In the example above,

```
myList1 = { "f3", "g4", "h5", "a", "b"};
myList2 = { "z5", "w7", "q9", "c", "d"};
myList3 = { "k5", "n7", "e", "f", "d" };

```

regarding to `myList3`, `d` was added randomly (don't forget that I don't want to add "e" or "f" twice).

Please note that if I had this case:

```
List<string> myList1 = { "f3", "g4", "h5", "t3", "u6" };
List<string> myList2 = { "z5", "w7", "q9", "k9" };
List<string> myList3 = { "k5", "n7", "d3", "n6" };

```

The output is:

```
myList1 = { "f3", "g4", "h5", "t3", "u6" };
myList2 = { "z5", "w7", "q9", "k9", "a" };
myList3 = { "k5", "n7", "d3", "n6", "b" };

```

If it helps, myList1 has more/equal elements than `myList2` and `myList3` when it's declared.

I tried to do it, but I have lots of conditions that it's unreadable.

Any help appreciated.