Version 1.1 2021.03.29
algorithm optimized.