good:all function, bad:sometime program has segment wrong when the flow is too much,this may cause because some arrays are not big enough