Fair clustering aims to partition a dataset while mitigating bias in the original dataset. Developing fair clustering algorithms has gained increasing attention from the machine learning community. In this paper, we propose a fair k-means algorithm, fair first clustering (FFC), which consists of an initialization stage, a relaxation stage, and an improvement stage. In the initialization stage, k-means is employed to cluster each group. Then a combination step and a refinement step are applied to ensure clustering quality and guarantee almost fairness. In the relaxation stage, a commonly used fairness metric, balance, is utilized to assess fairness, and a threshold is set to allow for fairness relaxation while improving the clustering quality. In the improvement stage, a local search method is used to improve the clustering quality without changing the fairness. Comparisons of fairness and clustering quality are carried out between our method and other state-of-the-art fair clustering methods on 10 datasets, which include both synthetic and real-world datasets. The results show that compared to the method with the second highest balance value, FFC shares the same SSE value on one dataset and achieves lower SSE values on six datasets.