// where tl and br are the top left and bottom right cell respectively
function countSquares(tl, br) {

    // these are the four cells to interrogate
    let topLeft, left, top, whole;

    // 1d index = x + #rows * y
    topLeft = t[(tl.x - 1) + n * (tl.y - 1)].count;
    left = t[(tl.x - 1) + n * bry].count;
    top = t[br.x + n * (tl.y - 1)].count;
    whole = t[br.x + n * br.y].count;

    return whole + topLeft - top - left;
}
