优化代码写法
继续优化，返回sn