add n-dimensional upper bound algorithm (n=2)