func strcpySwift(_ d:UnsafeMutablePointer<CChar>, _ s:UnsafeMutablePointer<CChar>) { for i in 0... { d[i] = s[i] if s[i] == 0 { return } } }
func qsort<T:Comparable>(_ arr:[T]) -> [T] { var xs = arr[...] guard let x = xs.popFirst() else { return [] } return (qsort(xs.filter{$0 <= x})) + [x] + (qsort(xs.filter{$0 > x})) }