first push to non-uniform
modified way of counting product