public static void Main()
String[] OneD = new String[rows * cols];
for(int i=0; i< (rows * cols); i++) {
if(i > 2 * OneD.Length / 3) {
String[,] Grid = new String[rows, cols];
Grid = Make2DArray(OneD, rows, cols);
public static String[] Randomize(String[] items)
Random rand = new Random();
for (int i = 0; i < items.Length - 1; i++)
int j = rand.Next(i, items.Length);
private static String[,] Make2DArray(String[] input, int height, int width)
String [,] output = new String [height, width];
for (int i = 0; i < height; i++)
for (int j = 0; j < width; j++)
output[i, j] = input[i * width + j];
public static void Dump(String[,] Grid){
int rows = Grid.GetLength(0);
int cols = Grid.GetLength(1);
for(int i = 0; i< rows; i++) {
for(int j = 0; j < cols; j++) {