function findTargetX(y, cols) {
  for (x = 1; x <= Right; x += cols) {
    if ([x,2] == [1,y]) {
      return x;
    }
  }
  for (i = 1; i <= cols; i++) {
    [x+i-1,1] = [i,1];
  }
  return x;
}

function findTargetY(from, targetX) {
  for (y = 2; y < from; y++) {
    if ([targetX,y] == "") {
      return y;
    }
  }
  return from;
}

cols =  Right;
maxY = 2;
for (y = 3; y <= Bottom; y++) {
  targetX = findTargetX(y, cols);
  targetY = findTargetY(y, targetX);
  if (targetY > maxY) {
    maxY = targetY;
  }
  if (targetX == 1 && targetY == y) {
    continue;
  }
  for (i = 1; i <= cols; i++) {
    [targetX+i-1,targetY] = [i,y];
    [i,y] = "";
  }
}
DeleteRow(maxY+1, Bottom);