Flat Histogram Monte Carlo Method