备用版

貌似还有不少可以修正的地方，可惜没时间了