没有冗余的情况已经实现，可以测试了，python tests.py