Metadata

Key Value
engine transformers
prompt completion
temp 0.2
top_p 0.95
max_new_tokens 1024
n_completions 10

Solutions

func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```swift
// Check if in given array of numbers, are any two numbers closer to each other than
// given threshold.
// hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false
// hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true
func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```

func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```swift
// Check if in given array of numbers, are any two numbers closer to each other than
// given threshold.
// hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false
// hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true
func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}

// Test cases
print(hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5)) // false
print(hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3)) // true
```

func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    guard numbers.count > 1 else { return false }
    
    for i in 0..<numbers.count-1 {
        for j in i+1..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    
    return false
}
```swift
// Check if in given array of numbers, are any two numbers closer to each other than
// given threshold.
// hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false
// hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true
func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    guard numbers.count > 1 else { return false }
    
    for i in 0..<numbers.count-1 {
        for j in i+1..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    
    return false
}

// Test cases
print(hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5)) // false
print(hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3)) // true
```

func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```swift
// Check if in given array of numbers, are any two numbers closer to each other than
// given threshold.
// hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false
// hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true
func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```

func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```swift
// Check if in given array of numbers, are any two numbers closer to each other than
// given threshold.
// hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false
// hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true
func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```

func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i+1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```swift
// Check if in given array of numbers, are any two numbers closer to each other than
// given threshold.
// hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false
// hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true
func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i+1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```

func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    // Sort the array to make comparison easier
    let sortedNumbers = numbers.sorted()
    // Iterate through the array to compare the difference between consecutive numbers
    for i in 0..<sortedNumbers.count - 1 {
        if abs(sortedNumbers[i] - sortedNumbers[i + 1]) < threshold {
            return true
        }
    }
    return false
}
```swift
// Check if in given array of numbers, are any two numbers closer to each other than
// given threshold.
// hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false
// hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true
func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    // Sort the array to make comparison easier
    let sortedNumbers = numbers.sorted()
    // Iterate through the array to compare the difference between consecutive numbers
    for i in 0..<sortedNumbers.count - 1 {
        if abs(sortedNumbers[i] - sortedNumbers[i + 1]) < threshold {
            return true
        }
    }
    return false
}
```

func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```swift
// Check if in given array of numbers, are any two numbers closer to each other than
// given threshold.
// hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false
// hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true
func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```

func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i+1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```swift
// Check if in given array of numbers, are any two numbers closer to each other than
// given threshold.
// hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false
// hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true
func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i+1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}
```

func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}

func check() {
    assert(hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false, "Test case 1 failed")
    assert(hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true, "Test case 2 failed")
    assert(hasCloseElements(numbers: [10.5, 11.2, 12.8, 13.5], threshold: 0.7) == false, "Test case 3 failed")
    assert(hasCloseElements(numbers: [0.1, 0.4, 0.6, 0.9], threshold: 0.3) == true, "Test case 4 failed")
    print("All test cases passed!")
}
```swift
// Check if in given array of numbers, are any two numbers closer to each other than
// given threshold.
// hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false
// hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true
func hasCloseElements(numbers: [Double], threshold: Double) -> Bool {
    for i in 0..<numbers.count {
        for j in (i + 1)..<numbers.count {
            if abs(numbers[i] - numbers[j]) < threshold {
                return true
            }
        }
    }
    return false
}

// Check function to verify the correctness of the hasCloseElements function.
func check() {
    assert(hasCloseElements(numbers: [1.0, 2.0, 3.0], threshold: 0.5) == false, "Test case 1 failed")
    assert(hasCloseElements(numbers: [1.0, 2.8, 3.0, 4.0, 5.0, 2.0], threshold: 0.3) == true, "Test case 2 failed")
    assert(hasCloseElements(numbers: [10.5, 11.2, 12.8, 13.5], threshold: 0.7) == false, "Test case 3 failed")
    assert(hasCloseElements(numbers: [0.1, 0.4, 0.6, 0.9], threshold: 0.3) == true, "Test case 4 failed")
    print("All test cases passed!")
}

check()
```

func separateParenGroups(parenString: String) -> [String] {
    var result: [String] = []
    var currentGroup: String = ""
    var openBraces: Int = 0

    for char in parenString {
        if char == " " {
            continue
        } else if char == "(" {
            openBraces += 1
        } else if char == ")" {
            openBraces -= 1
        }

        currentGroup.append(char)

        if openBraces == 0 && !currentGroup.isEmpty {
            result.append(currentGroup)
            currentGroup = ""
        }
    }

    return result
}
```swift
// Input to this function is a string containing multiple groups of nested parentheses. Your goal is to
// separate those group into separate strings and return the array of those.
// Separate groups are balanced (each open brace is properly closed) and not nested within each other
// Ignore any spaces in the input string.
// separateParenGroups(parenString: "( ) (( )) (( )( ))") == ["()", "(())", "(()())"]
func separateParenGroups(parenString: String) -> [String] {
    var result: [String] = []
    var currentGroup: String = ""
    var openBraces: Int = 0

    for char in parenString {
        if char == " " {
            continue
        } else if char == "(" {
            openBraces += 1
        } else if char == ")" {
            openBraces -= 1
        }

        currentGroup.append(char)

        if openBraces == 0 && !currentGroup.isEmpty {
            result.append(currentGroup)
            currentGroup = ""
        }
    }

    return result
}
```

func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var stack: [Character] = []
    var currentGroup: [Character] = []

    for char in trimmedString {
        if char == "(" {
            stack.append(char)
            currentGroup.append(char)
        } else if char == ")" {
            stack.removeLast()
            currentGroup.append(char)
            if stack.isEmpty {
                result.append(String(currentGroup))
                currentGroup.removeAll()
            }
        }
    }

    return result
}
```swift
// Input to this function is a string containing multiple groups of nested parentheses. Your goal is to
// separate those group into separate strings and return the array of those.
// Separate groups are balanced (each open brace is properly closed) and not nested within each other
// Ignore any spaces in the input string.
// separateParenGroups(parenString: "( ) (( )) (( )( ))") == ["()", "(())", "(()())"]
func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var stack: [Character] = []
    var currentGroup: [Character] = []

    for char in trimmedString {
        if char == "(" {
            stack.append(char)
            currentGroup.append(char)
        } else if char == ")" {
            stack.removeLast()
            currentGroup.append(char)
            if stack.isEmpty {
                result.append(String(currentGroup))
                currentGroup.removeAll()
            }
        }
    }

    return result
}
```

func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var stack: [Character] = []
    var currentGroup: [Character] = []
    
    for char in trimmedString {
        if char == "(" {
            stack.append(char)
            currentGroup.append(char)
        } else if char == ")" {
            stack.removeLast()
            currentGroup.append(char)
            if stack.isEmpty {
                result.append(String(currentGroup))
                currentGroup = []
            }
        }
    }
    
    return result
}
```swift
// Input to this function is a string containing multiple groups of nested parentheses. Your goal is to
// separate those group into separate strings and return the array of those.
// Separate groups are balanced (each open brace is properly closed) and not nested within each other
// Ignore any spaces in the input string.
// separateParenGroups(parenString: "( ) (( )) (( )( ))") == ["()", "(())", "(()())"]
func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var stack: [Character] = []
    var currentGroup: [Character] = []
    
    for char in trimmedString {
        if char == "(" {
            stack.append(char)
            currentGroup.append(char)
        } else if char == ")" {
            stack.removeLast()
            currentGroup.append(char)
            if stack.isEmpty {
                result.append(String(currentGroup))
                currentGroup = []
            }
        }
    }
    
    return result
}
```

func separateParenGroups(parenString: String) -> [String] {
    var result: [String] = []
    var stack: [Character] = []
    var currentGroup: [Character] = []
    
    for char in parenString {
        if char == " " {
            continue
        }
        
        if char == "(" {
            stack.append(char)
            currentGroup.append(char)
        } else if char == ")" {
            stack.removeLast()
            currentGroup.append(char)
            
            if stack.isEmpty {
                result.append(String(currentGroup))
                currentGroup.removeAll()
            }
        }
    }
    
    return result
}
```swift
// Input to this function is a string containing multiple groups of nested parentheses. Your goal is to
// separate those group into separate strings and return the array of those.
// Separate groups are balanced (each open brace is properly closed) and not nested within each other
// Ignore any spaces in the input string.
// separateParenGroups(parenString: "( ) (( )) (( )( ))") == ["()", "(())", "(()())"]
func separateParenGroups(parenString: String) -> [String] {
    var result: [String] = []
    var stack: [Character] = []
    var currentGroup: [Character] = []
    
    for char in parenString {
        if char == " " {
            continue
        }
        
        if char == "(" {
            stack.append(char)
            currentGroup.append(char)
        } else if char == ")" {
            stack.removeLast()
            currentGroup.append(char)
            
            if stack.isEmpty {
                result.append(String(currentGroup))
                currentGroup.removeAll()
            }
        }
    }
    
    return result
}
```

func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var currentGroup: String = ""
    var openBracesCount = 0

    for char in trimmedString {
        if char == "(" {
            openBracesCount += 1
        }
        currentGroup.append(char)

        if char == ")" {
            openBracesCount -= 1
            if openBracesCount == 0 {
                result.append(currentGroup)
                currentGroup = ""
            }
        }
    }

    return result
}

func check() {
    let testCases = [
        ("( ) (( )) (( )( ))", ["()", "(())", "(()())"]),
        ("(()(()))", ["(()(()))"]),
        ("", []),
        ("(())(())", ["(())", "(())"])
    ]

    for (input, expected) in testCases {
        let result = separateParenGroups(parenString: input)
        assert(result == expected, "Test failed for input: \(input). Expected: \(expected), but got: \(result)")
    }

    print("All tests passed!")
}
```swift
// Input to this function is a string containing multiple groups of nested parentheses. Your goal is to
// separate those group into separate strings and return the array of those.
// Separate groups are balanced (each open brace is properly closed) and not nested within each other
// Ignore any spaces in the input string.
// separateParenGroups(parenString: "( ) (( )) (( )( ))") == ["()", "(())", "(()())"]
func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var currentGroup: String = ""
    var openBracesCount = 0

    for char in trimmedString {
        if char == "(" {
            openBracesCount += 1
        }
        currentGroup.append(char)

        if char == ")" {
            openBracesCount -= 1
            if openBracesCount == 0 {
                result.append(currentGroup)
                currentGroup = ""
            }
        }
    }

    return result
}

// Check function to verify the correctness of the solution
func check() {
    let testCases = [
        ("( ) (( )) (( )( ))", ["()", "(())", "(()())"]),
        ("(()(()))", ["(()(()))"]),
        ("", []),
        ("(())(())", ["(())", "(())"])
    ]

    for (input, expected) in testCases {
        let result = separateParenGroups(parenString: input)
        assert(result == expected, "Test failed for input: \(input). Expected: \(expected), but got: \(result)")
    }

    print("All tests passed!")
}

check()
```

func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var stack: [Character] = []
    var currentGroup = ""

    for char in trimmedString {
        if char == "(" {
            stack.append(char)
            currentGroup.append(char)
        } else if char == ")" {
            stack.removeLast()
            currentGroup.append(char)
            if stack.isEmpty {
                result.append(currentGroup)
                currentGroup = ""
            }
        }
    }

    return result
}

func check() {
    let testCases = [
        ("( ) (( )) (( )( ))", ["()", "(())", "(()())"]),
        ("((()))(())", ["((()))", "(())"]),
        ("()", ["()"]),
        ("", [""]),
        ("(()(()))", ["(()(()))"])
    ]

    for (input, expected) in testCases {
        let result = separateParenGroups(parenString: input)
        assert(result == expected, "Test failed for input: \(input). Expected: \(expected), but got: \(result)")
    }

    print("All tests passed!")
}
```swift
// Input to this function is a string containing multiple groups of nested parentheses. Your goal is to
// separate those group into separate strings and return the array of those.
// Separate groups are balanced (each open brace is properly closed) and not nested within each other
// Ignore any spaces in the input string.
// separateParenGroups(parenString: "( ) (( )) (( )( ))") == ["()", "(())", "(()())"]
func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var stack: [Character] = []
    var currentGroup = ""

    for char in trimmedString {
        if char == "(" {
            stack.append(char)
            currentGroup.append(char)
        } else if char == ")" {
            stack.removeLast()
            currentGroup.append(char)
            if stack.isEmpty {
                result.append(currentGroup)
                currentGroup = ""
            }
        }
    }

    return result
}

// Check function to verify the correctness of the solution
func check() {
    let testCases = [
        ("( ) (( )) (( )( ))", ["()", "(())", "(()())"]),
        ("((()))(())", ["((()))", "(())"]),
        ("()", ["()"]),
        ("", [""]),
        ("(()(()))", ["(()(()))"])
    ]

    for (input, expected) in testCases {
        let result = separateParenGroups(parenString: input)
        assert(result == expected, "Test failed for input: \(input). Expected: \(expected), but got: \(result)")
    }

    print("All tests passed!")
}

check()
```

func separateParenGroups(parenString: String) -> [String] {
    var result: [String] = []
    var currentGroup: String = ""
    var openBracesCount: Int = 0

    for char in parenString {
        if char == " " { continue }
        if char == "(" {
            openBracesCount += 1
        }
        currentGroup.append(char)
        if char == ")" {
            openBracesCount -= 1
            if openBracesCount == 0 {
                result.append(currentGroup)
                currentGroup = ""
            }
        }
    }
    return result
}

func check() {
    let testCases = [
        ("( ) (( )) (( )( ))", ["()", "(())", "(()())"]),
        ("(())(())", ["(())", "(())"]),
        ("(()(()))", ["(()(()))"]),
        ("", []),
        ("()()()", ["()", "()", "()"])
    ]

    for (input, expected) in testCases {
        let result = separateParenGroups(parenString: input)
        assert(result == expected, "Test failed for input: \(input). Expected: \(expected), but got: \(result)")
    }
    print("All tests passed!")
}
```swift
// Input to this function is a string containing multiple groups of nested parentheses. Your goal is to
// separate those group into separate strings and return the array of those.
// Separate groups are balanced (each open brace is properly closed) and not nested within each other
// Ignore any spaces in the input string.
// separateParenGroups(parenString: "( ) (( )) (( )( ))") == ["()", "(())", "(()())"]
func separateParenGroups(parenString: String) -> [String] {
    var result: [String] = []
    var currentGroup: String = ""
    var openBracesCount: Int = 0

    for char in parenString {
        if char == " " { continue }
        if char == "(" {
            openBracesCount += 1
        }
        currentGroup.append(char)
        if char == ")" {
            openBracesCount -= 1
            if openBracesCount == 0 {
                result.append(currentGroup)
                currentGroup = ""
            }
        }
    }
    return result
}

// Check function to verify the correctness of the solution
func check() {
    let testCases = [
        ("( ) (( )) (( )( ))", ["()", "(())", "(()())"]),
        ("(())(())", ["(())", "(())"]),
        ("(()(()))", ["(()(()))"]),
        ("", []),
        ("()()()", ["()", "()", "()"])
    ]

    for (input, expected) in testCases {
        let result = separateParenGroups(parenString: input)
        assert(result == expected, "Test failed for input: \(input). Expected: \(expected), but got: \(result)")
    }
    print("All tests passed!")
}

check()
```

func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var currentGroup: String = ""
    var openBracesCount = 0
    
    for char in trimmedString {
        currentGroup.append(char)
        
        if char == "(" {
            openBracesCount += 1
        } else if char == ")" {
            openBracesCount -= 1
            
            if openBracesCount == 0 {
                result.append(currentGroup)
                currentGroup = ""
            }
        }
    }
    
    return result
}

func check() {
    let testCases = [
        ("( ) (( )) (( )( ))", ["()", "(())", "(()())"]),
        ("(())(())", ["(())", "(())"]),
        ("(()(()))", ["(()(()))"]),
        ("", []),
        ("()", ["()"])
    ]
    
    for (input, expected) in testCases {
        let result = separateParenGroups(parenString: input)
        assert(result == expected, "Test failed for input: \(input). Expected: \(expected), but got: \(result)")
    }
    
    print("All tests passed!")
}
```swift
// Input to this function is a string containing multiple groups of nested parentheses. Your goal is to
// separate those group into separate strings and return the array of those.
// Separate groups are balanced (each open brace is properly closed) and not nested within each other
// Ignore any spaces in the input string.
// separateParenGroups(parenString: "( ) (( )) (( )( ))") == ["()", "(())", "(()())"]
func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var currentGroup: String = ""
    var openBracesCount = 0
    
    for char in trimmedString {
        currentGroup.append(char)
        
        if char == "(" {
            openBracesCount += 1
        } else if char == ")" {
            openBracesCount -= 1
            
            if openBracesCount == 0 {
                result.append(currentGroup)
                currentGroup = ""
            }
        }
    }
    
    return result
}

// Check function to verify the correctness of the solution
func check() {
    let testCases = [
        ("( ) (( )) (( )( ))", ["()", "(())", "(()())"]),
        ("(())(())", ["(())", "(())"]),
        ("(()(()))", ["(()(()))"]),
        ("", []),
        ("()", ["()"])
    ]
    
    for (input, expected) in testCases {
        let result = separateParenGroups(parenString: input)
        assert(result == expected, "Test failed for input: \(input). Expected: \(expected), but got: \(result)")
    }
    
    print("All tests passed!")
}

check()
```

func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var currentGroup: String = ""
    var openBraces = 0

    for char in trimmedString {
        if char == "(" {
            openBraces += 1
        }
        currentGroup.append(char)
        if char == ")" {
            openBraces -= 1
            if openBraces == 0 {
                result.append(currentGroup)
                currentGroup = ""
            }
        }
    }

    return result
}
```swift
// Input to this function is a string containing multiple groups of nested parentheses. Your goal is to
// separate those group into separate strings and return the array of those.
// Separate groups are balanced (each open brace is properly closed) and not nested within each other
// Ignore any spaces in the input string.
// separateParenGroups(parenString: "( ) (( )) (( )( ))") == ["()", "(())", "(()())"]
func separateParenGroups(parenString: String) -> [String] {
    let trimmedString = parenString.replacingOccurrences(of: " ", with: "")
    var result: [String] = []
    var currentGroup: String = ""
    var openBraces = 0

    for char in trimmedString {
        if char == "(" {
            openBraces += 1
        }
        currentGroup.append(char)
        if char == ")" {
            openBraces -= 1
            if openBraces == 0 {
                result.append(currentGroup)
                currentGroup = ""
            }
        }
    }

    return result
}
```

func separateParenGroups(parenString: String) -> [String] {
    var result: [String] = []
    var currentGroup: String = ""
    var openBraces: Int = 0

    for char in parenString {
        if char == " " {
            continue
        } else if char == "(" {
            openBraces += 1
        } else if char == ")" {
            openBraces -= 1
        }

        currentGroup.append(char)

        if openBraces == 0 && !currentGroup.isEmpty {
            result.append(currentGroup)
            currentGroup = ""
        }
    }

    return result
}
```swift
// Input to this function is a string containing multiple groups of nested parentheses. Your goal is to
// separate those group into separate strings and return the array of those.
// Separate groups are balanced (each open brace is properly closed) and not nested within each other
// Ignore any spaces in the input string.
// separateParenGroups(parenString: "( ) (( )) (( )( ))") == ["()", "(())", "(()())"]
func separateParenGroups(parenString: String) -> [String] {
    var result: [String] = []
    var currentGroup: String = ""
    var openBraces: Int = 0

    for char in parenString {
        if char == " " {
            continue
        } else if char == "(" {
            openBraces += 1
        } else if char == ")" {
            openBraces -= 1
        }

        currentGroup.append(char)

        if openBraces == 0 && !currentGroup.isEmpty {
            result.append(currentGroup)
            currentGroup = ""
        }
    }

    return result
}
```

func truncateNumber(number: Double) -> Double {
    return number - floor(number)
}
```swift
// Given a positive floating point number, it can be decomposed into
// and integer part (largest integer smaller than given number) and decimals
// (leftover part always smaller than 1).
// Return the decimal part of the number.
// truncateNumber(number: 3.5) == 0.5
func truncateNumber(number: Double) -> Double {
    return number - floor(number)
}

// Example usage:
let number = 3.5
let decimalPart = truncateNumber(number: number)
print(decimalPart) // Output: 0.5
```

func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```swift
// Given a positive floating point number, it can be decomposed into
// and integer part (largest integer smaller than given number) and decimals
// (leftover part always smaller than 1).
// Return the decimal part of the number.
// truncateNumber(number: 3.5) == 0.5
func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}

// Example usage:
let number = 3.5
let decimalPart = truncateNumber(number: number)
print(decimalPart) // Output: 0.5
```

func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```swift
// Given a positive floating point number, it can be decomposed into
// and integer part (largest integer smaller than given number) and decimals
// (leftover part always smaller than 1).
// Return the decimal part of the number.
// truncateNumber(number: 3.5) == 0.5
func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```

func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```swift
// Given a positive floating point number, it can be decomposed into
// and integer part (largest integer smaller than given number) and decimals
// (leftover part always smaller than 1).
// Return the decimal part of the number.
// truncateNumber(number: 3.5) == 0.5
func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```

func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```swift
// Given a positive floating point number, it can be decomposed into
// and integer part (largest integer smaller than given number) and decimals
// (leftover part always smaller than 1).
// Return the decimal part of the number.
// truncateNumber(number: 3.5) == 0.5
func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```

func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```swift
// Given a positive floating point number, it can be decomposed into
// and integer part (largest integer smaller than given number) and decimals
// (leftover part always smaller than 1).
// Return the decimal part of the number.
// truncateNumber(number: 3.5) == 0.5
func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```

func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```swift
// Given a positive floating point number, it can be decomposed into
// and integer part (largest integer smaller than given number) and decimals
// (leftover part always smaller than 1).
// Return the decimal part of the number.
// truncateNumber(number: 3.5) == 0.5
func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```

func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```swift
// Given a positive floating point number, it can be decomposed into
// and integer part (largest integer smaller than given number) and decimals
// (leftover part always smaller than 1).
// Return the decimal part of the number.
// truncateNumber(number: 3.5) == 0.5
func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```

func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```swift
// Given a positive floating point number, it can be decomposed into
// and integer part (largest integer smaller than given number) and decimals
// (leftover part always smaller than 1).
// Return the decimal part of the number.
// truncateNumber(number: 3.5) == 0.5
func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}

// Example usage:
let number = 3.5
let decimalPart = truncateNumber(number: number)
print(decimalPart) // Output: 0.5
```

func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```swift
// Given a positive floating point number, it can be decomposed into
// and integer part (largest integer smaller than given number) and decimals
// (leftover part always smaller than 1).
// Return the decimal part of the number.
// truncateNumber(number: 3.5) == 0.5
func truncateNumber(number: Double) -> Double {
    return number - Double(Int(number))
}
```

func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```swift
// You're given an array of deposit and withdrawal operations on a bank account that starts with
// zero balance. Your task is to detect if at any point the balance of account fallls below zero, and
// at that point function should return true. Otherwise it should return false.
// belowZero(operations: [1, 2, 3]) == false
// belowZero(operations: [1, 2, -4, 5]) == true
func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```

func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```swift
// You're given an array of deposit and withdrawal operations on a bank account that starts with
// zero balance. Your task is to detect if at any point the balance of account fallls below zero, and
// at that point function should return true. Otherwise it should return false.
// belowZero(operations: [1, 2, 3]) == false
// belowZero(operations: [1, 2, -4, 5]) == true
func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```

func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```swift
// You're given an array of deposit and withdrawal operations on a bank account that starts with
// zero balance. Your task is to detect if at any point the balance of account fallls below zero, and
// at that point function should return true. Otherwise it should return false.
// belowZero(operations: [1, 2, 3]) == false
// belowZero(operations: [1, 2, -4, 5]) == true
func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```

func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```swift
// You're given an array of deposit and withdrawal operations on a bank account that starts with
// zero balance. Your task is to detect if at any point the balance of account fallls below zero, and
// at that point function should return true. Otherwise it should return false.
// belowZero(operations: [1, 2, 3]) == false
// belowZero(operations: [1, 2, -4, 5]) == true
func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```

func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```swift
// You're given an array of deposit and withdrawal operations on a bank account that starts with
// zero balance. Your task is to detect if at any point the balance of account fallls below zero, and
// at that point function should return true. Otherwise it should return false.
// belowZero(operations: [1, 2, 3]) == false
// belowZero(operations: [1, 2, -4, 5]) == true
func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```

func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```swift
// You're given an array of deposit and withdrawal operations on a bank account that starts with
// zero balance. Your task is to detect if at any point the balance of account fallls below zero, and
// at that point function should return true. Otherwise it should return false.
// belowZero(operations: [1, 2, 3]) == false
// belowZero(operations: [1, 2, -4, 5]) == true
func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```

func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```swift
// You're given an array of deposit and withdrawal operations on a bank account that starts with
// zero balance. Your task is to detect if at any point the balance of account fallls below zero, and
// at that point function should return true. Otherwise it should return false.
// belowZero(operations: [1, 2, 3]) == false
// belowZero(operations: [1, 2, -4, 5]) == true
func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```

func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```swift
// You're given an array of deposit and withdrawal operations on a bank account that starts with
// zero balance. Your task is to detect if at any point the balance of account fallls below zero, and
// at that point function should return true. Otherwise it should return false.
// belowZero(operations: [1, 2, 3]) == false
// belowZero(operations: [1, 2, -4, 5]) == true
func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```

func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```swift
// You're given an array of deposit and withdrawal operations on a bank account that starts with
// zero balance. Your task is to detect if at any point the balance of account fallls below zero, and
// at that point function should return true. Otherwise it should return false.
// belowZero(operations: [1, 2, 3]) == false
// belowZero(operations: [1, 2, -4, 5]) == true
func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```

func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```swift
// You're given an array of deposit and withdrawal operations on a bank account that starts with
// zero balance. Your task is to detect if at any point the balance of account fallls below zero, and
// at that point function should return true. Otherwise it should return false.
// belowZero(operations: [1, 2, 3]) == false
// belowZero(operations: [1, 2, -4, 5]) == true
func belowZero(operations: [Int]) -> Bool {
    var balance = 0
    for operation in operations {
        balance += operation
        if balance < 0 {
            return true
        }
    }
    return false
}
```

func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(fabs(calculatedMAD - expectedMAD) < 0.0001, "Expected MAD to be \(expectedMAD), but got \(calculatedMAD)")
    print("MAD calculation is correct.")
}
```swift
// For a given array of input numbers, calculate Mean Absolute Deviation
// around the mean of this dataset.
// Mean Absolute Deviation is the average absolute difference between each
// element and a centerpoint (mean in this case):
// MAD = average | x - x_mean |
// meanAbsoluteDeviation(numbers: [1.0, 2.0, 3.0, 4.0]) == 1.0
func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

// Example check function to verify correctness
func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(fabs(calculatedMAD - expectedMAD) < 0.0001, "Expected MAD to be \(expectedMAD), but got \(calculatedMAD)")
    print("MAD calculation is correct.")
}

// Run the check function to verify the solution
checkMAD()
```

func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let totalDeviation = numbers.reduce(0.0) { $0 + abs($1 - mean) }
    return totalDeviation / count
}

func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    print("Calculated MAD: \(calculatedMAD), Expected MAD: \(expectedMAD)")
    assert(abs(calculatedMAD - expectedMAD) < 0.0001, "Incorrect calculation of MAD")
}
```swift
// For a given array of input numbers, calculate Mean Absolute Deviation
// around the mean of this dataset.
// Mean Absolute Deviation is the average absolute difference between each
// element and a centerpoint (mean in this case):
// MAD = average | x - x_mean |
// meanAbsoluteDeviation(numbers: [1.0, 2.0, 3.0, 4.0]) == 1.0
func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let totalDeviation = numbers.reduce(0.0) { $0 + abs($1 - mean) }
    return totalDeviation / count
}

// Example check function to verify correctness
func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    print("Calculated MAD: \(calculatedMAD), Expected MAD: \(expectedMAD)")
    assert(abs(calculatedMAD - expectedMAD) < 0.0001, "Incorrect calculation of MAD")
}

checkMAD()
```

func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let mean = numbers.reduce(0.0, +) / Double(numbers.count)
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / Double(numbers.count)
}

func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    print("Calculated MAD: \(calculatedMAD), Expected MAD: \(expectedMAD)")
    assert(abs(calculatedMAD - expectedMAD) < 0.0001, "The calculated MAD does not match the expected value.")
}
```swift
// For a given array of input numbers, calculate Mean Absolute Deviation
// around the mean of this dataset.
// Mean Absolute Deviation is the average absolute difference between each
// element and a centerpoint (mean in this case):
// MAD = average | x - x_mean |
// meanAbsoluteDeviation(numbers: [1.0, 2.0, 3.0, 4.0]) == 1.0
func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let mean = numbers.reduce(0.0, +) / Double(numbers.count)
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / Double(numbers.count)
}

// Example check function to verify correctness
func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    print("Calculated MAD: \(calculatedMAD), Expected MAD: \(expectedMAD)")
    assert(abs(calculatedMAD - expectedMAD) < 0.0001, "The calculated MAD does not match the expected value.")
}

checkMAD()
```

func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(fabs(calculatedMAD - expectedMAD) < 0.0001, "Expected MAD to be \(expectedMAD), but got \(calculatedMAD)")
}
```swift
// For a given array of input numbers, calculate Mean Absolute Deviation
// around the mean of this dataset.
// Mean Absolute Deviation is the average absolute difference between each
// element and a centerpoint (mean in this case):
// MAD = average | x - x_mean |
// meanAbsoluteDeviation(numbers: [1.0, 2.0, 3.0, 4.0]) == 1.0
func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

// Example check function to verify correctness
func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(fabs(calculatedMAD - expectedMAD) < 0.0001, "Expected MAD to be \(expectedMAD), but got \(calculatedMAD)")
}

checkMAD()
```

func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

func checkMeanAbsoluteDeviation() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(fabs(calculatedMAD - expectedMAD) < 0.0001, "Expected MAD: \(expectedMAD), but got: \(calculatedMAD)")
    print("Mean Absolute Deviation calculation is correct.")
}
```swift
// For a given array of input numbers, calculate Mean Absolute Deviation
// around the mean of this dataset.
// Mean Absolute Deviation is the average absolute difference between each
// element and a centerpoint (mean in this case):
// MAD = average | x - x_mean |
// meanAbsoluteDeviation(numbers: [1.0, 2.0, 3.0, 4.0]) == 1.0
func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

// Check function to verify the correctness of the meanAbsoluteDeviation function
func checkMeanAbsoluteDeviation() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(fabs(calculatedMAD - expectedMAD) < 0.0001, "Expected MAD: \(expectedMAD), but got: \(calculatedMAD)")
    print("Mean Absolute Deviation calculation is correct.")
}

// Run the check function to verify the solution
checkMeanAbsoluteDeviation()
```

func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let mean = numbers.reduce(0.0, +) / Double(numbers.count)
    let sumOfAbsoluteDeviations = numbers.reduce(0.0) { $0 + abs($1 - mean) }
    return sumOfAbsoluteDeviations / Double(numbers.count)
}

func checkMeanAbsoluteDeviation() {
    let testData = [
        ([1.0, 2.0, 3.0, 4.0], 1.0),
        ([10.0, 10.0, 10.0, 10.0], 0.0),
        ([1.0, 2.0, 3.0, 4.0, 5.0], 1.2),
        ([5.0, 7.0, 9.0, 11.0], 2.0)
    ]
    
    for (input, expected) in testData {
        let result = meanAbsoluteDeviation(numbers: input)
        assert(abs(result - expected) < 0.0001, "Test failed for input \(input). Expected \(expected), got \(result)")
    }
    
    print("All tests passed!")
}
```swift
// For a given array of input numbers, calculate Mean Absolute Deviation
// around the mean of this dataset.
// Mean Absolute Deviation is the average absolute difference between each
// element and a centerpoint (mean in this case):
// MAD = average | x - x_mean |
// meanAbsoluteDeviation(numbers: [1.0, 2.0, 3.0, 4.0]) == 1.0
func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let mean = numbers.reduce(0.0, +) / Double(numbers.count)
    let sumOfAbsoluteDeviations = numbers.reduce(0.0) { $0 + abs($1 - mean) }
    return sumOfAbsoluteDeviations / Double(numbers.count)
}

// Check function to verify the correctness of the meanAbsoluteDeviation function
func checkMeanAbsoluteDeviation() {
    let testData = [
        ([1.0, 2.0, 3.0, 4.0], 1.0),
        ([10.0, 10.0, 10.0, 10.0], 0.0),
        ([1.0, 2.0, 3.0, 4.0, 5.0], 1.2),
        ([5.0, 7.0, 9.0, 11.0], 2.0)
    ]
    
    for (input, expected) in testData {
        let result = meanAbsoluteDeviation(numbers: input)
        assert(abs(result - expected) < 0.0001, "Test failed for input \(input). Expected \(expected), got \(result)")
    }
    
    print("All tests passed!")
}

// Run the check function to verify the solution
checkMeanAbsoluteDeviation()
```

func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(fabs(calculatedMAD - expectedMAD) < 0.0001, "Expected \(expectedMAD), but got \(calculatedMAD)")
}
```swift
// For a given array of input numbers, calculate Mean Absolute Deviation
// around the mean of this dataset.
// Mean Absolute Deviation is the average absolute difference between each
// element and a centerpoint (mean in this case):
// MAD = average | x - x_mean |
// meanAbsoluteDeviation(numbers: [1.0, 2.0, 3.0, 4.0]) == 1.0
func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

// Example check function to verify correctness
func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(fabs(calculatedMAD - expectedMAD) < 0.0001, "Expected \(expectedMAD), but got \(calculatedMAD)")
}

checkMAD()
```

func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

func check() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(abs(calculatedMAD - expectedMAD) < 0.0001, "Expected \(expectedMAD), but got \(calculatedMAD)")
    print("Test passed: Mean Absolute Deviation is \(calculatedMAD)")
}
```swift
// For a given array of input numbers, calculate Mean Absolute Deviation
// around the mean of this dataset.
// Mean Absolute Deviation is the average absolute difference between each
// element and a centerpoint (mean in this case):
// MAD = average | x - x_mean |
// meanAbsoluteDeviation(numbers: [1.0, 2.0, 3.0, 4.0]) == 1.0
func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

// Example check function to verify correctness
func check() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(abs(calculatedMAD - expectedMAD) < 0.0001, "Expected \(expectedMAD), but got \(calculatedMAD)")
    print("Test passed: Mean Absolute Deviation is \(calculatedMAD)")
}

check()
```

func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let mean = numbers.reduce(0.0, +) / Double(numbers.count)
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / Double(numbers.count)
}

func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(abs(calculatedMAD - expectedMAD) < 0.0001, "Expected MAD to be \(expectedMAD), but got \(calculatedMAD)")
    print("MAD calculation is correct.")
}
```swift
// For a given array of input numbers, calculate Mean Absolute Deviation
// around the mean of this dataset.
// Mean Absolute Deviation is the average absolute difference between each
// element and a centerpoint (mean in this case):
// MAD = average | x - x_mean |
// meanAbsoluteDeviation(numbers: [1.0, 2.0, 3.0, 4.0]) == 1.0
func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let mean = numbers.reduce(0.0, +) / Double(numbers.count)
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / Double(numbers.count)
}

// Example check function to verify correctness
func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(abs(calculatedMAD - expectedMAD) < 0.0001, "Expected MAD to be \(expectedMAD), but got \(calculatedMAD)")
    print("MAD calculation is correct.")
}

// Run the check function to verify the solution
checkMAD()
```

func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(abs(calculatedMAD - expectedMAD) < 0.0001, "Expected MAD to be \(expectedMAD), but got \(calculatedMAD)")
    print("MAD calculation is correct.")
}
```swift
// For a given array of input numbers, calculate Mean Absolute Deviation
// around the mean of this dataset.
// Mean Absolute Deviation is the average absolute difference between each
// element and a centerpoint (mean in this case):
// MAD = average | x - x_mean |
// meanAbsoluteDeviation(numbers: [1.0, 2.0, 3.0, 4.0]) == 1.0
func meanAbsoluteDeviation(numbers: [Double]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0.0, +) / count
    let sumOfAverages = numbers.map { abs($0 - mean) }.reduce(0.0, +)
    return sumOfAverages / count
}

// Example check function to verify correctness
func checkMAD() {
    let testData = [1.0, 2.0, 3.0, 4.0]
    let expectedMAD = 1.0
    let calculatedMAD = meanAbsoluteDeviation(numbers: testData)
    assert(abs(calculatedMAD - expectedMAD) < 0.0001, "Expected MAD to be \(expectedMAD), but got \(calculatedMAD)")
    print("MAD calculation is correct.")
}

checkMAD()
```

func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index != numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}

func checkIntersperse() {
    assert(intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int], "Test case 1 failed")
    assert(intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3], "Test case 2 failed")
    assert(intersperse(numbers: [5, 6, 7, 8], delimeter: 0) == [5, 0, 6, 0, 7, 0, 8], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Insert a number 'delimeter' between every two consecutive elements of input array `numbers'
// intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int]
// intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3]
func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index != numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}

// Test cases to verify the correctness of the intersperse function
func checkIntersperse() {
    assert(intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int], "Test case 1 failed")
    assert(intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3], "Test case 2 failed")
    assert(intersperse(numbers: [5, 6, 7, 8], delimeter: 0) == [5, 0, 6, 0, 7, 0, 8], "Test case 3 failed")
    print("All test cases passed!")
}

// Run the test cases
checkIntersperse()
```

func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard numbers.count > 1 else { return numbers }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```swift
// Insert a number 'delimeter' between every two consecutive elements of input array `numbers'
// intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int]
// intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3]
func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard numbers.count > 1 else { return numbers }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}

// Test cases
print(intersperse(numbers: [] as [Int], delimeter: 4)) // Output: []
print(intersperse(numbers: [1, 2, 3], delimeter: 4)) // Output: [1, 4, 2, 4, 3]
```

func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard numbers.count > 0 else { return [] }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index != numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```swift
// Insert a number 'delimeter' between every two consecutive elements of input array `numbers'
// intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int]
// intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3]
func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard numbers.count > 0 else { return [] }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index != numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}

// Example usage:
print(intersperse(numbers: [], delimeter: 4)) // Output: []
print(intersperse(numbers: [1, 2, 3], delimeter: 4)) // Output: [1, 4, 2, 4, 3]
```

func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard numbers.count > 0 else { return [] }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```swift
// Insert a number 'delimeter' between every two consecutive elements of input array `numbers'
// intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int]
// intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3]
func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard numbers.count > 0 else { return [] }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```

func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard numbers.count > 0 else { return [] }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```swift
// Insert a number 'delimeter' between every two consecutive elements of input array `numbers'
// intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int]
// intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3]
func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard numbers.count > 0 else { return [] }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```

func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```swift
// Insert a number 'delimeter' between every two consecutive elements of input array `numbers'
// intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int]
// intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3]
func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```

func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard numbers.count > 0 else { return [] }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index != numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```swift
// Insert a number 'delimeter' between every two consecutive elements of input array `numbers'
// intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int]
// intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3]
func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard numbers.count > 0 else { return [] }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index != numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```

func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard !numbers.isEmpty else { return [] }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```swift
// Insert a number 'delimeter' between every two consecutive elements of input array `numbers'
// intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int]
// intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3]
func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    guard !numbers.isEmpty else { return [] }
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```

func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```swift
// Insert a number 'delimeter' between every two consecutive elements of input array `numbers'
// intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int]
// intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3]
func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}

// Test cases
assert(intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int])
assert(intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3])
```

func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}
```swift
// Insert a number 'delimeter' between every two consecutive elements of input array `numbers'
// intersperse(numbers: [] as [Int], delimeter: 4) == [] as [Int]
// intersperse(numbers: [1, 2, 3], delimeter: 4) == [1, 4, 2, 4, 3]
func intersperse(numbers: [Int], delimeter: Int) -> [Int] {
    var result = [Int]()
    for (index, number) in numbers.enumerated() {
        result.append(number)
        if index < numbers.count - 1 {
            result.append(delimeter)
        }
    }
    return result
}

// Test cases
print(intersperse(numbers: [] as [Int], delimeter: 4)) // Output: []
print(intersperse(numbers: [1, 2, 3], delimeter: 4)) // Output: [1, 4, 2, 4, 3]
```

func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}
```swift
// Input to this function is a string represented multiple groups for nested parentheses separated by spaces.
// For each of the group, output the deepest level of nesting of parentheses.
// E.g. (()()) has maximum two levels of nesting while ((())) has three.
// parseNestedParens(parenString: "(()()) ((())) () ((())()())") == [2, 3, 1, 3]
func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}
```

func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}
```swift
// Input to this function is a string represented multiple groups for nested parentheses separated by spaces.
// For each of the group, output the deepest level of nesting of parentheses.
// E.g. (()()) has maximum two levels of nesting while ((())) has three.
// parseNestedParens(parenString: "(()()) ((())) () ((())()())") == [2, 3, 1, 3]
func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}
```

func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()

    for group in groups {
        var maxDepth = 0
        var currentDepth = 0

        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }

        depths.append(maxDepth)
    }

    return depths
}
```swift
// Input to this function is a string represented multiple groups for nested parentheses separated by spaces.
// For each of the group, output the deepest level of nesting of parentheses.
// E.g. (()()) has maximum two levels of nesting while ((())) has three.
// parseNestedParens(parenString: "(()()) ((())) () ((())()())") == [2, 3, 1, 3]
func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()

    for group in groups {
        var maxDepth = 0
        var currentDepth = 0

        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }

        depths.append(maxDepth)
    }

    return depths
}
```

func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()

    for group in groups {
        var maxDepth = 0
        var currentDepth = 0

        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }

        depths.append(maxDepth)
    }

    return depths
}

func check() {
    let testString = "(()()) ((())) () ((())()())"
    let expectedOutput = [2, 3, 1, 3]
    let actualOutput = parseNestedParens(parenString: testString)

    assert(actualOutput == expectedOutput, "Expected output to be \(expectedOutput), but got \(actualOutput)")
    print("Test passed!")
}
```swift
// Input to this function is a string represented multiple groups for nested parentheses separated by spaces.
// For each of the group, output the deepest level of nesting of parentheses.
// E.g. (()()) has maximum two levels of nesting while ((())) has three.
// parseNestedParens(parenString: "(()()) ((())) () ((())()())") == [2, 3, 1, 3]
func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()

    for group in groups {
        var maxDepth = 0
        var currentDepth = 0

        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }

        depths.append(maxDepth)
    }

    return depths
}

// Check function to verify the correctness of the parseNestedParens function.
func check() {
    let testString = "(()()) ((())) () ((())()())"
    let expectedOutput = [2, 3, 1, 3]
    let actualOutput = parseNestedParens(parenString: testString)

    assert(actualOutput == expectedOutput, "Expected output to be \(expectedOutput), but got \(actualOutput)")
    print("Test passed!")
}

check()
```

func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}

func check() {
    let testString = "(()()) ((())) () ((())()())"
    let expectedOutput = [2, 3, 1, 3]
    let actualOutput = parseNestedParens(parenString: testString)
    print("Expected: \(expectedOutput), Actual: \(actualOutput)")
}
```swift
// Input to this function is a string represented multiple groups for nested parentheses separated by spaces.
// For each of the group, output the deepest level of nesting of parentheses.
// E.g. (()()) has maximum two levels of nesting while ((())) has three.
// parseNestedParens(parenString: "(()()) ((())) () ((())()())") == [2, 3, 1, 3]
func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}

// Example check function to verify correctness
func check() {
    let testString = "(()()) ((())) () ((())()())"
    let expectedOutput = [2, 3, 1, 3]
    let actualOutput = parseNestedParens(parenString: testString)
    print("Expected: \(expectedOutput), Actual: \(actualOutput)")
}

check()
```

func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}
```swift
// Input to this function is a string represented multiple groups for nested parentheses separated by spaces.
// For each of the group, output the deepest level of nesting of parentheses.
// E.g. (()()) has maximum two levels of nesting while ((())) has three.
// parseNestedParens(parenString: "(()()) ((())) () ((())()())") == [2, 3, 1, 3]
func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}
```

func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}

func check() {
    let testString = "(()()) ((())) () ((())()())"
    let expectedOutput = [2, 3, 1, 3]
    assert(parseNestedParens(parenString: testString) == expectedOutput, "Expected output did not match.")
    print("Test passed!")
}
```swift
// Input to this function is a string represented multiple groups for nested parentheses separated by spaces.
// For each of the group, output the deepest level of nesting of parentheses.
// E.g. (()()) has maximum two levels of nesting while ((())) has three.
// parseNestedParens(parenString: "(()()) ((())) () ((())()())") == [2, 3, 1, 3]
func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}

// Example check function to verify correctness
func check() {
    let testString = "(()()) ((())) () ((())()())"
    let expectedOutput = [2, 3, 1, 3]
    assert(parseNestedParens(parenString: testString) == expectedOutput, "Expected output did not match.")
    print("Test passed!")
}

check()
```

func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                if currentDepth > maxDepth {
                    maxDepth = currentDepth
                }
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}
```swift
// Input to this function is a string represented multiple groups for nested parentheses separated by spaces.
// For each of the group, output the deepest level of nesting of parentheses.
// E.g. (()()) has maximum two levels of nesting while ((())) has three.
// parseNestedParens(parenString: "(()()) ((())) () ((())()())") == [2, 3, 1, 3]
func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                if currentDepth > maxDepth {
                    maxDepth = currentDepth
                }
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}
```

func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}

func check() {
    let testString = "(()()) ((())) () ((())()())"
    let expectedOutput = [2, 3, 1, 3]
    let actualOutput = parseNestedParens(parenString: testString)
    print("Expected Output: \(expectedOutput)")
    print("Actual Output: \(actualOutput)")
    assert(expectedOutput == actualOutput, "The function does not return the expected output.")
}
```swift
// Input to this function is a string represented multiple groups for nested parentheses separated by spaces.
// For each of the group, output the deepest level of nesting of parentheses.
// E.g. (()()) has maximum two levels of nesting while ((())) has three.
// parseNestedParens(parenString: "(()()) ((())) () ((())()())") == [2, 3, 1, 3]
func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}

// Example check function to verify correctness
func check() {
    let testString = "(()()) ((())) () ((())()())"
    let expectedOutput = [2, 3, 1, 3]
    let actualOutput = parseNestedParens(parenString: testString)
    print("Expected Output: \(expectedOutput)")
    print("Actual Output: \(actualOutput)")
    assert(expectedOutput == actualOutput, "The function does not return the expected output.")
}

check()
```

func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}

func check() {
    let testString = "(()()) ((())) () ((())()())"
    let expectedOutput = [2, 3, 1, 3]
    let actualOutput = parseNestedParens(parenString: testString)
    print("Expected: \(expectedOutput), Actual: \(actualOutput)")
}
```swift
// Input to this function is a string represented multiple groups for nested parentheses separated by spaces.
// For each of the group, output the deepest level of nesting of parentheses.
// E.g. (()()) has maximum two levels of nesting while ((())) has three.
// parseNestedParens(parenString: "(()()) ((())) () ((())()())") == [2, 3, 1, 3]
func parseNestedParens(parenString: String) -> [Int] {
    let groups = parenString.split(separator: " ")
    var depths = [Int]()
    for group in groups {
        var maxDepth = 0
        var currentDepth = 0
        for char in group {
            if char == "(" {
                currentDepth += 1
                maxDepth = max(maxDepth, currentDepth)
            } else if char == ")" {
                currentDepth -= 1
            }
        }
        depths.append(maxDepth)
    }
    return depths
}

// Example check function to verify correctness
func check() {
    let testString = "(()()) ((())) () ((())()())"
    let expectedOutput = [2, 3, 1, 3]
    let actualOutput = parseNestedParens(parenString: testString)
    print("Expected: \(expectedOutput), Actual: \(actualOutput)")
}

check()
```

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}

// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}

// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}

// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}

// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that contain given substring
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bacd", "cde", "array"], substring: "a") == ["abc", "bacd", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```swift
// For a given array of integers, return a tuple consisting of a sum and a product of all the integers in an array.
// Empty sum should be equal to 0 and empty product should be equal to 1.
// sumProduct(numbers: [] as [Int]) == (0, 1)
// sumProduct(numbers: [1, 2, 3, 4]) == (10, 24)
func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```

func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```swift
// For a given array of integers, return a tuple consisting of a sum and a product of all the integers in an array.
// Empty sum should be equal to 0 and empty product should be equal to 1.
// sumProduct(numbers: [] as [Int]) == (0, 1)
// sumProduct(numbers: [1, 2, 3, 4]) == (10, 24)
func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```

func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```swift
// For a given array of integers, return a tuple consisting of a sum and a product of all the integers in an array.
// Empty sum should be equal to 0 and empty product should be equal to 1.
// sumProduct(numbers: [] as [Int]) == (0, 1)
// sumProduct(numbers: [1, 2, 3, 4]) == (10, 24)
func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```

func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```swift
// For a given array of integers, return a tuple consisting of a sum and a product of all the integers in an array.
// Empty sum should be equal to 0 and empty product should be equal to 1.
// sumProduct(numbers: [] as [Int]) == (0, 1)
// sumProduct(numbers: [1, 2, 3, 4]) == (10, 24)
func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```

func sumProduct(numbers: [Int]) -> (Int, Int) {
    let sum = numbers.reduce(0, +)
    let product = numbers.reduce(1, *)
    return (sum, product)
}
```swift
// For a given array of integers, return a tuple consisting of a sum and a product of all the integers in an array.
// Empty sum should be equal to 0 and empty product should be equal to 1.
// sumProduct(numbers: [] as [Int]) == (0, 1)
// sumProduct(numbers: [1, 2, 3, 4]) == (10, 24)
func sumProduct(numbers: [Int]) -> (Int, Int) {
    let sum = numbers.reduce(0, +)
    let product = numbers.reduce(1, *)
    return (sum, product)
}
```

func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```swift
// For a given array of integers, return a tuple consisting of a sum and a product of all the integers in an array.
// Empty sum should be equal to 0 and empty product should be equal to 1.
// sumProduct(numbers: [] as [Int]) == (0, 1)
// sumProduct(numbers: [1, 2, 3, 4]) == (10, 24)
func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```

func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```swift
// For a given array of integers, return a tuple consisting of a sum and a product of all the integers in an array.
// Empty sum should be equal to 0 and empty product should be equal to 1.
// sumProduct(numbers: [] as [Int]) == (0, 1)
// sumProduct(numbers: [1, 2, 3, 4]) == (10, 24)
func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```

func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```swift
// For a given array of integers, return a tuple consisting of a sum and a product of all the integers in an array.
// Empty sum should be equal to 0 and empty product should be equal to 1.
// sumProduct(numbers: [] as [Int]) == (0, 1)
// sumProduct(numbers: [1, 2, 3, 4]) == (10, 24)
func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```

func sumProduct(numbers: [Int]) -> (Int, Int) {
    let sum = numbers.reduce(0, +)
    let product = numbers.reduce(1, *)
    return (sum, product)
}
```swift
// For a given array of integers, return a tuple consisting of a sum and a product of all the integers in an array.
// Empty sum should be equal to 0 and empty product should be equal to 1.
// sumProduct(numbers: [] as [Int]) == (0, 1)
// sumProduct(numbers: [1, 2, 3, 4]) == (10, 24)
func sumProduct(numbers: [Int]) -> (Int, Int) {
    let sum = numbers.reduce(0, +)
    let product = numbers.reduce(1, *)
    return (sum, product)
}

// Example usage:
sumProduct(numbers: []) // returns (0, 1)
sumProduct(numbers: [1, 2, 3, 4]) // returns (10, 24)
```

func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```swift
// For a given array of integers, return a tuple consisting of a sum and a product of all the integers in an array.
// Empty sum should be equal to 0 and empty product should be equal to 1.
// sumProduct(numbers: [] as [Int]) == (0, 1)
// sumProduct(numbers: [1, 2, 3, 4]) == (10, 24)
func sumProduct(numbers: [Int]) -> (Int, Int) {
    var sum = 0
    var product = 1
    for number in numbers {
        sum += number
        product *= number
    }
    return (sum, product)
}
```

func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var currentMax = Int.min
    for num in numbers {
        if num > currentMax {
            currentMax = num
        }
        result.append(currentMax)
    }
    return result
}
```swift
// From a given array of integers, generate an array of rolling maximum element found until given moment
// in the sequence.
// rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4]
func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var currentMax = Int.min
    for num in numbers {
        if num > currentMax {
            currentMax = num
        }
        result.append(currentMax)
    }
    return result
}
```

func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var currentMax = Int.min
    for num in numbers {
        currentMax = max(currentMax, num)
        result.append(currentMax)
    }
    return result
}

func checkRollingMax() {
    assert(rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4], "Test case 1 failed")
    assert(rollingMax(numbers: [5, 3, 9, 1, 7, 6, 8]) == [5, 5, 9, 9, 9, 9, 9], "Test case 2 failed")
    assert(rollingMax(numbers: [10, 20, 15, 25, 30, 20, 35]) == [10, 20, 20, 25, 30, 30, 35], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// From a given array of integers, generate an array of rolling maximum element found until given moment
// in the sequence.
// rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4]
func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var currentMax = Int.min
    for num in numbers {
        currentMax = max(currentMax, num)
        result.append(currentMax)
    }
    return result
}

// Check function to verify the correctness of the rollingMax function
func checkRollingMax() {
    assert(rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4], "Test case 1 failed")
    assert(rollingMax(numbers: [5, 3, 9, 1, 7, 6, 8]) == [5, 5, 9, 9, 9, 9, 9], "Test case 2 failed")
    assert(rollingMax(numbers: [10, 20, 15, 25, 30, 20, 35]) == [10, 20, 20, 25, 30, 30, 35], "Test case 3 failed")
    print("All test cases passed!")
}

// Run the check function to verify the solution
checkRollingMax()
```

func rollingMax(numbers: [Int]) -> [Int] {
    var maxValues = [Int]()
    var currentMax = Int.min
    for number in numbers {
        currentMax = max(currentMax, number)
        maxValues.append(currentMax)
    }
    return maxValues
}
```swift
// From a given array of integers, generate an array of rolling maximum element found until given moment
// in the sequence.
// rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4]
func rollingMax(numbers: [Int]) -> [Int] {
    var maxValues = [Int]()
    var currentMax = Int.min
    for number in numbers {
        currentMax = max(currentMax, number)
        maxValues.append(currentMax)
    }
    return maxValues
}
```

func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var max = Int.min
    for num in numbers {
        if num > max {
            max = num
        }
        result.append(max)
    }
    return result
}
```swift
// From a given array of integers, generate an array of rolling maximum element found until given moment
// in the sequence.
// rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4]
func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var max = Int.min
    for num in numbers {
        if num > max {
            max = num
        }
        result.append(max)
    }
    return result
}
```

func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var max = Int.min
    for num in numbers {
        if num > max {
            max = num
        }
        result.append(max)
    }
    return result
}
```swift
// From a given array of integers, generate an array of rolling maximum element found until given moment
// in the sequence.
// rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4]
func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var max = Int.min
    for num in numbers {
        if num > max {
            max = num
        }
        result.append(max)
    }
    return result
}
```

func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var max = Int.min
    for number in numbers {
        if number > max {
            max = number
        }
        result.append(max)
    }
    return result
}
```swift
// From a given array of integers, generate an array of rolling maximum element found until given moment
// in the sequence.
// rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4]
func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var max = Int.min
    for number in numbers {
        if number > max {
            max = number
        }
        result.append(max)
    }
    return result
}
```

func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var currentMax = Int.min
    for number in numbers {
        if number > currentMax {
            currentMax = number
        }
        result.append(currentMax)
    }
    return result
}
```swift
// From a given array of integers, generate an array of rolling maximum element found until given moment
// in the sequence.
// rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4]
func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var currentMax = Int.min
    for number in numbers {
        if number > currentMax {
            currentMax = number
        }
        result.append(currentMax)
    }
    return result
}
```

func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var currentMax = Int.min
    for num in numbers {
        currentMax = max(currentMax, num)
        result.append(currentMax)
    }
    return result
}

func checkRollingMax() {
    let testCases = [
        ([1, 2, 3, 2, 3, 4, 2], [1, 2, 3, 3, 3, 4, 4]),
        ([5, 3, 9, 1, 6, 8, 7], [5, 5, 9, 9, 9, 9, 9]),
        ([10, 20, 15, 30, 25, 40, 35], [10, 20, 20, 30, 30, 40, 40])
    ]
    
    for (input, expected) in testCases {
        let result = rollingMax(numbers: input)
        assert(result == expected, "Test failed for input \(input). Expected \(expected), got \(result)")
    }
    print("All tests passed!")
}
```swift
// From a given array of integers, generate an array of rolling maximum element found until given moment
// in the sequence.
// rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4]
func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var currentMax = Int.min
    for num in numbers {
        currentMax = max(currentMax, num)
        result.append(currentMax)
    }
    return result
}

// Check function to verify the correctness of the rollingMax function
func checkRollingMax() {
    let testCases = [
        ([1, 2, 3, 2, 3, 4, 2], [1, 2, 3, 3, 3, 4, 4]),
        ([5, 3, 9, 1, 6, 8, 7], [5, 5, 9, 9, 9, 9, 9]),
        ([10, 20, 15, 30, 25, 40, 35], [10, 20, 20, 30, 30, 40, 40])
    ]
    
    for (input, expected) in testCases {
        let result = rollingMax(numbers: input)
        assert(result == expected, "Test failed for input \(input). Expected \(expected), got \(result)")
    }
    print("All tests passed!")
}

// Run the check function to verify the solution
checkRollingMax()
```

func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var currentMax = Int.min
    for number in numbers {
        if number > currentMax {
            currentMax = number
        }
        result.append(currentMax)
    }
    return result
}
```swift
// From a given array of integers, generate an array of rolling maximum element found until given moment
// in the sequence.
// rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4]
func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var currentMax = Int.min
    for number in numbers {
        if number > currentMax {
            currentMax = number
        }
        result.append(currentMax)
    }
    return result
}
```

func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var max = Int.min
    for num in numbers {
        if num > max {
            max = num
        }
        result.append(max)
    }
    return result
}
```swift
// From a given array of integers, generate an array of rolling maximum element found until given moment
// in the sequence.
// rollingMax(numbers: [1, 2, 3, 2, 3, 4, 2]) == [1, 2, 3, 3, 3, 4, 4]
func rollingMax(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var max = Int.min
    for num in numbers {
        if num > max {
            max = num
        }
        result.append(max)
    }
    return result
}
```

func makePalindrome(string: String) -> String {
    if string.isEmpty {
        return ""
    }
    let reversedString = String(string.characters.reversed())
    let reversedSuffix = string.reversed()
    let reversedPrefix = string.prefix(string.characters.count - reversedSuffix.characters.count)
    let reversedPrefixReversed = String(reversedPrefix.characters.reversed())
    return string + reversedPrefixReversed
}
```swift
// Find the shortest palindrome that begins with a supplied string.
// Algorithm idea is simple:
// - Find the longest postfix of supplied string that is a palindrome.
// - Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
// makePalindrome(string: "") == ""
// makePalindrome(string: "cat") == "catac"
// makePalindrome(string: "cata") == "catac"
func makePalindrome(string: String) -> String {
    if string.isEmpty {
        return ""
    }
    let reversedString = String(string.characters.reversed())
    let reversedSuffix = string.reversed()
    let reversedPrefix = string.prefix(string.characters.count - reversedSuffix.characters.count)
    let reversedPrefixReversed = String(reversedPrefix.characters.reversed())
    return string + reversedPrefixReversed
}
```

let reversedString = String(string.characters.reversed()) // 'characters' is unavailable: Please use String directly
let reversedPrefix = string.prefix(string.characters.count - reversedSuffix.characters.count) // value of type 'ReversedCollection<String>' has no member 'characters'

func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reversed())
    let reversedStringLength = reversedString.characters.count
    let stringLength = string.characters.count
    var longestPalindromeLength = 0
    var longestPalindromeEndIndex = 0
    var longestPalindromeStartIndex = 0
    for i in 0..<stringLength {
        let substring = string[string.startIndex..<string.index(string.startIndex, offsetBy: i + 1)]
        let reversedSubstring = String(substring.characters.reversed())
        if reversedSubstring == substring {
            if substring.characters.count > longestPalindromeLength {
                longestPalindromeLength = substring.characters.count
                longestPalindromeEndIndex = i
                longestPalindromeStartIndex = string.index(string.startIndex, offsetBy: i - substring.characters.count + 1)
            }
        }
    }
    let palindrome = string[string.index(string.startIndex, offsetBy: longestPalindromeStartIndex)..<string.index(string.startIndex, offsetBy: longestPalindromeEndIndex + 1)]
    let prefix = string[string.index(string.startIndex, offsetBy: longestPalindromeEndIndex + 1)..<string.endIndex]
    let reversedPrefix = String(prefix.characters.reversed())
    return palindrome + reversedPrefix
}
```swift
// Find the shortest palindrome that begins with a supplied string.
// Algorithm idea is simple:
// - Find the longest postfix of supplied string that is a palindrome.
// - Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
// makePalindrome(string: "") == ""
// makePalindrome(string: "cat") == "catac"
// makePalindrome(string: "cata") == "catac"
func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reversed())
    let reversedStringLength = reversedString.characters.count
    let stringLength = string.characters.count
    var longestPalindromeLength = 0
    var longestPalindromeEndIndex = 0
    var longestPalindromeStartIndex = 0
    for i in 0..<stringLength {
        let substring = string[string.startIndex..<string.index(string.startIndex, offsetBy: i + 1)]
        let reversedSubstring = String(substring.characters.reversed())
        if reversedSubstring == substring {
            if substring.characters.count > longestPalindromeLength {
                longestPalindromeLength = substring.characters.count
                longestPalindromeEndIndex = i
                longestPalindromeStartIndex = string.index(string.startIndex, offsetBy: i - substring.characters.count + 1)
            }
        }
    }
    let palindrome = string[string.index(string.startIndex, offsetBy: longestPalindromeStartIndex)..<string.index(string.startIndex, offsetBy: longestPalindromeEndIndex + 1)]
    let prefix = string[string.index(string.startIndex, offsetBy: longestPalindromeEndIndex + 1)..<string.endIndex]
    let reversedPrefix = String(prefix.characters.reversed())
    return palindrome + reversedPrefix
}
```

let reversedString = String(string.characters.reversed()) // 'characters' is unavailable: Please use String directly
let reversedStringLength = reversedString.characters.count // 'characters' is unavailable: Please use String directly
let stringLength = string.characters.count // 'characters' is unavailable: Please use String directly
let reversedSubstring = String(substring.characters.reversed()) // 'characters' is unavailable: Please use Substring directly
if substring.characters.count > longestPalindromeLength { // 'characters' is unavailable: Please use Substring directly
longestPalindromeLength = substring.characters.count // 'characters' is unavailable: Please use Substring directly
longestPalindromeStartIndex = string.index(string.startIndex, offsetBy: i - substring.characters.count + 1) // cannot assign value of type 'String.Index' to type 'Int'
let reversedPrefix = String(prefix.characters.reversed()) // 'characters' is unavailable: Please use Substring directly

func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reversed())
    let reversedSuffix = reversedString.suffix(string.characters.count)
    let reversedPrefix = reversedString.prefix(string.characters.count - reversedSuffix.characters.count)
    return string + String(reversedPrefix.characters.reversed())
}
```swift
// Find the shortest palindrome that begins with a supplied string.
// Algorithm idea is simple:
// - Find the longest postfix of supplied string that is a palindrome.
// - Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
// makePalindrome(string: "") == ""
// makePalindrome(string: "cat") == "catac"
// makePalindrome(string: "cata") == "catac"
func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reversed())
    let reversedSuffix = reversedString.suffix(string.characters.count)
    let reversedPrefix = reversedString.prefix(string.characters.count - reversedSuffix.characters.count)
    return string + String(reversedPrefix.characters.reversed())
}
```

let reversedString = String(string.characters.reversed()) // 'characters' is unavailable: Please use String directly
let reversedSuffix = reversedString.suffix(string.characters.count) // 'characters' is unavailable: Please use String directly
let reversedPrefix = reversedString.prefix(string.characters.count - reversedSuffix.characters.count) // 'characters' is unavailable: Please use String directly
let reversedPrefix = reversedString.prefix(string.characters.count - reversedSuffix.characters.count) // 'characters' is unavailable: Please use Substring directly
return string + String(reversedPrefix.characters.reversed()) // 'characters' is unavailable: Please use Substring directly

func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reversed())
    let reversedSuffix = reversedString.suffix(string.characters.count)
    let reversedPrefix = reversedString.prefix(string.characters.count - reversedSuffix.characters.count)
    let suffix = String(reversedSuffix.characters.reversed())
    let prefix = String(reversedPrefix.characters.reversed())
    return string + suffix
}
```swift
// Find the shortest palindrome that begins with a supplied string.
// Algorithm idea is simple:
// - Find the longest postfix of supplied string that is a palindrome.
// - Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
// makePalindrome(string: "") == ""
// makePalindrome(string: "cat") == "catac"
// makePalindrome(string: "cata") == "catac"
func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reversed())
    let reversedSuffix = reversedString.suffix(string.characters.count)
    let reversedPrefix = reversedString.prefix(string.characters.count - reversedSuffix.characters.count)
    let suffix = String(reversedSuffix.characters.reversed())
    let prefix = String(reversedPrefix.characters.reversed())
    return string + suffix
}
```

let reversedString = String(string.characters.reversed()) // 'characters' is unavailable: Please use String directly
let reversedSuffix = reversedString.suffix(string.characters.count) // 'characters' is unavailable: Please use String directly
let reversedPrefix = reversedString.prefix(string.characters.count - reversedSuffix.characters.count) // 'characters' is unavailable: Please use String directly
let reversedPrefix = reversedString.prefix(string.characters.count - reversedSuffix.characters.count) // 'characters' is unavailable: Please use Substring directly
let suffix = String(reversedSuffix.characters.reversed()) // 'characters' is unavailable: Please use Substring directly
let prefix = String(reversedPrefix.characters.reversed()) // 'characters' is unavailable: Please use Substring directly
let prefix = String(reversedPrefix.characters.reversed()) // initialization of immutable value 'prefix' was never used; consider replacing with assignment to '_' or removing it

func makePalindrome(string: String) -> String {
    let stringArray = Array(string.characters)
    let stringLength = stringArray.count
    var longestPalindromeLength = 0
    for i in 0..<stringLength {
        if isPalindrome(stringArray, start: i, end: stringLength - 1) {
            longestPalindromeLength = stringLength - i
            break
        }
    }
    let prefix = Array(stringArray[0..<stringLength - longestPalindromeLength])
    let prefixReversed = prefix.reverse()
    return string + String(prefixReversed)
}

func isPalindrome(string: [Character], start: Int, end: Int) -> Bool {
    var start = start
    var end = end
    while start < end {
        if string[start] != string[end] {
            return false
        }
        start += 1
        end -= 1
    }
    return true
}
```swift
// Find the shortest palindrome that begins with a supplied string.
// Algorithm idea is simple:
// - Find the longest postfix of supplied string that is a palindrome.
// - Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
// makePalindrome(string: "") == ""
// makePalindrome(string: "cat") == "catac"
// makePalindrome(string: "cata") == "catac"
func makePalindrome(string: String) -> String {
    let stringArray = Array(string.characters)
    let stringLength = stringArray.count
    var longestPalindromeLength = 0
    for i in 0..<stringLength {
        if isPalindrome(stringArray, start: i, end: stringLength - 1) {
            longestPalindromeLength = stringLength - i
            break
        }
    }
    let prefix = Array(stringArray[0..<stringLength - longestPalindromeLength])
    let prefixReversed = prefix.reverse()
    return string + String(prefixReversed)
}

// Check if a string is a palindrome.
// isPalindrome(string: "", start: 0, end: 0) == true
// isPalindrome(string: "cat", start: 0, end: 2) == false
// isPalindrome(string: "cata", start: 0, end: 3) == false
// isPalindrome(string: "catac", start: 0, end: 4) == true
func isPalindrome(string: [Character], start: Int, end: Int) -> Bool {
    var start = start
    var end = end
    while start < end {
        if string[start] != string[end] {
            return false
        }
        start += 1
        end -= 1
    }
    return true
}
```

let stringArray = Array(string.characters) // 'characters' is unavailable: Please use String directly
if isPalindrome(stringArray, start: i, end: stringLength - 1) { // missing argument label 'string:' in call
let prefixReversed = prefix.reverse() // cannot use mutating member on immutable value: 'prefix' is a 'let' constant

func makePalindrome(string: String) -> String {
    let stringArray = Array(string.characters)
    let stringArrayLength = stringArray.count
    var i = stringArrayLength
    while i > 0 {
        let substring = stringArray[0..<i]
        if isPalindrome(substring) {
            let prefix = stringArray[i..<stringArrayLength]
            let prefixReversed = prefix.reversed()
            return string + String(prefixReversed)
        }
        i -= 1
    }
    return string
}

func isPalindrome(string: String) -> Bool {
    let stringArray = Array(string.characters)
    let stringArrayLength = stringArray.count
    var i = 0
    var j = stringArrayLength - 1
    while i < j {
        if stringArray[i] != stringArray[j] {
            return false
        }
        i += 1
        j -= 1
    }
    return true
}
```swift
// Find the shortest palindrome that begins with a supplied string.
// Algorithm idea is simple:
// - Find the longest postfix of supplied string that is a palindrome.
// - Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
// makePalindrome(string: "") == ""
// makePalindrome(string: "cat") == "catac"
// makePalindrome(string: "cata") == "catac"
func makePalindrome(string: String) -> String {
    let stringArray = Array(string.characters)
    let stringArrayLength = stringArray.count
    var i = stringArrayLength
    while i > 0 {
        let substring = stringArray[0..<i]
        if isPalindrome(substring) {
            let prefix = stringArray[i..<stringArrayLength]
            let prefixReversed = prefix.reversed()
            return string + String(prefixReversed)
        }
        i -= 1
    }
    return string
}

// Check if a string is a palindrome.
// Algorithm idea is simple:
// - Compare the first and last characters of the string.
// - If they are equal, compare the second and second-to-last characters, and so on.
// - If all pairs of characters are equal, the string is a palindrome.
// isPalindrome(string: "") == true
// isPalindrome(string: "a") == true
// isPalindrome(string: "aa") == true
// isPalindrome(string: "ab") == false
// isPalindrome(string: "aba") == true
// isPalindrome(string: "abba") == true
// isPalindrome(string: "abca") == false
func isPalindrome(string: String) -> Bool {
    let stringArray = Array(string.characters)
    let stringArrayLength = stringArray.count
    var i = 0
    var j = stringArrayLength - 1
    while i < j {
        if stringArray[i] != stringArray[j] {
            return false
        }
        i += 1
        j -= 1
    }
    return true
}
```

let stringArray = Array(string.characters) // 'characters' is unavailable: Please use String directly
if isPalindrome(substring) { // missing argument label 'string:' in call
if isPalindrome(substring) { // cannot convert value of type 'ArraySlice<String.Element>' (aka 'ArraySlice<Character>') to expected argument type 'String'
let stringArray = Array(string.characters) // 'characters' is unavailable: Please use String directly

func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reversed())
    let stringLength = string.characters.count
    let reversedStringLength = reversedString.characters.count
    var i = 0
    while i < stringLength {
        if string.substring(to: string.index(string.startIndex, offsetBy: i)) == reversedString.substring(to: reversedString.index(reversedString.startIndex, offsetBy: i)) {
            return string + reversedString.substring(from: reversedString.index(reversedString.startIndex, offsetBy: i))
        }
        i += 1
    }
    return string + reversedString
}
```swift
// Find the shortest palindrome that begins with a supplied string.
// Algorithm idea is simple:
// - Find the longest postfix of supplied string that is a palindrome.
// - Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
// makePalindrome(string: "") == ""
// makePalindrome(string: "cat") == "catac"
// makePalindrome(string: "cata") == "catac"
func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reversed())
    let stringLength = string.characters.count
    let reversedStringLength = reversedString.characters.count
    var i = 0
    while i < stringLength {
        if string.substring(to: string.index(string.startIndex, offsetBy: i)) == reversedString.substring(to: reversedString.index(reversedString.startIndex, offsetBy: i)) {
            return string + reversedString.substring(from: reversedString.index(reversedString.startIndex, offsetBy: i))
        }
        i += 1
    }
    return string + reversedString
}
```

let reversedString = String(string.characters.reversed()) // 'characters' is unavailable: Please use String directly
let stringLength = string.characters.count // 'characters' is unavailable: Please use String directly
let reversedStringLength = reversedString.characters.count // 'characters' is unavailable: Please use String directly
let reversedStringLength = reversedString.characters.count // initialization of immutable value 'reversedStringLength' was never used; consider replacing with assignment to '_' or removing it
if string.substring(to: string.index(string.startIndex, offsetBy: i)) == reversedString.substring(to: reversedString.index(reversedString.startIndex, offsetBy: i)) { // 'substring(to:)' is deprecated: Please use String slicing subscript with a 'partial range upto' operator.
if string.substring(to: string.index(string.startIndex, offsetBy: i)) == reversedString.substring(to: reversedString.index(reversedString.startIndex, offsetBy: i)) { // 'substring(to:)' is deprecated: Please use String slicing subscript with a 'partial range upto' operator.
return string + reversedString.substring(from: reversedString.index(reversedString.startIndex, offsetBy: i)) // 'substring(from:)' is deprecated: Please use String slicing subscript with a 'partial range from' operator.

func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reverse())
    let stringLength = string.characters.count
    let reversedStringLength = reversedString.characters.count
    var longestPalindromeLength = 0
    for i in 0..<stringLength {
        if string.substringToIndex(string.startIndex.advancedBy(i)) == reversedString.substringFromIndex(reversedString.startIndex.advancedBy(reversedStringLength - i)) {
            longestPalindromeLength = i
        }
    }
    return string + reversedString.substringToIndex(reversedString.startIndex.advancedBy(reversedStringLength - longestPalindromeLength))
}
```swift
// Find the shortest palindrome that begins with a supplied string.
// Algorithm idea is simple:
// - Find the longest postfix of supplied string that is a palindrome.
// - Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
// makePalindrome(string: "") == ""
// makePalindrome(string: "cat") == "catac"
// makePalindrome(string: "cata") == "catac"
func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reverse())
    let stringLength = string.characters.count
    let reversedStringLength = reversedString.characters.count
    var longestPalindromeLength = 0
    for i in 0..<stringLength {
        if string.substringToIndex(string.startIndex.advancedBy(i)) == reversedString.substringFromIndex(reversedString.startIndex.advancedBy(reversedStringLength - i)) {
            longestPalindromeLength = i
        }
    }
    return string + reversedString.substringToIndex(reversedString.startIndex.advancedBy(reversedStringLength - longestPalindromeLength))
}
```

let reversedString = String(string.characters.reverse()) // value of type 'String' has no member 'reverse'
let stringLength = string.characters.count // 'characters' is unavailable: Please use String directly
if string.substringToIndex(string.startIndex.advancedBy(i)) == reversedString.substringFromIndex(reversedString.startIndex.advancedBy(reversedStringLength - i)) { // value of type 'String' has no member 'substringToIndex'
if string.substringToIndex(string.startIndex.advancedBy(i)) == reversedString.substringFromIndex(reversedString.startIndex.advancedBy(reversedStringLength - i)) { // value of type 'String.Index' has no member 'advancedBy'

func makePalindrome(string: String) -> String {
    let stringArray = Array(string)
    let stringLength = stringArray.count
    var longestPalindromeLength = 0
    var longestPalindromeIndex = 0
    for i in 0..<stringLength {
        var j = 0
        while i - j >= 0 && i + j < stringLength && stringArray[i - j] == stringArray[i + j] {
            j += 1
        }
        j -= 1
        if j > longestPalindromeLength {
            longestPalindromeLength = j
            longestPalindromeIndex = i
        }
    }
    var prefix = stringArray[0..<longestPalindromeIndex]
    var suffix = stringArray[longestPalindromeIndex..<stringLength]
    var reversedPrefix = prefix.reversed()
    return String(suffix + reversedPrefix)
}
```swift
// Find the shortest palindrome that begins with a supplied string.
// Algorithm idea is simple:
// - Find the longest postfix of supplied string that is a palindrome.
// - Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
// makePalindrome(string: "") == ""
// makePalindrome(string: "cat") == "catac"
// makePalindrome(string: "cata") == "catac"
func makePalindrome(string: String) -> String {
    let stringArray = Array(string)
    let stringLength = stringArray.count
    var longestPalindromeLength = 0
    var longestPalindromeIndex = 0
    for i in 0..<stringLength {
        var j = 0
        while i - j >= 0 && i + j < stringLength && stringArray[i - j] == stringArray[i + j] {
            j += 1
        }
        j -= 1
        if j > longestPalindromeLength {
            longestPalindromeLength = j
            longestPalindromeIndex = i
        }
    }
    var prefix = stringArray[0..<longestPalindromeIndex]
    var suffix = stringArray[longestPalindromeIndex..<stringLength]
    var reversedPrefix = prefix.reversed()
    return String(suffix + reversedPrefix)
}
```

var prefix = stringArray[0..<longestPalindromeIndex] // variable 'prefix' was never mutated; consider changing to 'let' constant
var suffix = stringArray[longestPalindromeIndex..<stringLength] // variable 'suffix' was never mutated; consider changing to 'let' constant
var reversedPrefix = prefix.reversed() // variable 'reversedPrefix' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reversed())
    let reversedStringLength = reversedString.characters.count
    let stringLength = string.characters.count
    let stringCharacters = string.characters
    let reversedStringCharacters = reversedString.characters
    var i = 0
    while i < reversedStringLength {
        if stringCharacters[stringLength - i - 1] == reversedStringCharacters[i] {
            i += 1
        } else {
            break
        }
    }
    let prefix = string.substringToIndex(string.startIndex.advancedBy(stringLength - i))
    let suffix = string.substringFromIndex(string.startIndex.advancedBy(stringLength - i))
    let reversedPrefix = String(prefix.characters.reversed())
    return suffix + reversedPrefix
}
```swift
// Find the shortest palindrome that begins with a supplied string.
// Algorithm idea is simple:
// - Find the longest postfix of supplied string that is a palindrome.
// - Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
// makePalindrome(string: "") == ""
// makePalindrome(string: "cat") == "catac"
// makePalindrome(string: "cata") == "catac"
func makePalindrome(string: String) -> String {
    let reversedString = String(string.characters.reversed())
    let reversedStringLength = reversedString.characters.count
    let stringLength = string.characters.count
    let stringCharacters = string.characters
    let reversedStringCharacters = reversedString.characters
    var i = 0
    while i < reversedStringLength {
        if stringCharacters[stringLength - i - 1] == reversedStringCharacters[i] {
            i += 1
        } else {
            break
        }
    }
    let prefix = string.substringToIndex(string.startIndex.advancedBy(stringLength - i))
    let suffix = string.substringFromIndex(string.startIndex.advancedBy(stringLength - i))
    let reversedPrefix = String(prefix.characters.reversed())
    return suffix + reversedPrefix
}
```

let reversedString = String(string.characters.reversed()) // 'characters' is unavailable: Please use String directly
let reversedStringLength = reversedString.characters.count // 'characters' is unavailable: Please use String directly
let stringLength = string.characters.count // 'characters' is unavailable: Please use String directly
let stringCharacters = string.characters // 'characters' is unavailable: Please use String directly
let reversedStringCharacters = reversedString.characters // 'characters' is unavailable: Please use String directly
if stringCharacters[stringLength - i - 1] == reversedStringCharacters[i] { // 'subscript(_:)' is unavailable: cannot subscript String with an Int, use a String.Index instead.
if stringCharacters[stringLength - i - 1] == reversedStringCharacters[i] { // 'subscript(_:)' is unavailable: cannot subscript String with an Int, use a String.Index instead.
let prefix = string.substringToIndex(string.startIndex.advancedBy(stringLength - i)) // value of type 'String' has no member 'substringToIndex'
let prefix = string.substringToIndex(string.startIndex.advancedBy(stringLength - i)) // value of type 'String.Index' has no member 'advancedBy'
let suffix = string.substringFromIndex(string.startIndex.advancedBy(stringLength - i)) // value of type 'String.Index' has no member 'advancedBy'
let suffix = string.substringFromIndex(string.startIndex.advancedBy(stringLength - i)) // value of type 'String' has no member 'substringFromIndex'

func stringXor(a: String, b: String) -> String {
    var result = ""
    for i in 0..<a.count {
        let aChar = a[a.index(a.startIndex, offsetBy: i)]
        let bChar = b[b.index(b.startIndex, offsetBy: i)]
        result += aChar == bChar ? "0" : "1"
    }
    return result
}

func check() {
    assert(stringXor(a: "010", b: "110") == "100")
    assert(stringXor(a: "10101", b: "00111") == "10010")
    assert(stringXor(a: "1111", b: "0000") == "1111")
    assert(stringXor(a: "0000", b: "0000") == "0000")
    print("All tests passed!")
}
```swift
// Input are two strings a and b consisting only of 1s and 0s.
// Perform binary XOR on these inputs and return result also as a string.
// stringXor(a: "010", b: "110") == "100"
func stringXor(a: String, b: String) -> String {
    var result = ""
    for i in 0..<a.count {
        let aChar = a[a.index(a.startIndex, offsetBy: i)]
        let bChar = b[b.index(b.startIndex, offsetBy: i)]
        result += aChar == bChar ? "0" : "1"
    }
    return result
}

// Check function to verify the correctness of the stringXor function.
func check() {
    assert(stringXor(a: "010", b: "110") == "100")
    assert(stringXor(a: "10101", b: "00111") == "10010")
    assert(stringXor(a: "1111", b: "0000") == "1111")
    assert(stringXor(a: "0000", b: "0000") == "0000")
    print("All tests passed!")
}

check()
```

func stringXor(a: String, b: String) -> String {
    var result = ""
    for (i, char) in a.enumerated() {
        if char == b[b.index(b.startIndex, offsetBy: i)] {
            result += "0"
        } else {
            result += "1"
        }
    }
    return result
}
```swift
// Input are two strings a and b consisting only of 1s and 0s.
// Perform binary XOR on these inputs and return result also as a string.
// stringXor(a: "010", b: "110") == "100"
func stringXor(a: String, b: String) -> String {
    var result = ""
    for (i, char) in a.enumerated() {
        if char == b[b.index(b.startIndex, offsetBy: i)] {
            result += "0"
        } else {
            result += "1"
        }
    }
    return result
}
```

func stringXor(a: String, b: String) -> String {
    var result = ""
    for (i, char) in a.enumerated() {
        if char == b[b.index(b.startIndex, offsetBy: i)] {
            result += "0"
        } else {
            result += "1"
        }
    }
    return result
}

func check() {
    assert(stringXor(a: "010", b: "110") == "100")
    assert(stringXor(a: "10101", b: "00111") == "10010")
    assert(stringXor(a: "1111", b: "0000") == "1111")
    assert(stringXor(a: "0000", b: "0000") == "0000")
    print("All tests passed!")
}
```swift
// Input are two strings a and b consisting only of 1s and 0s.
// Perform binary XOR on these inputs and return result also as a string.
// stringXor(a: "010", b: "110") == "100"
func stringXor(a: String, b: String) -> String {
    var result = ""
    for (i, char) in a.enumerated() {
        if char == b[b.index(b.startIndex, offsetBy: i)] {
            result += "0"
        } else {
            result += "1"
        }
    }
    return result
}

// Check function to verify the correctness of the stringXor function.
func check() {
    assert(stringXor(a: "010", b: "110") == "100")
    assert(stringXor(a: "10101", b: "00111") == "10010")
    assert(stringXor(a: "1111", b: "0000") == "1111")
    assert(stringXor(a: "0000", b: "0000") == "0000")
    print("All tests passed!")
}

check()
```

func stringXor(a: String, b: String) -> String {
    // Convert strings to arrays of characters for easier manipulation.
    let aChars = Array(a)
    let bChars = Array(b)
    var result = ""
    
    // Iterate through each character in the strings.
    for i in 0..<aChars.count {
        // Perform XOR operation on corresponding characters from both strings.
        if aChars[i] == bChars[i] {
            result += "0"
        } else {
            result += "1"
        }
    }
    
    return result
}

func check() {
    assert(stringXor(a: "010", b: "110") == "100")
    assert(stringXor(a: "10101", b: "00111") == "10010")
    assert(stringXor(a: "1111", b: "0000") == "1111")
    assert(stringXor(a: "0000", b: "0000") == "0000")
    print("All tests passed!")
}
```swift
// Input are two strings a and b consisting only of 1s and 0s.
// Perform binary XOR on these inputs and return result also as a string.
// stringXor(a: "010", b: "110") == "100"
func stringXor(a: String, b: String) -> String {
    // Convert strings to arrays of characters for easier manipulation.
    let aChars = Array(a)
    let bChars = Array(b)
    var result = ""
    
    // Iterate through each character in the strings.
    for i in 0..<aChars.count {
        // Perform XOR operation on corresponding characters from both strings.
        if aChars[i] == bChars[i] {
            result += "0"
        } else {
            result += "1"
        }
    }
    
    return result
}

// Check function to verify the correctness of the solution.
func check() {
    assert(stringXor(a: "010", b: "110") == "100")
    assert(stringXor(a: "10101", b: "00111") == "10010")
    assert(stringXor(a: "1111", b: "0000") == "1111")
    assert(stringXor(a: "0000", b: "0000") == "0000")
    print("All tests passed!")
}

check()
```

func stringXor(a: String, b: String) -> String {
    var result = ""
    for (i, char) in a.enumerated() {
        if char == b[b.index(b.startIndex, offsetBy: i)] {
            result += "0"
        } else {
            result += "1"
        }
    }
    return result
}
```swift
// Input are two strings a and b consisting only of 1s and 0s.
// Perform binary XOR on these inputs and return result also as a string.
// stringXor(a: "010", b: "110") == "100"
func stringXor(a: String, b: String) -> String {
    var result = ""
    for (i, char) in a.enumerated() {
        if char == b[b.index(b.startIndex, offsetBy: i)] {
            result += "0"
        } else {
            result += "1"
        }
    }
    return result
}
```

func stringXor(a: String, b: String) -> String {
    // Convert strings to arrays of characters for easier manipulation.
    let aArray = Array(a)
    let bArray = Array(b)
    
    // Initialize an empty string to store the result.
    var result = ""
    
    // Loop through each character in the arrays.
    for i in 0..<aArray.count {
        // Perform XOR operation on each pair of characters.
        if aArray[i] == bArray[i] {
            result += "0"
        } else {
            result += "1"
        }
    }
    
    // Return the final result.
    return result
}
```swift
// Input are two strings a and b consisting only of 1s and 0s.
// Perform binary XOR on these inputs and return result also as a string.
// stringXor(a: "010", b: "110") == "100"
func stringXor(a: String, b: String) -> String {
    // Convert strings to arrays of characters for easier manipulation.
    let aArray = Array(a)
    let bArray = Array(b)
    
    // Initialize an empty string to store the result.
    var result = ""
    
    // Loop through each character in the arrays.
    for i in 0..<aArray.count {
        // Perform XOR operation on each pair of characters.
        if aArray[i] == bArray[i] {
            result += "0"
        } else {
            result += "1"
        }
    }
    
    // Return the final result.
    return result
}
```

func stringXor(a: String, b: String) -> String {
    // Convert strings to arrays of characters for easy manipulation.
    let aArray = Array(a)
    let bArray = Array(b)
    var result = ""
    
    // Iterate through each character in the arrays.
    for i in 0..<aArray.count {
        // Perform XOR operation on each pair of characters.
        if aArray[i] == bArray[i] {
            result += "0"
        } else {
            result += "1"
        }
    }
    
    return result
}

func check() {
    assert(stringXor(a: "010", b: "110") == "100")
    assert(stringXor(a: "10101", b: "00111") == "10010")
    assert(stringXor(a: "1111", b: "0000") == "1111")
    assert(stringXor(a: "1111", b: "1111") == "0000")
    assert(stringXor(a: "0000", b: "0000") == "0000")
    print("All tests passed!")
}
```swift
// Input are two strings a and b consisting only of 1s and 0s.
// Perform binary XOR on these inputs and return result also as a string.
// stringXor(a: "010", b: "110") == "100"
func stringXor(a: String, b: String) -> String {
    // Convert strings to arrays of characters for easy manipulation.
    let aArray = Array(a)
    let bArray = Array(b)
    var result = ""
    
    // Iterate through each character in the arrays.
    for i in 0..<aArray.count {
        // Perform XOR operation on each pair of characters.
        if aArray[i] == bArray[i] {
            result += "0"
        } else {
            result += "1"
        }
    }
    
    return result
}

// Check function to verify the correctness of the solution
func check() {
    assert(stringXor(a: "010", b: "110") == "100")
    assert(stringXor(a: "10101", b: "00111") == "10010")
    assert(stringXor(a: "1111", b: "0000") == "1111")
    assert(stringXor(a: "1111", b: "1111") == "0000")
    assert(stringXor(a: "0000", b: "0000") == "0000")
    print("All tests passed!")
}

check()
```

func stringXor(a: String, b: String) -> String {
    var result = ""
    for (i, char) in a.enumerated() {
        if char == b[b.index(b.startIndex, offsetBy: i)] {
            result += "0"
        } else {
            result += "1"
        }
    }
    return result
}

func check() {
    assert(stringXor(a: "010", b: "110") == "100")
    assert(stringXor(a: "10101", b: "00111") == "10010")
    assert(stringXor(a: "1111", b: "0000") == "1111")
    assert(stringXor(a: "0000", b: "0000") == "0000")
    print("All tests passed!")
}
```swift
// Input are two strings a and b consisting only of 1s and 0s.
// Perform binary XOR on these inputs and return result also as a string.
// stringXor(a: "010", b: "110") == "100"
func stringXor(a: String, b: String) -> String {
    var result = ""
    for (i, char) in a.enumerated() {
        if char == b[b.index(b.startIndex, offsetBy: i)] {
            result += "0"
        } else {
            result += "1"
        }
    }
    return result
}

// Check function to verify the correctness of the solution
func check() {
    assert(stringXor(a: "010", b: "110") == "100")
    assert(stringXor(a: "10101", b: "00111") == "10010")
    assert(stringXor(a: "1111", b: "0000") == "1111")
    assert(stringXor(a: "0000", b: "0000") == "0000")
    print("All tests passed!")
}

check()
```

func stringXor(a: String, b: String) -> String {
    var result = ""
    for i in 0..<a.count {
        let aBit = a[a.index(a.startIndex, offsetBy: i)]
        let bBit = b[b.index(b.startIndex, offsetBy: i)]
        result += aBit == bBit ? "0" : "1"
    }
    return result
}
```swift
// Input are two strings a and b consisting only of 1s and 0s.
// Perform binary XOR on these inputs and return result also as a string.
// stringXor(a: "010", b: "110") == "100"
func stringXor(a: String, b: String) -> String {
    var result = ""
    for i in 0..<a.count {
        let aBit = a[a.index(a.startIndex, offsetBy: i)]
        let bBit = b[b.index(b.startIndex, offsetBy: i)]
        result += aBit == bBit ? "0" : "1"
    }
    return result
}
```

func stringXor(a: String, b: String) -> String {
    // Convert strings to arrays of characters for easier manipulation.
    let aArray = Array(a)
    let bArray = Array(b)
    var result = ""
    
    // Iterate through each bit of the strings.
    for i in 0..<aArray.count {
        // Perform XOR operation on each pair of bits and append to result.
        if aArray[i] == bArray[i] {
            result += "0"
        } else {
            result += "1"
        }
    }
    
    return result
}
```swift
// Input are two strings a and b consisting only of 1s and 0s.
// Perform binary XOR on these inputs and return result also as a string.
// stringXor(a: "010", b: "110") == "100"
func stringXor(a: String, b: String) -> String {
    // Convert strings to arrays of characters for easier manipulation.
    let aArray = Array(a)
    let bArray = Array(b)
    var result = ""
    
    // Iterate through each bit of the strings.
    for i in 0..<aArray.count {
        // Perform XOR operation on each pair of bits and append to result.
        if aArray[i] == bArray[i] {
            result += "0"
        } else {
            result += "1"
        }
    }
    
    return result
}
```

func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count > $1.count ? $0 : $1 }
}
```swift
// Out of array of strings, return the longest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// longest(strings: [] as [String]) == nil
// longest(strings: ["a", "b", "c"]) == "a"
// longest(strings: ["a", "bb", "ccc"]) == "ccc"
func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count > $1.count ? $0 : $1 }
}
```

 // XCTAssertTrue failed

func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce("", { $0.count >= $1.count ? $0 : $1 })
}
```swift
// Out of array of strings, return the longest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// longest(strings: [] as [String]) == nil
// longest(strings: ["a", "b", "c"]) == "a"
// longest(strings: ["a", "bb", "ccc"]) == "ccc"
func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce("", { $0.count >= $1.count ? $0 : $1 })
}
```

func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.max { $0.count < $1.count }
}

func shortest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.min { $0.count < $1.count }
}
```swift
// Out of array of strings, return the longest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// longest(strings: [] as [String]) == nil
// longest(strings: ["a", "b", "c"]) == "a"
// longest(strings: ["a", "bb", "ccc"]) == "ccc"
func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.max { $0.count < $1.count }
}

// Out of array of strings, return the shortest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// shortest(strings: [] as [String]) == nil
// shortest(strings: ["a", "b", "c"]) == "a"
// shortest(strings: ["aa", "b", "ccc"]) == "b"
func shortest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.min { $0.count < $1.count }
}

// Out of array of strings, return the longest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// longest(strings: [] as [String]) == nil
// longest(strings: ["a", "b", "c"]) == "a"
// longest(strings: ["a", "bb", "ccc"]) == "ccc"
func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.max { $0.count < $1.count }
}

// Out of array of strings, return the shortest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// shortest(strings: [] as [String]) == nil
// shortest(strings: ["a", "b", "c"]) == "a"
// shortest(strings: ["aa", "b", "ccc"]) == "b"
func shortest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.min { $0.count < $1.count }
}
```

func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```swift
// Out of array of strings, return the longest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// longest(strings: [] as [String]) == nil
// longest(strings: ["a", "b", "c"]) == "a"
// longest(strings: ["a", "bb", "ccc"]) == "ccc"
func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```

func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```swift
// Out of array of strings, return the longest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// longest(strings: [] as [String]) == nil
// longest(strings: ["a", "b", "c"]) == "a"
// longest(strings: ["a", "bb", "ccc"]) == "ccc"
func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```

func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```swift
// Out of array of strings, return the longest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// longest(strings: [] as [String]) == nil
// longest(strings: ["a", "b", "c"]) == "a"
// longest(strings: ["a", "bb", "ccc"]) == "ccc"
func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```

func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```swift
// Out of array of strings, return the longest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// longest(strings: [] as [String]) == nil
// longest(strings: ["a", "b", "c"]) == "a"
// longest(strings: ["a", "bb", "ccc"]) == "ccc"
func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```

func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```swift
// Out of array of strings, return the longest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// longest(strings: [] as [String]) == nil
// longest(strings: ["a", "b", "c"]) == "a"
// longest(strings: ["a", "bb", "ccc"]) == "ccc"
func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```

func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    var longestString = strings[0]
    for string in strings {
        if string.count > longestString.count {
            longestString = string
        }
    }
    return longestString
}
```swift
// Out of array of strings, return the longest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// longest(strings: [] as [String]) == nil
// longest(strings: ["a", "b", "c"]) == "a"
// longest(strings: ["a", "bb", "ccc"]) == "ccc"
func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    var longestString = strings[0]
    for string in strings {
        if string.count > longestString.count {
            longestString = string
        }
    }
    return longestString
}
```

func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```swift
// Out of array of strings, return the longest one. Return the first one in case of multiple
// strings of the same length. Return nil in case the input array is empty.
// longest(strings: [] as [String]) == nil
// longest(strings: ["a", "b", "c"]) == "a"
// longest(strings: ["a", "bb", "ccc"]) == "ccc"
func longest(strings: [String]) -> String? {
    guard !strings.isEmpty else { return nil }
    return strings.reduce(strings[0]) { $0.count >= $1.count ? $0 : $1 }
}
```

func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    }
    return greatestCommonDivisor(a: b, b: a % b)
}

func leastCommonMultiple(a: Int, b: Int) -> Int {
    return (a * b) / greatestCommonDivisor(a: a, b: b)
}

func primeNumbers(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2...n {
        var isPrime = true
        for j in 2..<i {
            if i % j == 0 {
                isPrime = false
                break
            }
        }
        if isPrime {
            primes.append(i)
        }
    }
    return primes
}

func primeFactors(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    while num > 1 {
        if num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        } else {
            divisor += 1
        }
    }
    return factors
}

func divisors(n: Int) -> [Int] {
    var divisors = [Int]()
    for i in 1...n {
        if n % i == 0 {
            divisors.append(i)
        }
    }
    return divisors
}

func perfectNumbers(n: Int) -> [Int] {
    var perfects = [Int]()
    for i in 1...n {
        var sum = 0
        for j in 1..<i {
            if i % j == 0 {
                sum += j
            }
        }
        if sum == i {
            perfects.append(i)
        }
    }
    return perfects
}
```swift
// Return a greatest common divisor of two integers a and b
// greatestCommonDivisor(a: 3, b: 5) == 1
// greatestCommonDivisor(a: 25, b: 15) == 5
func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    }
    return greatestCommonDivisor(a: b, b: a % b)
}

// Return a least common multiple of two integers a and b
// leastCommonMultiple(a: 3, b: 5) == 15
// leastCommonMultiple(a: 25, b: 15) == 75
func leastCommonMultiple(a: Int, b: Int) -> Int {
    return (a * b) / greatestCommonDivisor(a: a, b: b)
}

// Return a list of all prime numbers less than or equal to n
// primeNumbers(n: 10) == [2, 3, 5, 7]
// primeNumbers(n: 20) == [2, 3, 5, 7, 11, 13, 17, 19]
func primeNumbers(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2...n {
        var isPrime = true
        for j in 2..<i {
            if i % j == 0 {
                isPrime = false
                break
            }
        }
        if isPrime {
            primes.append(i)
        }
    }
    return primes
}

// Return a list of all prime factors of n
// primeFactors(n: 12) == [2, 2, 3]
// primeFactors(n: 100) == [2, 2, 5, 5]
func primeFactors(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    while num > 1 {
        if num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        } else {
            divisor += 1
        }
    }
    return factors
}

// Return a list of all divisors of n
// divisors(n: 12) == [1, 2, 3, 4, 6, 12]
// divisors(n: 100) == [1, 2, 4, 5, 10, 20, 25, 50, 100]
func divisors(n: Int) -> [Int] {
    var divisors = [Int]()
    for i in 1...n {
        if n % i == 0 {
            divisors.append(i)
        }
    }
    return divisors
}

// Return a list of all perfect numbers less than or equal to n
// perfectNumbers(n: 100) == [6, 28]
// perfectNumbers(n: 1000) == [6, 28, 496]
func perfectNumbers(n: Int) -> [Int] {
    var perfects = [Int]()
    for i in 1...n {
        var sum = 0
        for j in 1..<i {
            if i % j == 0 {
                sum += j
            }
        }
        if sum == i {
            perfects.append(i)
        }
    }
    return perfects
}

// Return a list of all abundant numbers less than or equal to n
// abundantNumbers(n: 100) == [12, 18, 20, 24, 30, 36, 40, 42, 48, 54, 56, 60, 66, 70, 72, 78, 80, 84, 88, 90, 96]
// abundantNumbers(n: 1000) == [12, 18, 20, 24, 30, 36, 40, 42, 48, 54, 56, 60, 66, 70, 72, 78, 80, 84, 88, 90, 96, 100, 102, 104, 108, 112, 114, 120, 126, 132, 138, 140, 144, 150, 156, 160, 162, 168, 174, 176, 180, 186, 192, 196, 198, 200, 2

func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```swift
// Return a greatest common divisor of two integers a and b
// greatestCommonDivisor(a: 3, b: 5) == 1
// greatestCommonDivisor(a: 25, b: 15) == 5
func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```

func greatestCommonDivisor(a: Int, b: Int) -> Int {
    var a = a
    var b = b
    while b != 0 {
        let temp = b
        b = a % b
        a = temp
    }
    return a
}
```swift
// Return a greatest common divisor of two integers a and b
// greatestCommonDivisor(a: 3, b: 5) == 1
// greatestCommonDivisor(a: 25, b: 15) == 5
func greatestCommonDivisor(a: Int, b: Int) -> Int {
    var a = a
    var b = b
    while b != 0 {
        let temp = b
        b = a % b
        a = temp
    }
    return a
}
```

func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```swift
// Return a greatest common divisor of two integers a and b
// greatestCommonDivisor(a: 3, b: 5) == 1
// greatestCommonDivisor(a: 25, b: 15) == 5
func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```

func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```swift
// Return a greatest common divisor of two integers a and b
// greatestCommonDivisor(a: 3, b: 5) == 1
// greatestCommonDivisor(a: 25, b: 15) == 5
func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```

func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```swift
// Return a greatest common divisor of two integers a and b
// greatestCommonDivisor(a: 3, b: 5) == 1
// greatestCommonDivisor(a: 25, b: 15) == 5
func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```

func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    }
    return greatestCommonDivisor(a: b, b: a % b)
}
```swift
// Return a greatest common divisor of two integers a and b
// greatestCommonDivisor(a: 3, b: 5) == 1
// greatestCommonDivisor(a: 25, b: 15) == 5
func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    }
    return greatestCommonDivisor(a: b, b: a % b)
}
```

func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```swift
// Return a greatest common divisor of two integers a and b
// greatestCommonDivisor(a: 3, b: 5) == 1
// greatestCommonDivisor(a: 25, b: 15) == 5
func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```

func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```swift
// Return a greatest common divisor of two integers a and b
// greatestCommonDivisor(a: 3, b: 5) == 1
// greatestCommonDivisor(a: 25, b: 15) == 5
func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return greatestCommonDivisor(a: b, b: a % b)
    }
}
```

func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    }
    return greatestCommonDivisor(a: b, b: a % b)
}

func leastCommonMultiple(a: Int, b: Int) -> Int {
    return (a * b) / greatestCommonDivisor(a: a, b: b)
}

func primeFactors(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    return factors
}

func divisors(n: Int) -> [Int] {
    var divisors = [Int]()
    for i in 1...n {
        if n % i == 0 {
            divisors.append(i)
        }
    }
    return divisors
}

func primes(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2...n {
        var isPrime = true
        for j in 2..<i {
            if i % j == 0 {
                isPrime = false
                break
            }
        }
        if isPrime {
            primes.append(i)
        }
    }
    return primes
}

func perfectNumbers(n: Int) -> [Int] {
    var perfectNumbers = [Int]()
    for i in 1...n {
        var sum = 0
        for j in 1..<i {
            if i % j == 0 {
                sum += j
            }
        }
        if sum == i {
            perfectNumbers.append(i)
        }
    }
    return perfectNumbers
}

func amicableNumbers(n: Int) -> [(Int, Int)] {
    var amicableNumbers = [(Int, Int)]()
    for i in 1...n {
        var sum1 = 0
        for j in 1..<i {
            if i % j == 0 {
                sum1 += j
            }
        }
        var sum2 = 0
        for j in 1..<sum1 {
            if sum1 % j == 0 {
                sum2 += j
            }
        }
        if sum2 == i && i != sum1 {
            amicableNumbers.append((i, sum1))
        }
    }
    return amicableNumbers
}
```swift
// Return a greatest common divisor of two integers a and b
// greatestCommonDivisor(a: 3, b: 5) == 1
// greatestCommonDivisor(a: 25, b: 15) == 5
func greatestCommonDivisor(a: Int, b: Int) -> Int {
    if b == 0 {
        return a
    }
    return greatestCommonDivisor(a: b, b: a % b)
}

// Return a least common multiple of two integers a and b
// leastCommonMultiple(a: 3, b: 5) == 15
// leastCommonMultiple(a: 25, b: 15) == 75
func leastCommonMultiple(a: Int, b: Int) -> Int {
    return (a * b) / greatestCommonDivisor(a: a, b: b)
}

// Return a list of prime factors of a given integer n
// primeFactors(n: 12) == [2, 2, 3]
// primeFactors(n: 315) == [3, 3, 5, 7]
func primeFactors(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    return factors
}

// Return a list of all divisors of a given integer n
// divisors(n: 12) == [1, 2, 3, 4, 6, 12]
// divisors(n: 315) == [1, 3, 5, 7, 9, 15, 21, 35, 45, 63, 105, 315]
func divisors(n: Int) -> [Int] {
    var divisors = [Int]()
    for i in 1...n {
        if n % i == 0 {
            divisors.append(i)
        }
    }
    return divisors
}

// Return a list of all prime numbers up to a given integer n
// primes(n: 10) == [2, 3, 5, 7]
// primes(n: 30) == [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
func primes(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2...n {
        var isPrime = true
        for j in 2..<i {
            if i % j == 0 {
                isPrime = false
                break
            }
        }
        if isPrime {
            primes.append(i)
        }
    }
    return primes
}

// Return a list of all perfect numbers up to a given integer n
// perfectNumbers(n: 1000) == [6, 28, 496]
// perfectNumbers(n: 10000) == [6, 28, 496, 8128]
func perfectNumbers(n: Int) -> [Int] {
    var perfectNumbers = [Int]()
    for i in 1...n {
        var sum = 0
        for j in 1..<i {
            if i % j == 0 {
                sum += j
            }
        }
        if sum == i {
            perfectNumbers.append(i)
        }
    }
    return perfectNumbers
}

// Return a list of all amicable numbers up to a given integer n
// amicableNumbers(n: 1000) == [(220, 284), (1184, 1210)]
// amicableNumbers(n: 10000) == [(220, 284), (1184, 1210), (2620, 2924), (5020, 5564), (6232, 6368)]
func amicableNumbers(n: Int) -> [(Int, Int)] {
    var amicableNumbers = [(Int, Int)]()
    for i in 1...n {
        var sum1 = 0
        for j in 1..<i {
            if i % j == 0 {
                sum1 += j
            }
        }
        var sum2 = 0
        for j in 1..<sum1 {
            if sum1 % j == 0 {
                sum2 += j
            }
        }
        if sum2 == i && i != sum1 {
            amicableNumbers.append((i, sum1))
        }
    }
    return amicableNumbers
}

// Return a list of all narcissistic numbers up to a given integer n
// narcissisticNumbers(n: 1000) == [1, 2,

func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let index = string.index(string.startIndex, offsetBy: i)
        prefixes.append(String(string[..<index]))
    }
    return prefixes
}
```swift
// Return array of all prefixes from shortest to longest of the input string
// allPrefixes(string: "abc") == ["a", "ab", "abc"]
func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let index = string.index(string.startIndex, offsetBy: i)
        prefixes.append(String(string[..<index]))
    }
    return prefixes
}
```

 // XCTAssertTrue failed

func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}
```swift
// Return array of all prefixes from shortest to longest of the input string
// allPrefixes(string: "abc") == ["a", "ab", "abc"]
func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}
```

 // XCTAssertTrue failed

func allPrefixes(string: String) -> [String] {
    var prefixes: [String] = []
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}
```swift
// Return array of all prefixes from shortest to longest of the input string
// allPrefixes(string: "abc") == ["a", "ab", "abc"]
func allPrefixes(string: String) -> [String] {
    var prefixes: [String] = []
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}
```

 // XCTAssertTrue failed

func allPrefixes(string: String) -> [String] {
    var prefixes: [String] = []
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}
```swift
// Return array of all prefixes from shortest to longest of the input string
// allPrefixes(string: "abc") == ["a", "ab", "abc"]
func allPrefixes(string: String) -> [String] {
    var prefixes: [String] = []
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}
```

 // XCTAssertTrue failed

func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}

func allSuffixes(string: String) -> [String] {
    var suffixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(string.endIndex, offsetBy: -i)
        let suffix = String(string[startIndex..<endIndex])
        suffixes.append(suffix)
    }
    return suffixes
}

func allSubstrings(string: String) -> [String] {
    var substrings = [String]()
    for i in 0..<string.count {
        for j in i..<string.count {
            let startIndex = string.index(string.startIndex, offsetBy: i)
            let endIndex = string.index(string.startIndex, offsetBy: j + 1)
            let substring = String(string[startIndex..<endIndex])
            substrings.append(substring)
        }
    }
    return substrings
}
```swift
// Return array of all prefixes from shortest to longest of the input string
// allPrefixes(string: "abc") == ["a", "ab", "abc"]
func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}

// Return array of all suffixes from longest to shortest of the input string
// allSuffixes(string: "abc") == ["abc", "bc", "c"]
func allSuffixes(string: String) -> [String] {
    var suffixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(string.endIndex, offsetBy: -i)
        let suffix = String(string[startIndex..<endIndex])
        suffixes.append(suffix)
    }
    return suffixes
}

// Return array of all substrings of the input string
// allSubstrings(string: "abc") == ["a", "ab", "abc", "b", "bc", "c"]
func allSubstrings(string: String) -> [String] {
    var substrings = [String]()
    for i in 0..<string.count {
        for j in i..<string.count {
            let startIndex = string.index(string.startIndex, offsetBy: i)
            let endIndex = string.index(string.startIndex, offsetBy: j + 1)
            let substring = String(string[startIndex..<endIndex])
            substrings.append(substring)
        }
    }
    return substrings
}
```
 // XCTAssertTrue failed

func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}
```swift
// Return array of all prefixes from shortest to longest of the input string
// allPrefixes(string: "abc") == ["a", "ab", "abc"]
func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}
```

 // XCTAssertTrue failed

func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = string[startIndex..<endIndex]
        prefixes.append(String(prefix))
    }
    return prefixes
}
```swift
// Return array of all prefixes from shortest to longest of the input string
// allPrefixes(string: "abc") == ["a", "ab", "abc"]
func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = string[startIndex..<endIndex]
        prefixes.append(String(prefix))
    }
    return prefixes
}
```

 // XCTAssertTrue failed

func allPrefixes(string: String) -> [String] {
    var prefixes: [String] = []
    var prefix = ""
    for char in string {
        prefix += String(char)
        prefixes.append(prefix)
    }
    return prefixes
}

func allSuffixes(string: String) -> [String] {
    var suffixes: [String] = []
    var suffix = ""
    for char in string.reversed() {
        suffix = String(char) + suffix
        suffixes.append(suffix)
    }
    return suffixes
}

func allSubstrings(string: String) -> [String] {
    var substrings: [String] = []
    for i in 0..<string.count {
        for j in i..<string.count {
            let startIndex = string.index(string.startIndex, offsetBy: i)
            let endIndex = string.index(string.startIndex, offsetBy: j + 1)
            let substring = String(string[startIndex..<endIndex])
            substrings.append(substring)
        }
    }
    return substrings
}
```swift
// Return array of all prefixes from shortest to longest of the input string
// allPrefixes(string: "abc") == ["a", "ab", "abc"]
func allPrefixes(string: String) -> [String] {
    var prefixes: [String] = []
    var prefix = ""
    for char in string {
        prefix += String(char)
        prefixes.append(prefix)
    }
    return prefixes
}

// Return array of all suffixes from longest to shortest of the input string
// allSuffixes(string: "abc") == ["abc", "bc", "c"]
func allSuffixes(string: String) -> [String] {
    var suffixes: [String] = []
    var suffix = ""
    for char in string.reversed() {
        suffix = String(char) + suffix
        suffixes.append(suffix)
    }
    return suffixes
}

// Return array of all substrings of the input string
// allSubstrings(string: "abc") == ["a", "ab", "abc", "b", "bc", "c"]
func allSubstrings(string: String) -> [String] {
    var substrings: [String] = []
    for i in 0..<string.count {
        for j in i..<string.count {
            let startIndex = string.index(string.startIndex, offsetBy: i)
            let endIndex = string.index(string.startIndex, offsetBy: j + 1)
            let substring = String(string[startIndex..<endIndex])
            substrings.append(substring)
        }
    }
    return substrings
}
```

func allPrefixes(string: String) -> [String] {
    var prefixes: [String] = []
    var prefix = ""
    for char in string {
        prefix += String(char)
        prefixes.append(prefix)
    }
    return prefixes
}

func allSuffixes(string: String) -> [String] {
    var suffixes: [String] = []
    var suffix = ""
    for char in string.reversed() {
        suffix = String(char) + suffix
        suffixes.append(suffix)
    }
    return suffixes
}

func allSubstrings(string: String) -> [String] {
    var substrings: [String] = []
    for i in 0..<string.count {
        for j in i..<string.count {
            let startIndex = string.index(string.startIndex, offsetBy: i)
            let endIndex = string.index(string.startIndex, offsetBy: j + 1)
            let substring = String(string[startIndex..<endIndex])
            substrings.append(substring)
        }
    }
    return substrings
}

func allPalindromicSubstrings(string: String) -> [String] {
    var palindromes: [String] = []
    for substring in allSubstrings(string: string) {
        if substring == String(substring.reversed()) {
            palindromes.append(substring)
        }
    }
    return palindromes
}

func allAnagramicSubstrings(string: String) -> [String] {
    var anagrams: [String] = []
    for substring in allSubstrings(string: string) {
        let sortedSubstring = String(substring.sorted())
        if !anagrams.contains(sortedSubstring) {
            anagrams.append(sortedSubstring)
        }
    }
    return anagrams
}

func allAnagramicPalindromicSubstrings(string: String) -> [String] {
    var anagramicPalindromes: [String] = []
    for substring in allSubstrings(string: string) {
        let sortedSubstring = String(substring.sorted())
        if substring == String(substring.reversed()) && !anagramicPalindromes.contains(sortedSubstring) {
            anagramicPalindromes.append(sortedSubstring)
        }
    }
    return anagramicPalindromes
}

func allAnagramicPalindromicSubstringsOfLength3OrMore(string: String) -> [String] {
    var anagramicPalindromes: [String] = []
    for substring in allSubstrings(string: string) {
        let sortedSubstring = String(substring.sorted())
        if substring == String(substring.reversed()) && substring.count >= 3 && !anagramicPalindromes.contains(sortedSubstring) {
            anagramicPalindromes.append(sortedSubstring)
        }
    }
    return anagramicPalindromes
}
```swift
// Return array of all prefixes from shortest to longest of the input string
// allPrefixes(string: "abc") == ["a", "ab", "abc"]
func allPrefixes(string: String) -> [String] {
    var prefixes: [String] = []
    var prefix = ""
    for char in string {
        prefix += String(char)
        prefixes.append(prefix)
    }
    return prefixes
}

// Return array of all suffixes from longest to shortest of the input string
// allSuffixes(string: "abc") == ["abc", "bc", "c"]
func allSuffixes(string: String) -> [String] {
    var suffixes: [String] = []
    var suffix = ""
    for char in string.reversed() {
        suffix = String(char) + suffix
        suffixes.append(suffix)
    }
    return suffixes
}

// Return array of all substrings of the input string
// allSubstrings(string: "abc") == ["a", "ab", "abc", "b", "bc", "c"]
func allSubstrings(string: String) -> [String] {
    var substrings: [String] = []
    for i in 0..<string.count {
        for j in i..<string.count {
            let startIndex = string.index(string.startIndex, offsetBy: i)
            let endIndex = string.index(string.startIndex, offsetBy: j + 1)
            let substring = String(string[startIndex..<endIndex])
            substrings.append(substring)
        }
    }
    return substrings
}

// Return array of all substrings of the input string that are palindromes
// allPalindromicSubstrings(string: "abcba") == ["a", "b", "c", "b", "a", "abcba"]
func allPalindromicSubstrings(string: String) -> [String] {
    var palindromes: [String] = []
    for substring in allSubstrings(string: string) {
        if substring == String(substring.reversed()) {
            palindromes.append(substring)
        }
    }
    return palindromes
}

// Return array of all substrings of the input string that are anagrams of each other
// allAnagramicSubstrings(string: "abc") == ["a", "b", "c", "ab", "bc", "ac"]
func allAnagramicSubstrings(string: String) -> [String] {
    var anagrams: [String] = []
    for substring in allSubstrings(string: string) {
        let sortedSubstring = String(substring.sorted())
        if !anagrams.contains(sortedSubstring) {
            anagrams.append(sortedSubstring)
        }
    }
    return anagrams
}

// Return array of all substrings of the input string that are anagrams of each other and palindromes
// allAnagramicPalindromicSubstrings(string: "abcba") == ["a", "b", "c", "b", "a", "abcba"]
func allAnagramicPalindromicSubstrings(string: String) -> [String] {
    var anagramicPalindromes: [String] = []
    for substring in allSubstrings(string: string) {
        let sortedSubstring = String(substring.sorted())
        if substring == String(substring.reversed()) && !anagramicPalindromes.contains(sortedSubstring) {
            anagramicPalindromes.append(sortedSubstring)
        }
    }
    return anagramicPalindromes
}

// Return array of all substrings of the input string that are anagrams of each other and palindromes and have a length of 3 or more
// allAnagramicPalindromicSubstringsOfLength3OrMore(string: "abcba") == ["abcba"]
func allAnagramicPalindromicSubstringsOfLength3OrMore(string: String) -> [String] {
    var anagramicPalindromes: [String] = []
    for substring in allSubstrings(string: string) {
        let sortedSubstring = String(substring.sorted())
        if substring == String(substring.reversed()) && substring.count >= 3 && !anagramicPalindromes.contains(sortedSubstring) {
            anagramicPalindromes.append(sortedSubstring)
        }
    }
    return anagramicPalindromes
}

// Return array of all substrings of the input string that are anagrams of each other and palindromes and have a length of 3 or more and are not palindromes of length 1
// allAnagramicPalindromicSubstringsOfLength3OrMoreNotPalindromesOfLength1(string: "abcba") == ["abcba"]
func allAnagramicPalindromicSubstringsOfLength3OrMoreNotPalindromesOfLength1(string: String) -> [String] {
    var anagramicPalindromes: [String] = []
    for substring in allSubstrings(string: string) {
        let sortedSubstring = String(substring.sorted

func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}

func allSuffixes(string: String) -> [String] {
    var suffixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: string.count - i)
        let suffix = String(string[startIndex..<endIndex])
        suffixes.append(suffix)
    }
    return suffixes
}

func allSubstrings(string: String) -> [String] {
    var substrings = [String]()
    for i in 0..<string.count {
        for j in i..<string.count {
            let startIndex = string.index(string.startIndex, offsetBy: i)
            let endIndex = string.index(string.startIndex, offsetBy: j + 1)
            let substring = String(string[startIndex..<endIndex])
            substrings.append(substring)
        }
    }
    return substrings
}
```swift
// Return array of all prefixes from shortest to longest of the input string
// allPrefixes(string: "abc") == ["a", "ab", "abc"]
func allPrefixes(string: String) -> [String] {
    var prefixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: 1)
        let prefix = String(string[startIndex..<endIndex])
        prefixes.append(prefix)
    }
    return prefixes
}

// Return array of all suffixes from longest to shortest of the input string
// allSuffixes(string: "abc") == ["abc", "bc", "c"]
func allSuffixes(string: String) -> [String] {
    var suffixes = [String]()
    for i in 0..<string.count {
        let startIndex = string.index(string.startIndex, offsetBy: i)
        let endIndex = string.index(startIndex, offsetBy: string.count - i)
        let suffix = String(string[startIndex..<endIndex])
        suffixes.append(suffix)
    }
    return suffixes
}

// Return array of all substrings of the input string
// allSubstrings(string: "abc") == ["a", "ab", "abc", "b", "bc", "c"]
func allSubstrings(string: String) -> [String] {
    var substrings = [String]()
    for i in 0..<string.count {
        for j in i..<string.count {
            let startIndex = string.index(string.startIndex, offsetBy: i)
            let endIndex = string.index(string.startIndex, offsetBy: j + 1)
            let substring = String(string[startIndex..<endIndex])
            substrings.append(substring)
        }
    }
    return substrings
}
```

 // XCTAssertTrue failed

func stringSequence(n: Int) -> String {
    return (0...n).map(String.init).joined(separator: " ")
}
```swift
// Return a string containing space-delimited numbers starting from 0 upto n inclusive.
// stringSequence(n: 0) == "0"
// stringSequence(n: 5) == "0 1 2 3 4 5"
func stringSequence(n: Int) -> String {
    return (0...n).map(String.init).joined(separator: " ")
}

// Test cases
print(stringSequence(n: 0)) // "0"
print(stringSequence(n: 5)) // "0 1 2 3 4 5"
```

func stringSequence(n: Int) -> String {
    var result = ""
    for i in 0...n {
        result += "\(i) "
    }
    return result.trimmingCharacters(in: .whitespaces)
}
```swift
// Return a string containing space-delimited numbers starting from 0 upto n inclusive.
// stringSequence(n: 0) == "0"
// stringSequence(n: 5) == "0 1 2 3 4 5"
func stringSequence(n: Int) -> String {
    var result = ""
    for i in 0...n {
        result += "\(i) "
    }
    return result.trimmingCharacters(in: .whitespaces)
}
```

func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}
```swift
// Return a string containing space-delimited numbers starting from 0 upto n inclusive.
// stringSequence(n: 0) == "0"
// stringSequence(n: 5) == "0 1 2 3 4 5"
func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}
```

func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}
```swift
// Return a string containing space-delimited numbers starting from 0 upto n inclusive.
// stringSequence(n: 0) == "0"
// stringSequence(n: 5) == "0 1 2 3 4 5"
func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}
```

func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}
```swift
// Return a string containing space-delimited numbers starting from 0 upto n inclusive.
// stringSequence(n: 0) == "0"
// stringSequence(n: 5) == "0 1 2 3 4 5"
func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}
```

func stringSequence(n: Int) -> String {
    return (0...n).map(String.init).joined(separator: " ")
}
```swift
// Return a string containing space-delimited numbers starting from 0 upto n inclusive.
// stringSequence(n: 0) == "0"
// stringSequence(n: 5) == "0 1 2 3 4 5"
func stringSequence(n: Int) -> String {
    return (0...n).map(String.init).joined(separator: " ")
}

// Example usage:
print(stringSequence(n: 0)) // Output: "0"
print(stringSequence(n: 5)) // Output: "0 1 2 3 4 5"
```

func stringSequence(n: Int) -> String {
    var result = ""
    for i in 0...n {
        result += "\(i) "
    }
    return result.trimmingCharacters(in: .whitespaces)
}
```swift
// Return a string containing space-delimited numbers starting from 0 upto n inclusive.
// stringSequence(n: 0) == "0"
// stringSequence(n: 5) == "0 1 2 3 4 5"
func stringSequence(n: Int) -> String {
    var result = ""
    for i in 0...n {
        result += "\(i) "
    }
    return result.trimmingCharacters(in: .whitespaces)
}

// Test cases
print(stringSequence(n: 0)) // Output: "0"
print(stringSequence(n: 5)) // Output: "0 1 2 3 4 5"
```

func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}
```swift
// Return a string containing space-delimited numbers starting from 0 upto n inclusive.
// stringSequence(n: 0) == "0"
// stringSequence(n: 5) == "0 1 2 3 4 5"
func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}
```

func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}
```swift
// Return a string containing space-delimited numbers starting from 0 upto n inclusive.
// stringSequence(n: 0) == "0"
// stringSequence(n: 5) == "0 1 2 3 4 5"
func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}
```

func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}
```swift
// Return a string containing space-delimited numbers starting from 0 upto n inclusive.
// stringSequence(n: 0) == "0"
// stringSequence(n: 5) == "0 1 2 3 4 5"
func stringSequence(n: Int) -> String {
    return (0...n).map { String($0) }.joined(separator: " ")
}

// Test cases
print(stringSequence(n: 0)) // Output: "0"
print(stringSequence(n: 5)) // Output: "0 1 2 3 4 5"
```

func countDistinctCharacters(string: String) -> Int {
    // Your code here
}
```swift
// Given a string, find out how many distinct characters (regardless of case) does it consist of
// countDistinctCharacters(string: "xyzXYZ") == 3
// countDistinctCharacters(string: "Jerry") == 4
func countDistinctCharacters(string: String) -> Int {
    // Your code here
}
```

} // missing return in global function expected to return 'Int'

func countDistinctCharacters(string: String) -> Int {
    var charSet = Set<Character>()
    for char in string.lowercased() {
        charSet.insert(char)
    }
    return charSet.count
}
```swift
// Given a string, find out how many distinct characters (regardless of case) does it consist of
// countDistinctCharacters(string: "xyzXYZ") == 3
// countDistinctCharacters(string: "Jerry") == 4
func countDistinctCharacters(string: String) -> Int {
    var charSet = Set<Character>()
    for char in string.lowercased() {
        charSet.insert(char)
    }
    return charSet.count
}
```

func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase to ignore case differences
    let lowercasedString = string.lowercased()
    // Use a Set to store unique characters
    let uniqueCharacters = Set(lowercasedString)
    // Return the count of unique characters
    return uniqueCharacters.count
}
```swift
// Given a string, find out how many distinct characters (regardless of case) does it consist of
// countDistinctCharacters(string: "xyzXYZ") == 3
// countDistinctCharacters(string: "Jerry") == 4
func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase to ignore case differences
    let lowercasedString = string.lowercased()
    // Use a Set to store unique characters
    let uniqueCharacters = Set(lowercasedString)
    // Return the count of unique characters
    return uniqueCharacters.count
}
```

func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase to ignore case
    let lowercasedString = string.lowercased()
    // Create a set to store distinct characters
    var distinctCharacters = Set<Character>()
    // Iterate through each character in the string
    for char in lowercasedString {
        // Add the character to the set
        distinctCharacters.insert(char)
    }
    // Return the count of distinct characters
    return distinctCharacters.count
}
```swift
// Given a string, find out how many distinct characters (regardless of case) does it consist of
// countDistinctCharacters(string: "xyzXYZ") == 3
// countDistinctCharacters(string: "Jerry") == 4
func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase to ignore case
    let lowercasedString = string.lowercased()
    // Create a set to store distinct characters
    var distinctCharacters = Set<Character>()
    // Iterate through each character in the string
    for char in lowercasedString {
        // Add the character to the set
        distinctCharacters.insert(char)
    }
    // Return the count of distinct characters
    return distinctCharacters.count
}
```

func countDistinctCharacters(string: String) -> Int {
    let lowercasedString = string.lowercased()
    var distinctCharacters: Set<Character> = []
    for character in lowercasedString {
        distinctCharacters.insert(character)
    }
    return distinctCharacters.count
}
```swift
// Given a string, find out how many distinct characters (regardless of case) does it consist of
// countDistinctCharacters(string: "xyzXYZ") == 3
// countDistinctCharacters(string: "Jerry") == 4
func countDistinctCharacters(string: String) -> Int {
    let lowercasedString = string.lowercased()
    var distinctCharacters: Set<Character> = []
    for character in lowercasedString {
        distinctCharacters.insert(character)
    }
    return distinctCharacters.count
}
```

func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase to ignore case differences
    let lowercaseString = string.lowercased()
    // Use a Set to store unique characters
    let uniqueCharacters = Set(lowercaseString)
    // Return the count of unique characters
    return uniqueCharacters.count
}

func check() {
    assert(countDistinctCharacters(string: "xyzXYZ") == 3, "Test case 1 failed")
    assert(countDistinctCharacters(string: "Jerry") == 4, "Test case 2 failed")
    assert(countDistinctCharacters(string: "Apple") == 4, "Test case 3 failed")
    assert(countDistinctCharacters(string: "12345") == 5, "Test case 4 failed")
    assert(countDistinctCharacters(string: "") == 0, "Test case 5 failed")
    print("All test cases passed!")
}
```swift
// Given a string, find out how many distinct characters (regardless of case) does it consist of
// countDistinctCharacters(string: "xyzXYZ") == 3
// countDistinctCharacters(string: "Jerry") == 4
func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase to ignore case differences
    let lowercaseString = string.lowercased()
    // Use a Set to store unique characters
    let uniqueCharacters = Set(lowercaseString)
    // Return the count of unique characters
    return uniqueCharacters.count
}

// Check function to verify the correctness of the solution
func check() {
    assert(countDistinctCharacters(string: "xyzXYZ") == 3, "Test case 1 failed")
    assert(countDistinctCharacters(string: "Jerry") == 4, "Test case 2 failed")
    assert(countDistinctCharacters(string: "Apple") == 4, "Test case 3 failed")
    assert(countDistinctCharacters(string: "12345") == 5, "Test case 4 failed")
    assert(countDistinctCharacters(string: "") == 0, "Test case 5 failed")
    print("All test cases passed!")
}

// Run the check function to verify the solution
check()
```

func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase and remove duplicates
    let lowercaseString = string.lowercased()
    let uniqueCharacters = Set(lowercaseString)
    
    // Return the count of unique characters
    return uniqueCharacters.count
}
```swift
// Given a string, find out how many distinct characters (regardless of case) does it consist of
// countDistinctCharacters(string: "xyzXYZ") == 3
// countDistinctCharacters(string: "Jerry") == 4
func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase and remove duplicates
    let lowercaseString = string.lowercased()
    let uniqueCharacters = Set(lowercaseString)
    
    // Return the count of unique characters
    return uniqueCharacters.count
}
```

func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase and remove duplicates
    let lowercaseString = string.lowercased()
    let uniqueCharacters = Set(lowercaseString)
    
    // Return the count of unique characters
    return uniqueCharacters.count
}
```swift
// Given a string, find out how many distinct characters (regardless of case) does it consist of
// countDistinctCharacters(string: "xyzXYZ") == 3
// countDistinctCharacters(string: "Jerry") == 4
func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase and remove duplicates
    let lowercaseString = string.lowercased()
    let uniqueCharacters = Set(lowercaseString)
    
    // Return the count of unique characters
    return uniqueCharacters.count
}

// Test cases
print(countDistinctCharacters(string: "xyzXYZ")) // Output: 3
print(countDistinctCharacters(string: "Jerry")) // Output: 4
```

func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase to ignore case differences
    let lowercasedString = string.lowercased()
    
    // Use a Set to store unique characters
    let uniqueCharacters = Set(lowercasedString)
    
    // Return the count of unique characters
    return uniqueCharacters.count
}
```swift
// Given a string, find out how many distinct characters (regardless of case) does it consist of
// countDistinctCharacters(string: "xyzXYZ") == 3
// countDistinctCharacters(string: "Jerry") == 4
func countDistinctCharacters(string: String) -> Int {
    // Convert the string to lowercase to ignore case differences
    let lowercasedString = string.lowercased()
    
    // Use a Set to store unique characters
    let uniqueCharacters = Set(lowercasedString)
    
    // Return the count of unique characters
    return uniqueCharacters.count
}
```

func countDistinctCharacters(string: String) -> Int {
    let lowercasedString = string.lowercased()
    let uniqueCharacters = Set(lowercasedString)
    return uniqueCharacters.count
}
```swift
// Given a string, find out how many distinct characters (regardless of case) does it consist of
// countDistinctCharacters(string: "xyzXYZ") == 3
// countDistinctCharacters(string: "Jerry") == 4
func countDistinctCharacters(string: String) -> Int {
    let lowercasedString = string.lowercased()
    let uniqueCharacters = Set(lowercasedString)
    return uniqueCharacters.count
}

// Test cases
print(countDistinctCharacters(string: "xyzXYZ")) // 3
print(countDistinctCharacters(string: "Jerry")) // 4
```

func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```swift
// Input to this function is a string representing musical notes in a special ASCII format.
// Your task is to parse this string and return array of integers corresponding to how many beats does each
// not last.
// Here is a legend:
// 'o' - whole note, lasts four beats
// 'o|' - half note, lasts two beats
// '.|' - quater note, lasts one beat
// parseMusic(musicString: "o o| .| o| o| .| .| .| .| o o") == [4, 2, 1, 2, 2, 1, 1, 1, 1, 4, 4]
func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```

func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```swift
// Input to this function is a string representing musical notes in a special ASCII format.
// Your task is to parse this string and return array of integers corresponding to how many beats does each
// not last.
// Here is a legend:
// 'o' - whole note, lasts four beats
// 'o|' - half note, lasts two beats
// '.|' - quater note, lasts one beat
// parseMusic(musicString: "o o| .| o| o| .| .| .| .| o o") == [4, 2, 1, 2, 2, 1, 1, 1, 1, 4, 4]
func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```

func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```swift
// Input to this function is a string representing musical notes in a special ASCII format.
// Your task is to parse this string and return array of integers corresponding to how many beats does each
// not last.
// Here is a legend:
// 'o' - whole note, lasts four beats
// 'o|' - half note, lasts two beats
// '.|' - quater note, lasts one beat
// parseMusic(musicString: "o o| .| o| o| .| .| .| .| o o") == [4, 2, 1, 2, 2, 1, 1, 1, 1, 4, 4]
func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```

func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```swift
// Input to this function is a string representing musical notes in a special ASCII format.
// Your task is to parse this string and return array of integers corresponding to how many beats does each
// not last.
// Here is a legend:
// 'o' - whole note, lasts four beats
// 'o|' - half note, lasts two beats
// '.|' - quater note, lasts one beat
// parseMusic(musicString: "o o| .| o| o| .| .| .| .| o o") == [4, 2, 1, 2, 2, 1, 1, 1, 1, 4, 4]
func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```

func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```swift
// Input to this function is a string representing musical notes in a special ASCII format.
// Your task is to parse this string and return array of integers corresponding to how many beats does each
// not last.
// Here is a legend:
// 'o' - whole note, lasts four beats
// 'o|' - half note, lasts two beats
// '.|' - quater note, lasts one beat
// parseMusic(musicString: "o o| .| o| o| .| .| .| .| o o") == [4, 2, 1, 2, 2, 1, 1, 1, 1, 4, 4]
func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```

func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```swift
// Input to this function is a string representing musical notes in a special ASCII format.
// Your task is to parse this string and return array of integers corresponding to how many beats does each
// not last.
// Here is a legend:
// 'o' - whole note, lasts four beats
// 'o|' - half note, lasts two beats
// '.|' - quater note, lasts one beat
// parseMusic(musicString: "o o| .| o| o| .| .| .| .| o o") == [4, 2, 1, 2, 2, 1, 1, 1, 1, 4, 4]
func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```

func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```swift
// Input to this function is a string representing musical notes in a special ASCII format.
// Your task is to parse this string and return array of integers corresponding to how many beats does each
// not last.
// Here is a legend:
// 'o' - whole note, lasts four beats
// 'o|' - half note, lasts two beats
// '.|' - quater note, lasts one beat
// parseMusic(musicString: "o o| .| o| o| .| .| .| .| o o") == [4, 2, 1, 2, 2, 1, 1, 1, 1, 4, 4]
func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```

func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```swift
// Input to this function is a string representing musical notes in a special ASCII format.
// Your task is to parse this string and return array of integers corresponding to how many beats does each
// not last.
// Here is a legend:
// 'o' - whole note, lasts four beats
// 'o|' - half note, lasts two beats
// '.|' - quater note, lasts one beat
// parseMusic(musicString: "o o| .| o| o| .| .| .| .| o o") == [4, 2, 1, 2, 2, 1, 1, 1, 1, 4, 4]
func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```

func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```swift
// Input to this function is a string representing musical notes in a special ASCII format.
// Your task is to parse this string and return array of integers corresponding to how many beats does each
// not last.
// Here is a legend:
// 'o' - whole note, lasts four beats
// 'o|' - half note, lasts two beats
// '.|' - quater note, lasts one beat
// parseMusic(musicString: "o o| .| o| o| .| .| .| .| o o") == [4, 2, 1, 2, 2, 1, 1, 1, 1, 4, 4]
func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```

func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```swift
// Input to this function is a string representing musical notes in a special ASCII format.
// Your task is to parse this string and return array of integers corresponding to how many beats does each
// not last.
// Here is a legend:
// 'o' - whole note, lasts four beats
// 'o|' - half note, lasts two beats
// '.|' - quater note, lasts one beat
// parseMusic(musicString: "o o| .| o| o| .| .| .| .| o o") == [4, 2, 1, 2, 2, 1, 1, 1, 1, 4, 4]
func parseMusic(musicString: String) -> [Int] {
    let notes = musicString.components(separatedBy: " ")
    var beats = [Int]()
    for note in notes {
        switch note {
        case "o":
            beats.append(4)
        case "o|":
            beats.append(2)
        case ".|":
            beats.append(1)
        default:
            break
        }
    }
    return beats
}
```

func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(after: index)
        } else {
            index = string.index(after: index)
        }
    }
    
    return count
}
```swift
// Find how many times a given substring can be found in the original string. Count overlaping cases.
// howManyTimes(string: "", substring: "a") == 0
// howManyTimes(string: "aaa", substring: "a") == 3
// howManyTimes(string: "aaaa", substring: "aa") == 3
func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(after: index)
        } else {
            index = string.index(after: index)
        }
    }
    
    return count
}
```

func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while index < string.endIndex {
        if let range = string.range(of: substring, options: .literal, range: index..<string.endIndex) {
            count += 1
            index = string.index(after: range.lowerBound)
        } else {
            break
        }
    }
    return count
}
```swift
// Find how many times a given substring can be found in the original string. Count overlaping cases.
// howManyTimes(string: "", substring: "a") == 0
// howManyTimes(string: "aaa", substring: "a") == 3
// howManyTimes(string: "aaaa", substring: "aa") == 3
func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while index < string.endIndex {
        if let range = string.range(of: substring, options: .literal, range: index..<string.endIndex) {
            count += 1
            index = string.index(after: range.lowerBound)
        } else {
            break
        }
    }
    return count
}
```

func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while let range = string.range(of: substring, range: index..<string.endIndex) {
        count += 1
        index = string.index(after: range.lowerBound)
    }
    return count
}
```swift
// Find how many times a given substring can be found in the original string. Count overlaping cases.
// howManyTimes(string: "", substring: "a") == 0
// howManyTimes(string: "aaa", substring: "a") == 3
// howManyTimes(string: "aaaa", substring: "aa") == 3
func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while let range = string.range(of: substring, range: index..<string.endIndex) {
        count += 1
        index = string.index(after: range.lowerBound)
    }
    return count
}
```

func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(after: index)
        } else {
            index = string.index(after: index)
        }
    }
    return count
}
```swift
// Find how many times a given substring can be found in the original string. Count overlaping cases.
// howManyTimes(string: "", substring: "a") == 0
// howManyTimes(string: "aaa", substring: "a") == 3
// howManyTimes(string: "aaaa", substring: "aa") == 3
func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(after: index)
        } else {
            index = string.index(after: index)
        }
    }
    return count
}
```

func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(after: index)
        } else {
            index = string.index(after: index)
        }
    }
    return count
}
```swift
// Find how many times a given substring can be found in the original string. Count overlaping cases.
// howManyTimes(string: "", substring: "a") == 0
// howManyTimes(string: "aaa", substring: "a") == 3
// howManyTimes(string: "aaaa", substring: "aa") == 3
func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(after: index)
        } else {
            index = string.index(after: index)
        }
    }
    return count
}
```

func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while index < string.endIndex {
        if let range = string.range(of: substring, options: .literal, range: index..<string.endIndex) {
            count += 1
            index = string.index(after: range.lowerBound)
        } else {
            break
        }
    }
    return count
}
```swift
// Find how many times a given substring can be found in the original string. Count overlaping cases.
// howManyTimes(string: "", substring: "a") == 0
// howManyTimes(string: "aaa", substring: "a") == 3
// howManyTimes(string: "aaaa", substring: "aa") == 3
func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while index < string.endIndex {
        if let range = string.range(of: substring, options: .literal, range: index..<string.endIndex) {
            count += 1
            index = string.index(after: range.lowerBound)
        } else {
            break
        }
    }
    return count
}
```

func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(after: index)
        } else {
            index = string.index(after: index)
        }
    }
    return count
}
```swift
// Find how many times a given substring can be found in the original string. Count overlaping cases.
// howManyTimes(string: "", substring: "a") == 0
// howManyTimes(string: "aaa", substring: "a") == 3
// howManyTimes(string: "aaaa", substring: "aa") == 3
func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(after: index)
        } else {
            index = string.index(after: index)
        }
    }
    return count
}
```

func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while let range = string.range(of: substring, range: index..<string.endIndex) {
        count += 1
        index = range.upperBound
    }
    return count
}
```swift
// Find how many times a given substring can be found in the original string. Count overlaping cases.
// howManyTimes(string: "", substring: "a") == 0
// howManyTimes(string: "aaa", substring: "a") == 3
// howManyTimes(string: "aaaa", substring: "aa") == 3
func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    while let range = string.range(of: substring, range: index..<string.endIndex) {
        count += 1
        index = range.upperBound
    }
    return count
}
```

 // XCTAssertTrue failed

func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(after: index)
        } else {
            index = string.index(after: index)
        }
    }
    
    return count
}
```swift
// Find how many times a given substring can be found in the original string. Count overlaping cases.
// howManyTimes(string: "", substring: "a") == 0
// howManyTimes(string: "aaa", substring: "a") == 3
// howManyTimes(string: "aaaa", substring: "aa") == 3
func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(after: index)
        } else {
            index = string.index(after: index)
        }
    }
    
    return count
}
```

func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(index, offsetBy: substring.count)
        } else {
            index = string.index(after: index)
        }
    }
    
    return count
}
```swift
// Find how many times a given substring can be found in the original string. Count overlaping cases.
// howManyTimes(string: "", substring: "a") == 0
// howManyTimes(string: "aaa", substring: "a") == 3
// howManyTimes(string: "aaaa", substring: "aa") == 3
func howManyTimes(string: String, substring: String) -> Int {
    var count = 0
    var index = string.startIndex
    
    while index < string.endIndex {
        if string[index...].hasPrefix(substring) {
            count += 1
            index = string.index(index, offsetBy: substring.count)
        } else {
            index = string.index(after: index)
        }
    }
    
    return count
}
```

 // XCTAssertTrue failed

func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numbersArray = numbers.split(separator: " ")
    let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! }
    return sortedNumbers.joined(separator: " ")
}
```swift
// Input is a space-delimited string of numberals from 'zero' to 'nine'.
// Valid choices are 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight' and 'nine'.
// Return the string with numbers sorted from smallest to largest
// sortNumbers(numbers: "three one five") == "one three five"
func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numbersArray = numbers.split(separator: " ")
    let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! }
    return sortedNumbers.joined(separator: " ")
}
```

let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! } // type '(String, String) -> Bool' cannot conform to 'SortComparator'
let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! } // instance method 'sorted(using:)' requires the types 'String.SubSequence' (aka 'Substring') and '((String, String) -> Bool).Compared' be equivalent

func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numberArray = numbers.split(separator: " ").map { numberMap[String($0)]! }
    let sortedNumbers = numberArray.sorted()
    let sortedNumberStrings = sortedNumbers.map { numberMap.first(where: { $0.value == $1 })!.key }
    return sortedNumberStrings.joined(separator: " ")
}
```swift
// Input is a space-delimited string of numberals from 'zero' to 'nine'.
// Valid choices are 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight' and 'nine'.
// Return the string with numbers sorted from smallest to largest
// sortNumbers(numbers: "three one five") == "one three five"
func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numberArray = numbers.split(separator: " ").map { numberMap[String($0)]! }
    let sortedNumbers = numberArray.sorted()
    let sortedNumberStrings = sortedNumbers.map { numberMap.first(where: { $0.value == $1 })!.key }
    return sortedNumberStrings.joined(separator: " ")
}
```

let sortedNumberStrings = sortedNumbers.map { numberMap.first(where: { $0.value == $1 })!.key } // value of type 'String' has no member 'value'
let sortedNumberStrings = sortedNumbers.map { numberMap.first(where: { $0.value == $1 })!.key } // contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored

func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numbersArray = numbers.split(separator: " ")
    let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! }
    return sortedNumbers.joined(separator: " ")
}
```swift
// Input is a space-delimited string of numberals from 'zero' to 'nine'.
// Valid choices are 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight' and 'nine'.
// Return the string with numbers sorted from smallest to largest
// sortNumbers(numbers: "three one five") == "one three five"
func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numbersArray = numbers.split(separator: " ")
    let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! }
    return sortedNumbers.joined(separator: " ")
}
```

let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! } // type '(String, String) -> Bool' cannot conform to 'SortComparator'
let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! } // instance method 'sorted(using:)' requires the types 'String.SubSequence' (aka 'Substring') and '((String, String) -> Bool).Compared' be equivalent

func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numbersArray = numbers.split(separator: " ")
    let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! }
    return sortedNumbers.joined(separator: " ")
}
```swift
// Input is a space-delimited string of numberals from 'zero' to 'nine'.
// Valid choices are 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight' and 'nine'.
// Return the string with numbers sorted from smallest to largest
// sortNumbers(numbers: "three one five") == "one three five"
func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numbersArray = numbers.split(separator: " ")
    let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! }
    return sortedNumbers.joined(separator: " ")
}
```

let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! } // type '(String, String) -> Bool' cannot conform to 'SortComparator'
let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! } // instance method 'sorted(using:)' requires the types 'String.SubSequence' (aka 'Substring') and '((String, String) -> Bool).Compared' be equivalent

func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = [
        "zero": 0,
        "one": 1,
        "two": 2,
        "three": 3,
        "four": 4,
        "five": 5,
        "six": 6,
        "seven": 7,
        "eight": 8,
        "nine": 9
    ]
    
    let numberArray = numbers.split(separator: " ").map { numberMap[String($0)]! }
    let sortedNumberArray = numberArray.sorted()
    
    var sortedNumbers = ""
    for number in sortedNumberArray {
        for (key, value) in numberMap {
            if value == number {
                sortedNumbers += key + " "
                break
            }
        }
    }
    
    return String(sortedNumbers.dropLast())
}
```swift
// Input is a space-delimited string of numberals from 'zero' to 'nine'.
// Valid choices are 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight' and 'nine'.
// Return the string with numbers sorted from smallest to largest
// sortNumbers(numbers: "three one five") == "one three five"
func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = [
        "zero": 0,
        "one": 1,
        "two": 2,
        "three": 3,
        "four": 4,
        "five": 5,
        "six": 6,
        "seven": 7,
        "eight": 8,
        "nine": 9
    ]
    
    let numberArray = numbers.split(separator: " ").map { numberMap[String($0)]! }
    let sortedNumberArray = numberArray.sorted()
    
    var sortedNumbers = ""
    for number in sortedNumberArray {
        for (key, value) in numberMap {
            if value == number {
                sortedNumbers += key + " "
                break
            }
        }
    }
    
    return String(sortedNumbers.dropLast())
}
```

func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = [
        "zero": 0,
        "one": 1,
        "two": 2,
        "three": 3,
        "four": 4,
        "five": 5,
        "six": 6,
        "seven": 7,
        "eight": 8,
        "nine": 9
    ]
    
    let numberStrings = numbers.split(separator: " ")
    let sortedNumbers = numberStrings.sorted { numberMap[String($0)]! < numberMap[String($1)]! }
    return sortedNumbers.joined(separator: " ")
}
```swift
// Input is a space-delimited string of numberals from 'zero' to 'nine'.
// Valid choices are 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight' and 'nine'.
// Return the string with numbers sorted from smallest to largest
// sortNumbers(numbers: "three one five") == "one three five"
func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = [
        "zero": 0,
        "one": 1,
        "two": 2,
        "three": 3,
        "four": 4,
        "five": 5,
        "six": 6,
        "seven": 7,
        "eight": 8,
        "nine": 9
    ]
    
    let numberStrings = numbers.split(separator: " ")
    let sortedNumbers = numberStrings.sorted { numberMap[String($0)]! < numberMap[String($1)]! }
    return sortedNumbers.joined(separator: " ")
}
```

func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numberArray = numbers.split(separator: " ").map { numberMap[String($0)]! }
    let sortedNumbers = numberArray.sorted()
    let sortedNumberStrings = sortedNumbers.map { String($0) }
    return sortedNumberStrings.joined(separator: " ")
}
```swift
// Input is a space-delimited string of numberals from 'zero' to 'nine'.
// Valid choices are 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight' and 'nine'.
// Return the string with numbers sorted from smallest to largest
// sortNumbers(numbers: "three one five") == "one three five"
func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numberArray = numbers.split(separator: " ").map { numberMap[String($0)]! }
    let sortedNumbers = numberArray.sorted()
    let sortedNumberStrings = sortedNumbers.map { String($0) }
    return sortedNumberStrings.joined(separator: " ")
}
```

 // XCTAssertTrue failed

func sortNumbers(numbers: String) -> String {
    let numeralMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numerals = numbers.split(separator: " ")
    let sortedNumerals = numerals.sorted { numeralMap[$0]! < numeralMap[$1]! }
    return sortedNumerals.joined(separator: " ")
}
```swift
// Input is a space-delimited string of numberals from 'zero' to 'nine'.
// Valid choices are 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight' and 'nine'.
// Return the string with numbers sorted from smallest to largest
// sortNumbers(numbers: "three one five") == "one three five"
func sortNumbers(numbers: String) -> String {
    let numeralMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numerals = numbers.split(separator: " ")
    let sortedNumerals = numerals.sorted { numeralMap[$0]! < numeralMap[$1]! }
    return sortedNumerals.joined(separator: " ")
}
```

let sortedNumerals = numerals.sorted { numeralMap[$0]! < numeralMap[$1]! } // instance method 'sorted(using:)' requires the types 'String.SubSequence' (aka 'Substring') and '((String, String) -> Bool).Compared' be equivalent
let sortedNumerals = numerals.sorted { numeralMap[$0]! < numeralMap[$1]! } // type '(String, String) -> Bool' cannot conform to 'SortComparator'

func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let words = numbers.split(separator: " ")
    let sortedWords = words.sorted { numberMap[String($0)]! < numberMap[String($1)]! }
    return sortedWords.joined(separator: " ")
}
```swift
// Input is a space-delimited string of numberals from 'zero' to 'nine'.
// Valid choices are 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight' and 'nine'.
// Return the string with numbers sorted from smallest to largest
// sortNumbers(numbers: "three one five") == "one three five"
func sortNumbers(numbers: String) -> String {
    let numberMap: [String: Int] = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let words = numbers.split(separator: " ")
    let sortedWords = words.sorted { numberMap[String($0)]! < numberMap[String($1)]! }
    return sortedWords.joined(separator: " ")
}
```

func sortNumbers(numbers: String) -> String {
    let numberMap = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numbersArray = numbers.components(separatedBy: " ")
    let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! }
    return sortedNumbers.joined(separator: " ")
}
```swift
// Input is a space-delimited string of numberals from 'zero' to 'nine'.
// Valid choices are 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight' and 'nine'.
// Return the string with numbers sorted from smallest to largest
// sortNumbers(numbers: "three one five") == "one three five"
func sortNumbers(numbers: String) -> String {
    let numberMap = ["zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9]
    let numbersArray = numbers.components(separatedBy: " ")
    let sortedNumbers = numbersArray.sorted { numberMap[$0]! < numberMap[$1]! }
    return sortedNumbers.joined(separator: " ")
}
```

func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var smallestDiff = abs(numbers[0] - numbers[1])
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let diff = abs(numbers[i] - numbers[j])
            if diff < smallestDiff {
                smallestDiff = diff
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    return closestPair
}
```swift
// From a supplied array of numbers (of length at least two) select and return two that are the closest to each
// other and return them in order (smaller number, larger number).
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.2]) == (2.0, 2.2)
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.0]) == (2.0, 2.0)
func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var smallestDiff = abs(numbers[0] - numbers[1])
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let diff = abs(numbers[i] - numbers[j])
            if diff < smallestDiff {
                smallestDiff = diff
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    return closestPair
}
```

 // XCTAssertTrue failed

func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var minDistance = abs(numbers[1] - numbers[0])
    
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let distance = abs(numbers[j] - numbers[i])
            if distance < minDistance {
                minDistance = distance
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    
    return closestPair
}
```swift
// From a supplied array of numbers (of length at least two) select and return two that are the closest to each
// other and return them in order (smaller number, larger number).
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.2]) == (2.0, 2.2)
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.0]) == (2.0, 2.0)
func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var minDistance = abs(numbers[1] - numbers[0])
    
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let distance = abs(numbers[j] - numbers[i])
            if distance < minDistance {
                minDistance = distance
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    
    return closestPair
}
```

 // XCTAssertTrue failed

func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var minDistance = abs(numbers[0] - numbers[1])
    
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let distance = abs(numbers[i] - numbers[j])
            if distance < minDistance {
                minDistance = distance
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    
    return closestPair
}
```swift
// From a supplied array of numbers (of length at least two) select and return two that are the closest to each
// other and return them in order (smaller number, larger number).
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.2]) == (2.0, 2.2)
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.0]) == (2.0, 2.0)
func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var minDistance = abs(numbers[0] - numbers[1])
    
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let distance = abs(numbers[i] - numbers[j])
            if distance < minDistance {
                minDistance = distance
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    
    return closestPair
}
```

 // XCTAssertTrue failed

func findClosestElements(numbers: [Double]) -> (Double, Double) {
    guard numbers.count > 1 else { return (0.0, 0.0) }
    let sortedNumbers = numbers.sorted()
    var minDiff = Double.greatestFiniteMagnitude
    var closestPair = (0.0, 0.0)
    for i in 0..<sortedNumbers.count - 1 {
        let diff = sortedNumbers[i + 1] - sortedNumbers[i]
        if diff < minDiff {
            minDiff = diff
            closestPair = (sortedNumbers[i], sortedNumbers[i + 1])
        }
    }
    return closestPair
}
```swift
// From a supplied array of numbers (of length at least two) select and return two that are the closest to each
// other and return them in order (smaller number, larger number).
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.2]) == (2.0, 2.2)
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.0]) == (2.0, 2.0)
func findClosestElements(numbers: [Double]) -> (Double, Double) {
    guard numbers.count > 1 else { return (0.0, 0.0) }
    let sortedNumbers = numbers.sorted()
    var minDiff = Double.greatestFiniteMagnitude
    var closestPair = (0.0, 0.0)
    for i in 0..<sortedNumbers.count - 1 {
        let diff = sortedNumbers[i + 1] - sortedNumbers[i]
        if diff < minDiff {
            minDiff = diff
            closestPair = (sortedNumbers[i], sortedNumbers[i + 1])
        }
    }
    return closestPair
}
```

func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var minDistance = abs(numbers[1] - numbers[0])
    
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let distance = abs(numbers[j] - numbers[i])
            if distance < minDistance {
                minDistance = distance
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    
    return closestPair
}
```swift
// From a supplied array of numbers (of length at least two) select and return two that are the closest to each
// other and return them in order (smaller number, larger number).
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.2]) == (2.0, 2.2)
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.0]) == (2.0, 2.0)
func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var minDistance = abs(numbers[1] - numbers[0])
    
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let distance = abs(numbers[j] - numbers[i])
            if distance < minDistance {
                minDistance = distance
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    
    return closestPair
}
```

 // XCTAssertTrue failed

func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var minDistance = abs(numbers[1] - numbers[0])
    
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let distance = abs(numbers[j] - numbers[i])
            if distance < minDistance {
                minDistance = distance
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    
    return closestPair
}
```swift
// From a supplied array of numbers (of length at least two) select and return two that are the closest to each
// other and return them in order (smaller number, larger number).
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.2]) == (2.0, 2.2)
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.0]) == (2.0, 2.0)
func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var minDistance = abs(numbers[1] - numbers[0])
    
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let distance = abs(numbers[j] - numbers[i])
            if distance < minDistance {
                minDistance = distance
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    
    return closestPair
}
```

 // XCTAssertTrue failed

func findClosestElements(numbers: [Double]) -> (Double, Double) {
    let sortedNumbers = numbers.sorted()
    var closestPair = (sortedNumbers[0], sortedNumbers[1])
    var minDistance = abs(sortedNumbers[1] - sortedNumbers[0])
    
    for i in 0..<sortedNumbers.count - 1 {
        let distance = abs(sortedNumbers[i + 1] - sortedNumbers[i])
        if distance < minDistance {
            minDistance = distance
            closestPair = (sortedNumbers[i], sortedNumbers[i + 1])
        }
    }
    
    return closestPair
}
```swift
// From a supplied array of numbers (of length at least two) select and return two that are the closest to each
// other and return them in order (smaller number, larger number).
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.2]) == (2.0, 2.2)
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.0]) == (2.0, 2.0)
func findClosestElements(numbers: [Double]) -> (Double, Double) {
    let sortedNumbers = numbers.sorted()
    var closestPair = (sortedNumbers[0], sortedNumbers[1])
    var minDistance = abs(sortedNumbers[1] - sortedNumbers[0])
    
    for i in 0..<sortedNumbers.count - 1 {
        let distance = abs(sortedNumbers[i + 1] - sortedNumbers[i])
        if distance < minDistance {
            minDistance = distance
            closestPair = (sortedNumbers[i], sortedNumbers[i + 1])
        }
    }
    
    return closestPair
}
```

func findClosestElements(numbers: [Double]) -> (Double, Double) {
    let sortedNumbers = numbers.sorted()
    var closestPair = (sortedNumbers[0], sortedNumbers[1])
    var smallestDifference = abs(sortedNumbers[1] - sortedNumbers[0])
    
    for i in 0..<sortedNumbers.count - 1 {
        let difference = abs(sortedNumbers[i + 1] - sortedNumbers[i])
        if difference < smallestDifference {
            smallestDifference = difference
            closestPair = (sortedNumbers[i], sortedNumbers[i + 1])
        }
    }
    
    return closestPair
}
```swift
// From a supplied array of numbers (of length at least two) select and return two that are the closest to each
// other and return them in order (smaller number, larger number).
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.2]) == (2.0, 2.2)
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.0]) == (2.0, 2.0)
func findClosestElements(numbers: [Double]) -> (Double, Double) {
    let sortedNumbers = numbers.sorted()
    var closestPair = (sortedNumbers[0], sortedNumbers[1])
    var smallestDifference = abs(sortedNumbers[1] - sortedNumbers[0])
    
    for i in 0..<sortedNumbers.count - 1 {
        let difference = abs(sortedNumbers[i + 1] - sortedNumbers[i])
        if difference < smallestDifference {
            smallestDifference = difference
            closestPair = (sortedNumbers[i], sortedNumbers[i + 1])
        }
    }
    
    return closestPair
}
```

func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var minDistance = abs(numbers[1] - numbers[0])
    
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let distance = abs(numbers[j] - numbers[i])
            if distance < minDistance {
                minDistance = distance
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    
    return closestPair
}
```swift
// From a supplied array of numbers (of length at least two) select and return two that are the closest to each
// other and return them in order (smaller number, larger number).
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.2]) == (2.0, 2.2)
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.0]) == (2.0, 2.0)
func findClosestElements(numbers: [Double]) -> (Double, Double) {
    var closestPair = (numbers[0], numbers[1])
    var minDistance = abs(numbers[1] - numbers[0])
    
    for i in 0..<numbers.count {
        for j in i+1..<numbers.count {
            let distance = abs(numbers[j] - numbers[i])
            if distance < minDistance {
                minDistance = distance
                closestPair = (numbers[i], numbers[j])
            }
        }
    }
    
    return closestPair
}
```

 // XCTAssertTrue failed

func findClosestElements(numbers: [Double]) -> (Double, Double) {
    let sortedNumbers = numbers.sorted()
    var closestPair = (sortedNumbers[0], sortedNumbers[1])
    var minDistance = abs(sortedNumbers[1] - sortedNumbers[0])
    
    for i in 0..<sortedNumbers.count - 1 {
        let distance = abs(sortedNumbers[i + 1] - sortedNumbers[i])
        if distance < minDistance {
            minDistance = distance
            closestPair = (sortedNumbers[i], sortedNumbers[i + 1])
        }
    }
    
    return closestPair
}
```swift
// From a supplied array of numbers (of length at least two) select and return two that are the closest to each
// other and return them in order (smaller number, larger number).
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.2]) == (2.0, 2.2)
// findClosestElements(numbers: [1.0, 2.0, 3.0, 4.0, 5.0, 2.0]) == (2.0, 2.0)
func findClosestElements(numbers: [Double]) -> (Double, Double) {
    let sortedNumbers = numbers.sorted()
    var closestPair = (sortedNumbers[0], sortedNumbers[1])
    var minDistance = abs(sortedNumbers[1] - sortedNumbers[0])
    
    for i in 0..<sortedNumbers.count - 1 {
        let distance = abs(sortedNumbers[i + 1] - sortedNumbers[i])
        if distance < minDistance {
            minDistance = distance
            closestPair = (sortedNumbers[i], sortedNumbers[i + 1])
        }
    }
    
    return closestPair
}
```

func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```swift
// Given array of numbers (of at least two elements), apply a linear transform to that array,
// such that the smallest number will become 0 and the largest will become 1
// rescaleToUnit(numbers: [1.0, 2.0, 3.0, 4.0, 5.0]) == [0.0, 0.25, 0.5, 0.75, 1.0]
func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```

func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```swift
// Given array of numbers (of at least two elements), apply a linear transform to that array,
// such that the smallest number will become 0 and the largest will become 1
// rescaleToUnit(numbers: [1.0, 2.0, 3.0, 4.0, 5.0]) == [0.0, 0.25, 0.5, 0.75, 1.0]
func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```

func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    return numbers.map { ($0 - min) / (max - min) }
}
```swift
// Given array of numbers (of at least two elements), apply a linear transform to that array,
// such that the smallest number will become 0 and the largest will become 1
// rescaleToUnit(numbers: [1.0, 2.0, 3.0, 4.0, 5.0]) == [0.0, 0.25, 0.5, 0.75, 1.0]
func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    return numbers.map { ($0 - min) / (max - min) }
}
```

func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    return numbers.map { ($0 - min) / (max - min) }
}
```swift
// Given array of numbers (of at least two elements), apply a linear transform to that array,
// such that the smallest number will become 0 and the largest will become 1
// rescaleToUnit(numbers: [1.0, 2.0, 3.0, 4.0, 5.0]) == [0.0, 0.25, 0.5, 0.75, 1.0]
func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    return numbers.map { ($0 - min) / (max - min) }
}
```

func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```swift
// Given array of numbers (of at least two elements), apply a linear transform to that array,
// such that the smallest number will become 0 and the largest will become 1
// rescaleToUnit(numbers: [1.0, 2.0, 3.0, 4.0, 5.0]) == [0.0, 0.25, 0.5, 0.75, 1.0]
func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```

func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```swift
// Given array of numbers (of at least two elements), apply a linear transform to that array,
// such that the smallest number will become 0 and the largest will become 1
// rescaleToUnit(numbers: [1.0, 2.0, 3.0, 4.0, 5.0]) == [0.0, 0.25, 0.5, 0.75, 1.0]
func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```

func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```swift
// Given array of numbers (of at least two elements), apply a linear transform to that array,
// such that the smallest number will become 0 and the largest will become 1
// rescaleToUnit(numbers: [1.0, 2.0, 3.0, 4.0, 5.0]) == [0.0, 0.25, 0.5, 0.75, 1.0]
func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```

func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```swift
// Given array of numbers (of at least two elements), apply a linear transform to that array,
// such that the smallest number will become 0 and the largest will become 1
// rescaleToUnit(numbers: [1.0, 2.0, 3.0, 4.0, 5.0]) == [0.0, 0.25, 0.5, 0.75, 1.0]
func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```

func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```swift
// Given array of numbers (of at least two elements), apply a linear transform to that array,
// such that the smallest number will become 0 and the largest will become 1
// rescaleToUnit(numbers: [1.0, 2.0, 3.0, 4.0, 5.0]) == [0.0, 0.25, 0.5, 0.75, 1.0]
func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```

func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```swift
// Given array of numbers (of at least two elements), apply a linear transform to that array,
// such that the smallest number will become 0 and the largest will become 1
// rescaleToUnit(numbers: [1.0, 2.0, 3.0, 4.0, 5.0]) == [0.0, 0.25, 0.5, 0.75, 1.0]
func rescaleToUnit(numbers: [Double]) -> [Double] {
    let min = numbers.min()!
    let max = numbers.max()!
    let range = max - min
    return numbers.map { ($0 - min) / range }
}
```

func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```swift
// Filter given array of any swiftthon values only for integers
// filterIntegers(values: ["a", 3.14, 5]) == [5]
// filterIntegers(values: [1, 2, 3, "abc", [:] as [AnyHashable : AnyHashable], [] as [AnyHashable]]) == [1, 2, 3]
func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```

func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```swift
// Filter given array of any swiftthon values only for integers
// filterIntegers(values: ["a", 3.14, 5]) == [5]
// filterIntegers(values: [1, 2, 3, "abc", [:] as [AnyHashable : AnyHashable], [] as [AnyHashable]]) == [1, 2, 3]
func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```

func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```swift
// Filter given array of any swiftthon values only for integers
// filterIntegers(values: ["a", 3.14, 5]) == [5]
// filterIntegers(values: [1, 2, 3, "abc", [:] as [AnyHashable : AnyHashable], [] as [AnyHashable]]) == [1, 2, 3]
func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```

func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```swift
// Filter given array of any swiftthon values only for integers
// filterIntegers(values: ["a", 3.14, 5]) == [5]
// filterIntegers(values: [1, 2, 3, "abc", [:] as [AnyHashable : AnyHashable], [] as [AnyHashable]]) == [1, 2, 3]
func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```

func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```swift
// Filter given array of any swiftthon values only for integers
// filterIntegers(values: ["a", 3.14, 5]) == [5]
// filterIntegers(values: [1, 2, 3, "abc", [:] as [AnyHashable : AnyHashable], [] as [AnyHashable]]) == [1, 2, 3]
func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```

func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```swift
// Filter given array of any swiftthon values only for integers
// filterIntegers(values: ["a", 3.14, 5]) == [5]
// filterIntegers(values: [1, 2, 3, "abc", [:] as [AnyHashable : AnyHashable], [] as [AnyHashable]]) == [1, 2, 3]
func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```

func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```swift
// Filter given array of any swiftthon values only for integers
// filterIntegers(values: ["a", 3.14, 5]) == [5]
// filterIntegers(values: [1, 2, 3, "abc", [:] as [AnyHashable : AnyHashable], [] as [AnyHashable]]) == [1, 2, 3]
func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```

func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```swift
// Filter given array of any swiftthon values only for integers
// filterIntegers(values: ["a", 3.14, 5]) == [5]
// filterIntegers(values: [1, 2, 3, "abc", [:] as [AnyHashable : AnyHashable], [] as [AnyHashable]]) == [1, 2, 3]
func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```

func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```swift
// Filter given array of any swiftthon values only for integers
// filterIntegers(values: ["a", 3.14, 5]) == [5]
// filterIntegers(values: [1, 2, 3, "abc", [:] as [AnyHashable : AnyHashable], [] as [AnyHashable]]) == [1, 2, 3]
func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```

func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```swift
// Filter given array of any swiftthon values only for integers
// filterIntegers(values: ["a", 3.14, 5]) == [5]
// filterIntegers(values: [1, 2, 3, "abc", [:] as [AnyHashable : AnyHashable], [] as [AnyHashable]]) == [1, 2, 3]
func filterIntegers(values: [AnyHashable]) -> [Int] {
    return values.compactMap { $0 as? Int }
}
```

func strlen(string: String) -> Int {
    return string.characters.count
}
```swift
// Return length of given string
// strlen(string: "") == 0
// strlen(string: "abc") == 3
func strlen(string: String) -> Int {
    return string.characters.count
}
```

return string.characters.count // 'characters' is unavailable: Please use String directly

func strlen(string: String) -> Int {
    return string.characters.count
}
```swift
// Return length of given string
// strlen(string: "") == 0
// strlen(string: "abc") == 3
func strlen(string: String) -> Int {
    return string.characters.count
}
```

return string.characters.count // 'characters' is unavailable: Please use String directly

func strlen(string: String) -> Int {
    return string.count
}
```swift
// Return length of given string
// strlen(string: "") == 0
// strlen(string: "abc") == 3
func strlen(string: String) -> Int {
    return string.count
}
```

func strlen(string: String) -> Int {
    return string.count
}
```swift
// Return length of given string
// strlen(string: "") == 0
// strlen(string: "abc") == 3
func strlen(string: String) -> Int {
    return string.count
}
```

func strlen(string: String) -> Int {
    return string.count
}

func strcat(string1: String, string2: String) -> String {
    return string1 + string2
}

func substr(string: String, index: Int, length: Int) -> String {
    let startIndex = string.index(string.startIndex, offsetBy: index)
    let endIndex = string.index(startIndex, offsetBy: length)
    return String(string[startIndex..<endIndex])
}

func insert(string: String, character: Character, index: Int) -> String {
    let startIndex = string.index(string.startIndex, offsetBy: index)
    let endIndex = string.index(startIndex, offsetBy: 1)
    return string.prefix(upTo: startIndex) + String(character) + string.suffix(from: endIndex)
}

func remove(string: String, index: Int) -> String {
    let startIndex = string.index(string.startIndex, offsetBy: index)
    let endIndex = string.index(startIndex, offsetBy: 1)
    return string.prefix(upTo: startIndex) + string.suffix(from: endIndex)
}

func replace(string: String, character: Character, index: Int) -> String {
    let startIndex = string.index(string.startIndex, offsetBy: index)
    let endIndex = string.index(startIndex, offsetBy: 1)
    return string.prefix(upTo: startIndex) + String(character) + string.suffix(from: endIndex)
}

func replace(string: String, substring: String, replacement: String) -> String {
    return string.replacingOccurrences(of: substring, with: replacement)
}

func remove(string: String, substring: String) -> String {
    return string.replacingOccurrences(of: substring, with: "")
}
```swift
// Return length of given string
// strlen(string: "") == 0
// strlen(string: "abc") == 3
func strlen(string: String) -> Int {
    return string.count
}

// Return a new string that is the concatenation of the two given strings
// strcat(string1: "abc", string2: "def") == "abcdef"
func strcat(string1: String, string2: String) -> String {
    return string1 + string2
}

// Return a new string that is the substring of the given string starting at the given index and with the given length
// substr(string: "abcdef", index: 2, length: 3) == "cde"
func substr(string: String, index: Int, length: Int) -> String {
    let startIndex = string.index(string.startIndex, offsetBy: index)
    let endIndex = string.index(startIndex, offsetBy: length)
    return String(string[startIndex..<endIndex])
}

// Return a new string that is the given string with the given character inserted at the given index
// insert(string: "abc", character: "d", index: 2) == "abd"
func insert(string: String, character: Character, index: Int) -> String {
    let startIndex = string.index(string.startIndex, offsetBy: index)
    let endIndex = string.index(startIndex, offsetBy: 1)
    return string.prefix(upTo: startIndex) + String(character) + string.suffix(from: endIndex)
}

// Return a new string that is the given string with the character at the given index removed
// remove(string: "abc", index: 1) == "ac"
func remove(string: String, index: Int) -> String {
    let startIndex = string.index(string.startIndex, offsetBy: index)
    let endIndex = string.index(startIndex, offsetBy: 1)
    return string.prefix(upTo: startIndex) + string.suffix(from: endIndex)
}

// Return a new string that is the given string with the character at the given index replaced with the given character
// replace(string: "abc", character: "d", index: 1) == "adc"
func replace(string: String, character: Character, index: Int) -> String {
    let startIndex = string.index(string.startIndex, offsetBy: index)
    let endIndex = string.index(startIndex, offsetBy: 1)
    return string.prefix(upTo: startIndex) + String(character) + string.suffix(from: endIndex)
}

// Return a new string that is the given string with the given substring replaced with the given replacement string
// replace(string: "abc", substring: "b", replacement: "d") == "adc"
func replace(string: String, substring: String, replacement: String) -> String {
    return string.replacingOccurrences(of: substring, with: replacement)
}

// Return a new string that is the given string with the given substring removed
// remove(string: "abc", substring: "b") == "ac"
func remove(string: String, substring: String) -> String {
    return string.replacingOccurrences(of: substring, with: "")
}

// Return a new string that is the given string with the given substring replaced with the given replacement string
// replace(string: "abc", substring: "b", replacement: "d") == "adc"
func replace(string: String, substring: String, replacement: String) -> String {
    return string.replacingOccurrences(of: substring, with: replacement)
}

// Return a new string that is the given string with the given substring removed
// remove(string: "abc", substring: "b") == "ac"
func remove(string: String, substring: String) -> String {
    return string.replacingOccurrences(of: substring, with: "")
}

// Return a new string that is the given string with the given substring replaced with the given replacement string
// replace(string: "abc", substring: "b", replacement: "d") == "adc"
func replace(string: String, substring: String, replacement: String) -> String {
    return string.replacingOccurrences(of: substring, with: replacement)
}

// Return a new string that is the given string with the given substring removed
// remove(string: "abc", substring: "b") == "ac"
func remove(string: String, substring: String) -> String {
    return string.replacingOccurrences(of: substring, with: "")
}

// Return a new string that is the given string with the given substring replaced with the given replacement string
// replace(string: "abc", substring: "b", replacement: "d") == "adc"
func replace(string: String, substring: String, replacement: String) -> String {
    return string.replacingOccurrences(of: substring, with: replacement)
}

// Return a new string that is the given string with the given substring removed
// remove(string: "abc", substring: "b") == "ac"
func remove(string: String, substring: String) -> String {
    return string.replacingOccurrences(of: substring, with: "")
}

// Return a new string
return string.prefix(upTo: startIndex) + string.suffix(from: endIndex) // cannot convert return expression of type 'String.SubSequence' (aka 'Substring') to return type 'String'

func strlen(string: String) -> Int {
    return string.count
}

func isEmpty(string: String) -> Bool {
    return string.isEmpty
}

func isNotEmpty(string: String) -> Bool {
    return !string.isEmpty
}

func isEqual(string: String, to: String) -> Bool {
    return string == to
}

func isNotEqual(string: String, to: String) -> Bool {
    return string != to
}

func contains(string: String, substring: String) -> Bool {
    return string.contains(substring)
}

func doesNotContain(string: String, substring: String) -> Bool {
    return !string.contains(substring)
}

func startsWith(string: String, prefix: String) -> Bool {
    return string.hasPrefix(prefix)
}

func doesNotStartWith(string: String, prefix: String) -> Bool {
    return !string.hasPrefix(prefix)
}

func endsWith(string: String, suffix: String) -> Bool {
    return string.hasSuffix(suffix)
}

func doesNotEndWith(string: String, suffix: String) -> Bool {
    return !string.hasSuffix(suffix)
}

func isPalindrome(string: String) -> Bool {
    let reversedString = String(string.reversed())
    return string == reversedString
}

func isNotPalindrome(string: String) -> Bool {
    return !isPalindrome(string: string)
}

func isValidEmail(string: String) -> Bool {
    let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}"
    let emailPredicate = NSPredicate(format: "SELF MATCHES %@", emailRegex)
    return emailPredicate.evaluate(with: string)
}

func isNotValidEmail(string: String) -> Bool {
    return !isValidEmail(string: string)
}
```swift
// Return length of given string
// strlen(string: "") == 0
// strlen(string: "abc") == 3
func strlen(string: String) -> Int {
    return string.count
}

// Return true if given string is empty
// isEmpty(string: "") == true
// isEmpty(string: "abc") == false
func isEmpty(string: String) -> Bool {
    return string.isEmpty
}

// Return true if given string is not empty
// isNotEmpty(string: "") == false
// isNotEmpty(string: "abc") == true
func isNotEmpty(string: String) -> Bool {
    return !string.isEmpty
}

// Return true if given string is equal to another string
// isEqual(string: "abc", to: "abc") == true
// isEqual(string: "abc", to: "def") == false
func isEqual(string: String, to: String) -> Bool {
    return string == to
}

// Return true if given string is not equal to another string
// isNotEqual(string: "abc", to: "abc") == false
// isNotEqual(string: "abc", to: "def") == true
func isNotEqual(string: String, to: String) -> Bool {
    return string != to
}

// Return true if given string contains another string
// contains(string: "abc", substring: "bc") == true
// contains(string: "abc", substring: "xyz") == false
func contains(string: String, substring: String) -> Bool {
    return string.contains(substring)
}

// Return true if given string does not contain another string
// doesNotContain(string: "abc", substring: "bc") == false
// doesNotContain(string: "abc", substring: "xyz") == true
func doesNotContain(string: String, substring: String) -> Bool {
    return !string.contains(substring)
}

// Return true if given string starts with another string
// startsWith(string: "abc", prefix: "ab") == true
// startsWith(string: "abc", prefix: "xyz") == false
func startsWith(string: String, prefix: String) -> Bool {
    return string.hasPrefix(prefix)
}

// Return true if given string does not start with another string
// doesNotStartWith(string: "abc", prefix: "ab") == false
// doesNotStartWith(string: "abc", prefix: "xyz") == true
func doesNotStartWith(string: String, prefix: String) -> Bool {
    return !string.hasPrefix(prefix)
}

// Return true if given string ends with another string
// endsWith(string: "abc", suffix: "bc") == true
// endsWith(string: "abc", suffix: "xyz") == false
func endsWith(string: String, suffix: String) -> Bool {
    return string.hasSuffix(suffix)
}

// Return true if given string does not end with another string
// doesNotEndWith(string: "abc", suffix: "bc") == false
// doesNotEndWith(string: "abc", suffix: "xyz") == true
func doesNotEndWith(string: String, suffix: String) -> Bool {
    return !string.hasSuffix(suffix)
}

// Return true if given string is a palindrome
// isPalindrome(string: "abcba") == true
// isPalindrome(string: "abc") == false
func isPalindrome(string: String) -> Bool {
    let reversedString = String(string.reversed())
    return string == reversedString
}

// Return true if given string is not a palindrome
// isNotPalindrome(string: "abcba") == false
// isNotPalindrome(string: "abc") == true
func isNotPalindrome(string: String) -> Bool {
    return !isPalindrome(string: string)
}

// Return true if given string is a valid email address
// isValidEmail(string: "[email protected]") == true
// isValidEmail(string: "example.com") == false
func isValidEmail(string: String) -> Bool {
    let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}"
    let emailPredicate = NSPredicate(format: "SELF MATCHES %@", emailRegex)
    return emailPredicate.evaluate(with: string)
}

// Return true if given string is not a valid email address
// isNotValidEmail(string: "[email protected]") == false
// isNotValidEmail(string: "example.com") == true
func isNotValidEmail(string: String) -> Bool {
    return !isValidEmail(string: string)
}

// Return true if given string is a valid URL
// isValidURL(string: "https://www.example.com") == true
// isValidURL(string: "example.com") == false
func isValidURL(string: String) -> Bool {
    let urlRegex = "^(https?|ftp)://[^\s/$.?#].[^\s]*$"
    let urlPredicate = NSPredicate(format: "SELF MATCHES %@", urlRegex)
    return urlPredicate.evaluate

func strlen(string: String) -> Int {
    return string.count
}

func isEmpty(string: String) -> Bool {
    return string.isEmpty
}

func isNotEmpty(string: String) -> Bool {
    return !string.isEmpty
}

func isEqual(string: String, to: String) -> Bool {
    return string == to
}

func isNotEqual(string: String, to: String) -> Bool {
    return string != to
}

func contains(string: String, substring: String) -> Bool {
    return string.contains(substring)
}

func doesNotContain(string: String, substring: String) -> Bool {
    return !string.contains(substring)
}

func startsWith(string: String, prefix: String) -> Bool {
    return string.hasPrefix(prefix)
}

func doesNotStartWith(string: String, prefix: String) -> Bool {
    return !string.hasPrefix(prefix)
}

func endsWith(string: String, suffix: String) -> Bool {
    return string.hasSuffix(suffix)
}

func doesNotEndWith(string: String, suffix: String) -> Bool {
    return !string.hasSuffix(suffix)
}

func isPalindrome(string: String) -> Bool {
    let reversedString = String(string.reversed())
    return string == reversedString
}

func isNotPalindrome(string: String) -> Bool {
    return !isPalindrome(string: string)
}

func isValidEmail(string: String) -> Bool {
    let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}"
    let emailPredicate = NSPredicate(format: "SELF MATCHES %@", emailRegex)
    return emailPredicate.evaluate(with: string)
}

func isNotValidEmail(string: String) -> Bool {
    return !isValidEmail(string: string)
}
```swift
// Return length of given string
// strlen(string: "") == 0
// strlen(string: "abc") == 3
func strlen(string: String) -> Int {
    return string.count
}

// Return true if given string is empty
// isEmpty(string: "") == true
// isEmpty(string: "abc") == false
func isEmpty(string: String) -> Bool {
    return string.isEmpty
}

// Return true if given string is not empty
// isNotEmpty(string: "") == false
// isNotEmpty(string: "abc") == true
func isNotEmpty(string: String) -> Bool {
    return !string.isEmpty
}

// Return true if given string is equal to another string
// isEqual(string: "abc", to: "abc") == true
// isEqual(string: "abc", to: "def") == false
func isEqual(string: String, to: String) -> Bool {
    return string == to
}

// Return true if given string is not equal to another string
// isNotEqual(string: "abc", to: "abc") == false
// isNotEqual(string: "abc", to: "def") == true
func isNotEqual(string: String, to: String) -> Bool {
    return string != to
}

// Return true if given string contains another string
// contains(string: "abc", substring: "ab") == true
// contains(string: "abc", substring: "xyz") == false
func contains(string: String, substring: String) -> Bool {
    return string.contains(substring)
}

// Return true if given string does not contain another string
// doesNotContain(string: "abc", substring: "ab") == false
// doesNotContain(string: "abc", substring: "xyz") == true
func doesNotContain(string: String, substring: String) -> Bool {
    return !string.contains(substring)
}

// Return true if given string starts with another string
// startsWith(string: "abc", prefix: "ab") == true
// startsWith(string: "abc", prefix: "xyz") == false
func startsWith(string: String, prefix: String) -> Bool {
    return string.hasPrefix(prefix)
}

// Return true if given string does not start with another string
// doesNotStartWith(string: "abc", prefix: "ab") == false
// doesNotStartWith(string: "abc", prefix: "xyz") == true
func doesNotStartWith(string: String, prefix: String) -> Bool {
    return !string.hasPrefix(prefix)
}

// Return true if given string ends with another string
// endsWith(string: "abc", suffix: "bc") == true
// endsWith(string: "abc", suffix: "xyz") == false
func endsWith(string: String, suffix: String) -> Bool {
    return string.hasSuffix(suffix)
}

// Return true if given string does not end with another string
// doesNotEndWith(string: "abc", suffix: "bc") == false
// doesNotEndWith(string: "abc", suffix: "xyz") == true
func doesNotEndWith(string: String, suffix: String) -> Bool {
    return !string.hasSuffix(suffix)
}

// Return true if given string is a palindrome
// isPalindrome(string: "abcba") == true
// isPalindrome(string: "abc") == false
func isPalindrome(string: String) -> Bool {
    let reversedString = String(string.reversed())
    return string == reversedString
}

// Return true if given string is not a palindrome
// isNotPalindrome(string: "abcba") == false
// isNotPalindrome(string: "abc") == true
func isNotPalindrome(string: String) -> Bool {
    return !isPalindrome(string: string)
}

// Return true if given string is a valid email address
// isValidEmail(string: "[email protected]") == true
// isValidEmail(string: "abc") == false
func isValidEmail(string: String) -> Bool {
    let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}"
    let emailPredicate = NSPredicate(format: "SELF MATCHES %@", emailRegex)
    return emailPredicate.evaluate(with: string)
}

// Return true if given string is not a valid email address
// isNotValidEmail(string: "[email protected]") == false
// isNotValidEmail(string: "abc") == true
func isNotValidEmail(string: String) -> Bool {
    return !isValidEmail(string: string)
}

// Return true if given string is a valid phone number
// isValidPhoneNumber(string: "+1234567890") == true
// isValidPhoneNumber(string: "abc") == false
func isValidPhoneNumber(string: String) -> Bool {
    let phoneNumberRegex = "^\\+?\\d{1,3}?[-.\\s]?\\(?\\d{3}\\)?[-.\\s]?\\d{3}[-.\\

func strlen(string: String) -> Int {
    return string.count
}

func reverse(string: String) -> String {
    return String(string.reversed())
}

func isPalindrome(string: String) -> Bool {
    return string == reverse(string: string)
}

func isAnagram(string1: String, string2: String) -> Bool {
    return string1.sorted() == string2.sorted()
}

func isPangram(string: String) -> Bool {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    let lowercaseString = string.lowercased()
    for char in alphabet {
        if !lowercaseString.contains(char) {
            return false
        }
    }
    return true
}

func isPalindromeIgnoringSpacesAndPunctuation(string: String) -> Bool {
    let cleanedString = string.lowercased().filter { $0.isLetter }
    return cleanedString == reverse(string: cleanedString)
}

func isPalindromeIgnoringSpacesAndPunctuationAndCase(string: String) -> Bool {
    let cleanedString = string.lowercased().filter { $0.isLetter }
    return cleanedString == reverse(string: cleanedString)
}

func isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharacters(string: String) -> Bool {
    let cleanedString = string.lowercased().filter { $0.isLetter || $0.isNumber }
    return cleanedString == reverse(string: cleanedString)
}

func isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharactersAndNumbers(string: String) -> Bool {
    let cleanedString = string.lowercased().filter { $0.isLetter }
    return cleanedString == reverse(string: cleanedString)
}

func isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharactersAndNumbersAndSymbols(string: String) -> Bool {
    let cleanedString = string.lowercased().filter { $0.isLetter }
    return cleanedString == reverse(string: cleanedString)
}
```swift
// Return length of given string
// strlen(string: "") == 0
// strlen(string: "abc") == 3
func strlen(string: String) -> Int {
    return string.count
}

// Return reversed string
// reverse(string: "") == ""
// reverse(string: "abc") == "cba"
func reverse(string: String) -> String {
    return String(string.reversed())
}

// Return true if given string is palindrome
// isPalindrome(string: "") == true
// isPalindrome(string: "abc") == false
// isPalindrome(string: "aba") == true
func isPalindrome(string: String) -> Bool {
    return string == reverse(string: string)
}

// Return true if given string is anagram
// isAnagram(string1: "", string2: "") == true
// isAnagram(string1: "abc", string2: "cba") == true
// isAnagram(string1: "abc", string2: "def") == false
func isAnagram(string1: String, string2: String) -> Bool {
    return string1.sorted() == string2.sorted()
}

// Return true if given string is a pangram
// isPangram(string: "") == false
// isPangram(string: "abcdefghijklmnopqrstuvwxyz") == true
// isPangram(string: "the quick brown fox jumps over the lazy dog") == true
func isPangram(string: String) -> Bool {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    let lowercaseString = string.lowercased()
    for char in alphabet {
        if !lowercaseString.contains(char) {
            return false
        }
    }
    return true
}

// Return true if given string is a palindrome ignoring spaces and punctuation
// isPalindromeIgnoringSpacesAndPunctuation(string: "") == true
// isPalindromeIgnoringSpacesAndPunctuation(string: "A man, a plan, a canal, Panama!") == true
// isPalindromeIgnoringSpacesAndPunctuation(string: "Hello, World!") == false
func isPalindromeIgnoringSpacesAndPunctuation(string: String) -> Bool {
    let cleanedString = string.lowercased().filter { $0.isLetter }
    return cleanedString == reverse(string: cleanedString)
}

// Return true if given string is a palindrome ignoring spaces and punctuation and case
// isPalindromeIgnoringSpacesAndPunctuationAndCase(string: "") == true
// isPalindromeIgnoringSpacesAndPunctuationAndCase(string: "A man, a plan, a canal, Panama!") == true
// isPalindromeIgnoringSpacesAndPunctuationAndCase(string: "Hello, World!") == false
func isPalindromeIgnoringSpacesAndPunctuationAndCase(string: String) -> Bool {
    let cleanedString = string.lowercased().filter { $0.isLetter }
    return cleanedString == reverse(string: cleanedString)
}

// Return true if given string is a palindrome ignoring spaces and punctuation and case and special characters
// isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharacters(string: "") == true
// isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharacters(string: "A man, a plan, a canal, Panama!") == true
// isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharacters(string: "Hello, World!") == false
func isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharacters(string: String) -> Bool {
    let cleanedString = string.lowercased().filter { $0.isLetter || $0.isNumber }
    return cleanedString == reverse(string: cleanedString)
}

// Return true if given string is a palindrome ignoring spaces and punctuation and case and special characters and numbers
// isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharactersAndNumbers(string: "") == true
// isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharactersAndNumbers(string: "A man, a plan, a canal, Panama!") == true
// isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharactersAndNumbers(string: "Hello, World!") == false
func isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharactersAndNumbers(string: String) -> Bool {
    let cleanedString = string.lowercased().filter { $0.isLetter }
    return cleanedString == reverse(string: cleanedString)
}

// Return true if given string is a palindrome ignoring spaces and punctuation and case and special characters and numbers and symbols
// isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharactersAndNumbersAndSymbols(string: "") == true
// isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharactersAndNumbersAndSymbols(string: "A man, a plan, a canal, Panama!") == true
// isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharactersAndNumbersAndSymbols(string: "Hello, World!") == false
func isPalindromeIgnoringSpacesAndPunctuationAndCaseAndSpecialCharactersAndNumbersAndSymbols(string: String) -> Bool {
    let cleanedString = string.lowercased().filter { $0.isLetter }
    return cleanedString == reverse(string: cleanedString)
}

// Return true if given string is a palindrome ignoring spaces and punctuation and case and special characters and numbers and symbols

func strlen(string: String) -> Int {
    return string.count
}
```swift
// Return length of given string
// strlen(string: "") == 0
// strlen(string: "abc") == 3
func strlen(string: String) -> Int {
    return string.count
}
```

func strlen(string: String) -> Int {
    return string.count
}

func reverse(string: String) -> String {
    return String(string.reversed())
}

func uppercase(string: String) -> String {
    return string.uppercased()
}

func lowercase(string: String) -> String {
    return string.lowercased()
}

func titlecase(string: String) -> String {
    return string.capitalized
}

func camelcase(string: String) -> String {
    let words = string.components(separatedBy: " ")
    var camelcasedString = ""
    for (index, word) in words.enumerated() {
        if index == 0 {
            camelcasedString += word.lowercased()
        } else {
            camelcasedString += word.capitalized
        }
    }
    return camelcasedString
}

func snakecase(string: String) -> String {
    let words = string.components(separatedBy: " ")
    var snakecasedString = ""
    for (index, word) in words.enumerated() {
        if index == 0 {
            snakecasedString += word.lowercased()
        } else {
            snakecasedString += "_" + word.lowercased()
        }
    }
    return snakecasedString
}

func kebabcase(string: String) -> String {
    let words = string.components(separatedBy: " ")
    var kebabcasedString = ""
    for (index, word) in words.enumerated() {
        if index == 0 {
            kebabcasedString += word.lowercased()
        } else {
            kebabcasedString += "-" + word.lowercased()
        }
    }
    return kebabcasedString
}

func pascalcase(string: String) -> String {
    let words = string.components(separatedBy: " ")
    var pascalcasedString = ""
    for word in words {
        pascalcasedString += word.capitalized
    }
    return pascalcasedString
}
```swift
// Return length of given string
// strlen(string: "") == 0
// strlen(string: "abc") == 3
func strlen(string: String) -> Int {
    return string.count
}

// Return a string with all characters in reverse order
// reverse(string: "") == ""
// reverse(string: "abc") == "cba"
func reverse(string: String) -> String {
    return String(string.reversed())
}

// Return a string with all characters in uppercase
// uppercase(string: "") == ""
// uppercase(string: "abc") == "ABC"
func uppercase(string: String) -> String {
    return string.uppercased()
}

// Return a string with all characters in lowercase
// lowercase(string: "") == ""
// lowercase(string: "ABC") == "abc"
func lowercase(string: String) -> String {
    return string.lowercased()
}

// Return a string with all characters in title case
// titlecase(string: "") == ""
// titlecase(string: "abc") == "Abc"
func titlecase(string: String) -> String {
    return string.capitalized
}

// Return a string with all characters in camel case
// camelcase(string: "") == ""
// camelcase(string: "abc") == "Abc"
func camelcase(string: String) -> String {
    let words = string.components(separatedBy: " ")
    var camelcasedString = ""
    for (index, word) in words.enumerated() {
        if index == 0 {
            camelcasedString += word.lowercased()
        } else {
            camelcasedString += word.capitalized
        }
    }
    return camelcasedString
}

// Return a string with all characters in snake case
// snakecase(string: "") == ""
// snakecase(string: "abc") == "abc"
func snakecase(string: String) -> String {
    let words = string.components(separatedBy: " ")
    var snakecasedString = ""
    for (index, word) in words.enumerated() {
        if index == 0 {
            snakecasedString += word.lowercased()
        } else {
            snakecasedString += "_" + word.lowercased()
        }
    }
    return snakecasedString
}

// Return a string with all characters in kebab case
// kebabcase(string: "") == ""
// kebabcase(string: "abc") == "abc"
func kebabcase(string: String) -> String {
    let words = string.components(separatedBy: " ")
    var kebabcasedString = ""
    for (index, word) in words.enumerated() {
        if index == 0 {
            kebabcasedString += word.lowercased()
        } else {
            kebabcasedString += "-" + word.lowercased()
        }
    }
    return kebabcasedString
}

// Return a string with all characters in Pascal case
// pascalcase(string: "") == ""
// pascalcase(string: "abc") == "Abc"
func pascalcase(string: String) -> String {
    let words = string.components(separatedBy: " ")
    var pascalcasedString = ""
    for word in words {
        pascalcasedString += word.capitalized
    }
    return pascalcasedString
}

// Return a string with all characters in camel case
// camelcase(string: "") == ""
// camelcase(string: "abc") == "Abc"
func camelcase(string: String) -> String {
    let words = string.components(separatedBy: " ")
    var camelcasedString = ""
    for (index, word) in words.enumerated() {
        if index == 0 {
            camelcasedString += word.lowercased()
        } else {
            camelcasedString += word.capitalized
        }
    }
    return camelcasedString
}

// Return a string with all characters in snake case
// snakecase(string: "") == ""
// snakecase(string: "abc") == "abc"
func snakecase(string: String) -> String {
    let words = string.components(separatedBy: " ")
    var snakecasedString = ""
    for (index, word) in words.enumerated() {
        if index == 0 {
            snakecasedString += word.lowercased()
        } else {
            snakecasedString += "_" + word.lowercased()
        }
    }
    return snakecasedString
}

// Return a string with all characters in kebab case
// kebabcase(string: "") == ""
// kebabcase(string: "abc") == "abc"
func kebabcase(string: String) -> String {
    let words = string.components(separatedBy: " ")
    var kebabcasedString = ""
    for (index, word) in words.enumerated() {
        if index == 0 {
            kebabcasedString += word.lowercased()
        } else {
            kebabcasedString += "-" + word.lowercased()
        }
    }
    return kebabcasedString
}

// Return a string with all characters in Pascal case
// pascalcase(string: "") == ""
// pascalcase(string: "abc") == "Abc"
func

func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}
```swift
// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// Test the function
print(largestDivisor(n: 15)) // Expected output: 5
```

func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * n
}

func sumOfDivisors(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        if n % i == 0 {
            sum += i
        }
    }
    return sum
}

func productOfDivisors(n: Int) -> Int {
    var product = 1
    for i in 1...n {
        if n % i == 0 {
            product *= i
        }
    }
    return product
}

func numberOfDivisors(n: Int) -> Int {
    var count = 0
    for i in 1...n {
        if n % i == 0 {
            count += 1
        }
    }
    return count
}

func sumOfPrimeDivisors(n: Int) -> Int {
    var sum = 0
    for i in 2...n {
        if n % i == 0 && isPrime(i) {
            sum += i
        }
    }
    return sum
}

func productOfPrimeDivisors(n: Int) -> Int {
    var product = 1
    for i in 2...n {
        if n % i == 0 && isPrime(i) {
            product *= i
        }
    }
    return product
}

func numberOfPrimeDivisors(n: Int) -> Int {
    var count = 0
    for i in 2...n {
        if n % i == 0 && isPrime(i) {
            count += 1
        }
    }
    return count
}

func sumOfDivisorsOfNAndNPlusOne(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        if n % i == 0 && (n + 1) % i == 0 {
            sum += i
        }
    }
    return sum
}

func productOfDivisorsOfNAndNPlusOne(n: Int) -> Int {
    var product = 1
    for i in 1...n {
        if n % i == 0 && (n + 1) % i == 0 {
            product *= i
        }
    }
    return product
}

func numberOfDivisorsOfNAndNPlusOne(n: Int) -> Int {
    var count = 0
    for i in 1...n {
        if n % i == 0 && (n + 1) % i == 0 {
            count += 1
        }
    }
    return count
}
```swift
// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * n
}

// For a given number n, find the sum of all divisors of n
// sumOfDivisors(n: 15) == 24
func sumOfDivisors(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        if n % i == 0 {
            sum += i
        }
    }
    return sum
}

// For a given number n, find the product of all divisors of n
// productOfDivisors(n: 15) == 225
func productOfDivisors(n: Int) -> Int {
    var product = 1
    for i in 1...n {
        if n % i == 0 {
            product *= i
        }
    }
    return product
}

// For a given number n, find the number of divisors of n
// numberOfDivisors(n: 15) == 4
func numberOfDivisors(n: Int) -> Int {
    var count = 0
    for i in 1...n {
        if n % i == 0 {
            count += 1
        }
    }
    return count
}

// For a given number n, find the sum of all prime divisors of n
// sumOfPrimeDivisors(n: 15) == 5
func sumOfPrimeDivisors(n: Int) -> Int {
    var sum = 0
    for i in 2...n {
        if n % i == 0 && isPrime(i) {
            sum += i
        }
    }
    return sum
}

// For a given number n, find the product of all prime divisors of n
// productOfPrimeDivisors(n: 15) == 5
func productOfPrimeDivisors(n: Int) -> Int {
    var product = 1
    for i in 2...n {
        if n % i == 0 && isPrime(i) {
            product *= i
        }
    }
    return product
}

// For a given number n, find the number of prime divisors of n
// numberOfPrimeDivisors(n: 15) == 2
func numberOfPrimeDivisors(n: Int) -> Int {
    var count = 0
    for i in 2...n {
        if n % i == 0 && isPrime(i) {
            count += 1
        }
    }
    return count
}

// For a given number n, find the sum of all divisors of n that are also divisors of n + 1
// sumOfDivisorsOfNAndNPlusOne(n: 15) == 24
func sumOfDivisorsOfNAndNPlusOne(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        if n % i == 0 && (n + 1) % i == 0 {
            sum += i
        }
    }
    return sum
}

// For a given number n, find the product of all divisors of n that are also divisors of n + 1
// productOfDivisorsOfNAndNPlusOne(n: 15) == 225
func productOfDivisorsOfNAndNPlusOne(n: Int) -> Int {
    var product = 1
    for i in 1...n {
        if n % i == 0 && (n + 1) % i == 0 {
            product *= i
        }
    }
    return product
}

// For a given number n, find the number of divisors of n that are also divisors of n + 1
// numberOfDivisorsOfNAndNPlusOne(n: 15) == 4
func numberOfDivisorsOfNAndNPlusOne(n: Int) -> Int {
    var count = 0
    for i in 1...n {
        if n % i == 0 && (n + 1) % i == 0 {
            count += 1
        }
    }
    return count
}

// For a given number n, find the sum of
if n % i == 0 && isPrime(i) { // cannot find 'isPrime' in scope
if n % i == 0 && isPrime(i) { // cannot find 'isPrime' in scope
if n % i == 0 && isPrime(i) { // cannot find 'isPrime' in scope

func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}
```swift
// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// Test the function
print(largestDivisor(n: 15)) // Output: 5
```

func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * n
}
```swift
// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * n
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * n
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * n
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * n
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * n
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1,

func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: 2 * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n
}
```swift
// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 15
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: 2 * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 15
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: 2 * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 15
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: 2 * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 15
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: 2 * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 15
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: 2 * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 15
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: 2 * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 15
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: 2 * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 15
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: 2 * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 15
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: 2 * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 15
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: 2 * n, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 15
func smallestDivisor(n: Int) -> Int {
   

func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}
```swift
// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for

func largestDivisor(n: Int) -> Int {
    for i in stride(from: n-1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n+1, through: 2*n, by: 1) {
        if n % i == 0 {
            return i
        }
    }
    return n
}
```swift
// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n-1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n+1, through: 2*n, by: 1) {
        if n % i == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n-1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n+1, through: 2*n, by: 1) {
        if n % i == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n-1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n+1, through: 2*n, by: 1) {
        if n % i == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n-1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n+1, through: 2*n, by: 1) {
        if n % i == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n-1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n+1, through: 2*n, by: 1) {
        if n % i == 0 {
            return i
        }
    }
    return n
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n-1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n+1, through: 2*n, by: 1) {
        if n % i == 0 {
           

func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}
```swift
// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// Test the function with a few examples
print(largestDivisor(n: 15)) // 5
print(largestDivisor(n: 28)) // 14
print(largestDivisor(n: 100)) // 50
```

func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}
```swift
// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// Test the function with a few examples
print(largestDivisor(n: 15)) // 5
print(largestDivisor(n: 28)) // 14
print(largestDivisor(n: 17)) // 1
```

func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}
```swift
// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for i in stride(from: n + 1, through: n * 2, by: 1) {
        if i % n == 0 {
            return i
        }
    }
    return n * 2
}

// For a given number n, find the largest number that divides n evenly, smaller than n
// largestDivisor(n: 15) == 5
func largestDivisor(n: Int) -> Int {
    for i in stride(from: n - 1, through: 1, by: -1) {
        if n % i == 0 {
            return i
        }
    }
    return 1
}

// For a given number n, find the smallest number that divides n evenly, larger than n
// smallestDivisor(n: 15) == 3
func smallestDivisor(n: Int) -> Int {
    for

func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var number = n
    var divisor = 2
    while number > 1 {
        if number % divisor == 0 {
            factors.append(divisor)
            number /= divisor
        } else {
            divisor += 1
        }
    }
    return factors
}
```swift
// Return array of prime factors of given integer in the order from smallest to largest.
// Each of the factors should be arrayed number of times corresponding to how many times it appeares in factorization.
// Input number should be equal to the product of all factors
// factorize(n: 8) == [2, 2, 2]
// factorize(n: 25) == [5, 5]
// factorize(n: 70) == [2, 5, 7]
func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var number = n
    var divisor = 2
    while number > 1 {
        if number % divisor == 0 {
            factors.append(divisor)
            number /= divisor
        } else {
            divisor += 1
        }
    }
    return factors
}
```

func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var number = n
    var divisor = 2
    while number > 1 {
        while number % divisor == 0 {
            factors.append(divisor)
            number /= divisor
        }
        divisor += 1
    }
    return factors
}
```swift
// Return array of prime factors of given integer in the order from smallest to largest.
// Each of the factors should be arrayed number of times corresponding to how many times it appeares in factorization.
// Input number should be equal to the product of all factors
// factorize(n: 8) == [2, 2, 2]
// factorize(n: 25) == [5, 5]
// factorize(n: 70) == [2, 5, 7]
func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var number = n
    var divisor = 2
    while number > 1 {
        while number % divisor == 0 {
            factors.append(divisor)
            number /= divisor
        }
        divisor += 1
    }
    return factors
}
```

func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    
    return factors
}
```swift
// Return array of prime factors of given integer in the order from smallest to largest.
// Each of the factors should be arrayed number of times corresponding to how many times it appeares in factorization.
// Input number should be equal to the product of all factors
// factorize(n: 8) == [2, 2, 2]
// factorize(n: 25) == [5, 5]
// factorize(n: 70) == [2, 5, 7]
func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    
    return factors
}
```

func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    while num > 1 {
        if num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        } else {
            divisor += 1
        }
    }
    return factors
}
```swift
// Return array of prime factors of given integer in the order from smallest to largest.
// Each of the factors should be arrayed number of times corresponding to how many times it appeares in factorization.
// Input number should be equal to the product of all factors
// factorize(n: 8) == [2, 2, 2]
// factorize(n: 25) == [5, 5]
// factorize(n: 70) == [2, 5, 7]
func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    while num > 1 {
        if num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        } else {
            divisor += 1
        }
    }
    return factors
}
```

func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    
    return factors
}
```swift
// Return array of prime factors of given integer in the order from smallest to largest.
// Each of the factors should be arrayed number of times corresponding to how many times it appeares in factorization.
// Input number should be equal to the product of all factors
// factorize(n: 8) == [2, 2, 2]
// factorize(n: 25) == [5, 5]
// factorize(n: 70) == [2, 5, 7]
func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    
    return factors
}
```

func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var number = n
    var divisor = 2
    
    while number > 1 {
        if number % divisor == 0 {
            factors.append(divisor)
            number /= divisor
        } else {
            divisor += 1
        }
    }
    
    return factors
}
```swift
// Return array of prime factors of given integer in the order from smallest to largest.
// Each of the factors should be arrayed number of times corresponding to how many times it appeares in factorization.
// Input number should be equal to the product of all factors
// factorize(n: 8) == [2, 2, 2]
// factorize(n: 25) == [5, 5]
// factorize(n: 70) == [2, 5, 7]
func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var number = n
    var divisor = 2
    
    while number > 1 {
        if number % divisor == 0 {
            factors.append(divisor)
            number /= divisor
        } else {
            divisor += 1
        }
    }
    
    return factors
}
```

func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    return factors
}
```swift
// Return array of prime factors of given integer in the order from smallest to largest.
// Each of the factors should be arrayed number of times corresponding to how many times it appeares in factorization.
// Input number should be equal to the product of all factors
// factorize(n: 8) == [2, 2, 2]
// factorize(n: 25) == [5, 5]
// factorize(n: 70) == [2, 5, 7]
func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    return factors
}
```

func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    
    return factors
}
```swift
// Return array of prime factors of given integer in the order from smallest to largest.
// Each of the factors should be arrayed number of times corresponding to how many times it appeares in factorization.
// Input number should be equal to the product of all factors
// factorize(n: 8) == [2, 2, 2]
// factorize(n: 25) == [5, 5]
// factorize(n: 70) == [2, 5, 7]
func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    
    return factors
}
```

func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var number = n
    var divisor = 2
    while number > 1 {
        if number % divisor == 0 {
            factors.append(divisor)
            number /= divisor
        } else {
            divisor += 1
        }
    }
    return factors
}
```swift
// Return array of prime factors of given integer in the order from smallest to largest.
// Each of the factors should be arrayed number of times corresponding to how many times it appeares in factorization.
// Input number should be equal to the product of all factors
// factorize(n: 8) == [2, 2, 2]
// factorize(n: 25) == [5, 5]
// factorize(n: 70) == [2, 5, 7]
func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var number = n
    var divisor = 2
    while number > 1 {
        if number % divisor == 0 {
            factors.append(divisor)
            number /= divisor
        } else {
            divisor += 1
        }
    }
    return factors
}
```

func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    return factors
}
```swift
// Return array of prime factors of given integer in the order from smallest to largest.
// Each of the factors should be arrayed number of times corresponding to how many times it appeares in factorization.
// Input number should be equal to the product of all factors
// factorize(n: 8) == [2, 2, 2]
// factorize(n: 25) == [5, 5]
// factorize(n: 70) == [2, 5, 7]
func factorize(n: Int) -> [Int] {
    var factors = [Int]()
    var num = n
    var divisor = 2
    while num > 1 {
        while num % divisor == 0 {
            factors.append(divisor)
            num /= divisor
        }
        divisor += 1
    }
    return factors
}
```

```swift
// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }
```

XCTAssertTrue(removeDuplicates(numbers: [] as [Int]) == [] as [Int]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 4]) == [1, 2, 3, 4]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 2, 4, 3, 5]) == [1, 4, 5]) // cannot find 'removeDuplicates' in scope

```swift
// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// Given a string, return the first non-repeating character in it.
// If it doesn't exist, return nil.
// firstNonRepeatingChar(string: "abacabad") == "c"
func firstNonRepeatingChar(string: String) -> Character? { ... }

// Given a string, return the longest substring without repeating characters.
// longestSubstring(string: "abcabcbb") == "abc"
func longestSubstring(string: String) -> String { ... }

// Given a string, return the number of vowels in it.
// countVowels(string: "hello") == 2
func countVowels(string: String) -> Int { ... }

// Given a string, return the string with all vowels removed.
// removeVowels(string: "hello") == "hll"
func removeVowels(string: String) -> String { ... }

// Given a string, return the string with all consonants removed.
// removeConsonants(string: "hello") == "eo"
func removeConsonants(string: String) -> String { ... }

// Given a string, return the string with all consonants replaced with the next consonant in the alphabet.
// replaceConsonants(string: "hello") == "hfnno"
func replaceConsonants(string: String) -> String { ... }

// Given a string, return the string with all vowels replaced with the next vowel in the alphabet.
// replaceVowels(string: "hello") == "hinnu"
func replaceVowels(string: String) -> String { ... }

// Given a string, return the string with all consonants replaced with the previous consonant in the alphabet.
// replaceConsonants(string: "hello") == "gdkkn"
func replaceConsonants(string: String) -> String { ... }

// Given a string, return the string with all vowels replaced with the previous vowel in the alphabet.
// replaceVowels(string: "hello") == "ginnu"
func replaceVowels(string: String) -> String { ... }

// Given a string, return the string with all consonants replaced with the next consonant in the alphabet.
// replaceConsonants(string: "hello") == "hfnno"
func replaceConsonants(string: String) -> String { ... }

// Given a string, return the string with all vowels replaced with the next vowel in the alphabet.
// replaceVowels(string: "hello") == "hinnu"
func replaceVowels(string: String) -> String { ... }

// Given a string, return the string with all consonants replaced with the previous consonant in the alphabet.
// replaceConsonants(string: "hello") == "gdkkn"
func replaceConsonants(string: String) -> String { ... }

// Given a string, return the string with all vowels replaced with the previous vowel in the alphabet.
// replaceVowels(string: "hello") == "ginnu"
func replaceVowels(string: String) -> String { ... }

// Given a string, return the string with all consonants replaced with the next consonant in the alphabet.
// replaceConsonants(string: "hello") == "hfnno"
func replaceConsonants(string: String) -> String { ... }

// Given a string, return the string with all vowels replaced with the next vowel in the alphabet.
// replaceVowels(string: "hello") == "hinnu"
func replaceVowels(string: String) -> String { ... }

// Given a string, return the string with all consonants replaced with the previous consonant in the alphabet.
// replaceConsonants(string: "hello") == "gdkkn"
func replaceConsonants(string: String) -> String { ... }

// Given a string, return the string with all vowels replaced with the previous vowel in the alphabet.
// replaceVowels(string: "hello") == "ginnu"
func replaceVowels(string: String) -> String { ... }

// Given a string, return the string with all consonants replaced with the next consonant in the alphabet.
// replaceConsonants(string: "hello") == "hfnno"
func replaceConsonants(string: String) -> String { ... }

// Given a string, return the string with all vowels replaced with the next vowel in the alphabet.
// replaceVowels(string: "hello") == "hinnu"
func replaceVowels(string: String) -> String { ... }

// Given a string, return the string with all consonants replaced with the previous consonant in the alphabet.
// replaceConsonants(string: "hello") == "gdkkn"
func replaceConsonants(string: String) -> String { ... }

// Given a string, return the string with all vowels replaced with the previous vowel in the alphabet.
// replaceVowels(string: "hello") == "ginn
XCTAssertTrue(removeDuplicates(numbers: [] as [Int]) == [] as [Int]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 4]) == [1, 2, 3, 4]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 2, 4, 3, 5]) == [1, 4, 5]) // cannot find 'removeDuplicates' in scope

```swift
// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// Given a string, return the string with all vowels removed.
// removeVowels(string: "Hello World") == "Hll Wrld"
func removeVowels(string: String) -> String { ... }

// Given a string, return the string with all characters in reverse order.
// reverseString(string: "Hello World") == "dlroW olleH"
func reverseString(string: String) -> String { ... }

// Given a string, return the string with all characters in uppercase.
// toUpperCase(string: "Hello World") == "HELLO WORLD"
func toUpperCase(string: String) -> String { ... }

// Given a string, return the string with all characters in lowercase.
// toLowerCase(string: "Hello World") == "hello world"
func toLowerCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in camel case.
// toCamelCase(string: "hello world") == "helloWorld"
func toCamelCase(string: String) -> String { ... }

// Given a string, return the string with all characters in snake case.
// toSnakeCase(string: "hello world") == "hello_world"
func toSnakeCase(string: String) -> String { ... }

// Given a string, return the string with all characters in kebab case.
// toKebabCase(string: "hello world") == "hello-world"
func toKebabCase(string: String) -> String { ... }

// Given a string, return the string with all characters in pascal case.
// toPascalCase(string: "hello world") == "HelloWorld"
func toPascalCase(string: String) -> String { ... }

// Given a string, return the string with all characters in sentence case.
// toSentenceCase(string: "hello world") == "Hello world"
func toSentenceCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world") == "Hello World"
func toTitleCase(string: String) -> String { ... }

// Given a string, return the string with all characters in title case.
// toTitleCase(string: "hello world
XCTAssertTrue(removeDuplicates(numbers: [] as [Int]) == [] as [Int]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 4]) == [1, 2, 3, 4]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 2, 4, 3, 5]) == [1, 4, 5]) // cannot find 'removeDuplicates' in scope

```swift
// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }
```

XCTAssertTrue(removeDuplicates(numbers: [] as [Int]) == [] as [Int]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 4]) == [1, 2, 3, 4]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 2, 4, 3, 5]) == [1, 4, 5]) // cannot find 'removeDuplicates' in scope

```swift
// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// From an array of strings, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(strings: ["apple", "banana", "apple", "cherry"]) == ["banana", "cherry"]
func removeDuplicates(strings: [String]) -> [String] { ... }

// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// From an array of strings, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(strings: ["apple", "banana", "apple", "cherry"]) == ["banana", "cherry"]
func removeDuplicates(strings: [String]) -> [String] { ... }

// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// From an array of strings, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(strings: ["apple", "banana", "apple", "cherry"]) == ["banana", "cherry"]
func removeDuplicates(strings: [String]) -> [String] { ... }

// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// From an array of strings, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(strings: ["apple", "banana", "apple", "cherry"]) == ["banana", "cherry"]
func removeDuplicates(strings: [String]) -> [String] { ... }

// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// From an array of strings, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(strings: ["apple", "banana", "apple", "cherry"]) == ["banana", "cherry"]
func removeDuplicates(strings: [String]) -> [String] { ... }

// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// From an array of strings, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(strings: ["apple", "banana", "apple", "cherry"]) == ["banana", "cherry"]
func removeDuplicates(strings: [String]) -> [String] { ... }

// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// From an array of strings, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(strings: ["apple", "banana", "apple", "cherry"]) == ["banana", "cherry"]
func removeDuplicates(strings: [String]) -> [String] { ... }

// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// From an array of strings, remove all elements that occur more than
XCTAssertTrue(removeDuplicates(numbers: [] as [Int]) == [] as [Int]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 4]) == [1, 2, 3, 4]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 2, 4, 3, 5]) == [1, 4, 5]) // cannot find 'removeDuplicates' in scope

func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var seen = Set<Int>()
    
    for num in numbers {
        if !seen.contains(num) {
            result.append(num)
            seen.insert(num)
        }
    }
    
    return result
}
```swift
// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] {
    var result = [Int]()
    var seen = Set<Int>()
    
    for num in numbers {
        if !seen.contains(num) {
            result.append(num)
            seen.insert(num)
        }
    }
    
    return result
}
```

func removeDuplicates(numbers: [Int]) -> [Int] { ... } // unary operator cannot be separated from its operand
func removeDuplicates(numbers: [Int]) -> [Int] { ... } // expected expression
func removeDuplicates(numbers: [Int]) -> [Int] { // invalid redeclaration of 'removeDuplicates(numbers:)'

```swift
// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// Given an array of integers, find the maximum sum of any contiguous subarray.
// maxSubarraySum(numbers: [1, -2, 3, 4, -1, 2, 1, -5, 4]) == 10
func maxSubarraySum(numbers: [Int]) -> Int { ... }

// Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
// isPalindrome(string: "A man, a plan, a canal: Panama") == true
func isPalindrome(string: String) -> Bool { ... }

// Given an array of integers, return the majority element (the element that appears more than n/2 times).
// majorityElement(numbers: [3, 2, 3]) == 3
func majorityElement(numbers: [Int]) -> Int { ... }

// Given a string, find the length of the longest substring without repeating characters.
// lengthOfLongestSubstring(string: "abcabcbb") == 3
func lengthOfLongestSubstring(string: String) -> Int { ... }

// Given a string, return the number of words in the string.
// countWords(string: "Hello world") == 2
func countWords(string: String) -> Int { ... }

// Given a string, return the string with all vowels removed.
// removeVowels(string: "Hello world") == "Hll wrld"
func removeVowels(string: String) -> String { ... }

// Given a string, return the string with all consonants removed.
// removeConsonants(string: "Hello world") == "eo o"
func removeConsonants(string: String) -> String { ... }

// Given a string, return the string with all uppercase letters converted to lowercase and vice versa.
// swapCase(string: "Hello World") == "hELLO wORLD"
func swapCase(string: String) -> String { ... }

// Given a string, return the string with all characters sorted in alphabetical order.
// sortString(string: "Hello world") == " deHllloorw"
func sortString(string: String) -> String { ... }

// Given a string, return the string with all characters sorted in reverse alphabetical order.
// reverseSortString(string: "Hello world") == "wroollHed"
func reverseSortString(string: String) -> String { ... }

// Given a string, return the string with all characters sorted in alphabetical order, ignoring case.
// sortStringIgnoringCase(string: "Hello World") == " deHllloorw"
func sortStringIgnoringCase(string: String) -> String { ... }

// Given a string, return the string with all characters sorted in reverse alphabetical order, ignoring case.
// reverseSortStringIgnoringCase(string: "Hello World") == "wroollHed"
func reverseSortStringIgnoringCase(string: String) -> String { ... }

// Given a string, return the string with all characters sorted in alphabetical order, ignoring case and punctuation.
// sortStringIgnoringCaseAndPunctuation(string: "Hello, World!") == " deHllloorw"
func sortStringIgnoringCaseAndPunctuation(string: String) -> String { ... }

// Given a string, return the string with all characters sorted in reverse alphabetical order, ignoring case and punctuation.
// reverseSortStringIgnoringCaseAndPunctuation(string: "Hello, World!") == "wroollHed"
func reverseSortStringIgnoringCaseAndPunctuation(string: String) -> String { ... }

// Given a string, return the string with all characters sorted in alphabetical order, ignoring case, punctuation, and whitespace.
// sortStringIgnoringCaseAndPunctuationAndWhitespace(string: "Hello, World!") == "deHllloorw"
func sortStringIgnoringCaseAndPunctuationAndWhitespace(string: String) -> String { ... }

// Given a string, return the string with all characters sorted in reverse alphabetical order, ignoring case, punctuation, and whitespace.
// reverseSortStringIgnoringCaseAndPunctuationAndWhitespace(string: "Hello, World!") == "wroollHed"
func reverseSortStringIgnoringCaseAndPunctuationAndWhitespace(string: String) -> String { ... }

// Given a string, return the string with all characters sorted in alphabetical order, ignoring case, punctuation, whitespace, and numbers.
// sortStringIgnoringCaseAndPunctuationAndWhitespaceAndNumbers(string: "Hello, World! 123") == "deHllloorw"
func sortStringIgnoringCaseAndPunctuationAndWhitespaceAndNumbers(string: String) -> String { ... }

// Given a string, return the string with all characters sorted in reverse alphabetical order, ignoring case, punctuation, whitespace, and numbers.
// reverseSortStringIgnoringCaseAndPunctuationAndWhitespaceAndNumbers(string: "Hello, World! 123") == "wroollHed"
func reverseSortStringIgnoringCaseAndPunctuationAndWhitespaceAndNumbers(string: String) ->
XCTAssertTrue(removeDuplicates(numbers: [] as [Int]) == [] as [Int]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 4]) == [1, 2, 3, 4]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 2, 4, 3, 5]) == [1, 4, 5]) // cannot find 'removeDuplicates' in scope

```swift
// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }

// Given a string, return a new string with all vowels removed.
// removeVowels(text: "Hello World") == "Hll Wrld"
func removeVowels(text: String) -> String { ... }

// Given a string, return a new string with all characters in reverse order.
// reverseString(text: "Hello World") == "dlroW olleH"
func reverseString(text: String) -> String { ... }

// Given a string, return a new string with all characters in uppercase.
// toUpperCase(text: "Hello World") == "HELLO WORLD"
func toUpperCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in lowercase.
// toLowerCase(text: "Hello World") == "hello world"
func toLowerCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in title case.
// toTitleCase(text: "hello world") == "Hello World"
func toTitleCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in camel case.
// toCamelCase(text: "hello world") == "helloWorld"
func toCamelCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in snake case.
// toSnakeCase(text: "hello world") == "hello_world"
func toSnakeCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in kebab case.
// toKebabCase(text: "hello world") == "hello-world"
func toKebabCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in pascal case.
// toPascalCase(text: "hello world") == "HelloWorld"
func toPascalCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in camel case.
// toCamelCase(text: "hello world") == "helloWorld"
func toCamelCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in snake case.
// toSnakeCase(text: "hello world") == "hello_world"
func toSnakeCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in kebab case.
// toKebabCase(text: "hello world") == "hello-world"
func toKebabCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in pascal case.
// toPascalCase(text: "hello world") == "HelloWorld"
func toPascalCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in camel case.
// toCamelCase(text: "hello world") == "helloWorld"
func toCamelCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in snake case.
// toSnakeCase(text: "hello world") == "hello_world"
func toSnakeCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in kebab case.
// toKebabCase(text: "hello world") == "hello-world"
func toKebabCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in pascal case.
// toPascalCase(text: "hello world") == "HelloWorld"
func toPascalCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in camel case.
// toCamelCase(text: "hello world") == "helloWorld"
func toCamelCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in snake case.
// toSnakeCase(text: "hello world") == "hello_world"
func toSnakeCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in kebab case.
// toKebabCase(text: "hello world") == "hello-world"
func toKebabCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in pascal case.
// toPascalCase(text: "hello world") == "HelloWorld"
func toPascalCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in camel case.
// toCamelCase(text: "hello world") == "helloWorld"
func toCamelCase(text: String) -> String { ... }

// Given a string, return a new string with all characters in
XCTAssertTrue(removeDuplicates(numbers: [] as [Int]) == [] as [Int]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 4]) == [1, 2, 3, 4]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 2, 4, 3, 5]) == [1, 4, 5]) // cannot find 'removeDuplicates' in scope

```swift
// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }
```

XCTAssertTrue(removeDuplicates(numbers: [] as [Int]) == [] as [Int]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 4]) == [1, 2, 3, 4]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 2, 4, 3, 5]) == [1, 4, 5]) // cannot find 'removeDuplicates' in scope

```swift
// From an array of integers, remove all elements that occur more than once.
// Keep order of elements left the same as in the input.
// removeDuplicates(numbers: [1, 2, 3, 2, 4]) == [1, 3, 4]
func removeDuplicates(numbers: [Int]) -> [Int] { ... }
```

XCTAssertTrue(removeDuplicates(numbers: [] as [Int]) == [] as [Int]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 4]) == [1, 2, 3, 4]) // cannot find 'removeDuplicates' in scope
XCTAssertTrue(removeDuplicates(numbers: [1, 2, 3, 2, 4, 3, 5]) == [1, 4, 5]) // cannot find 'removeDuplicates' in scope

func flipCase(string: String) -> String {
    return string.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined()
}

func checkFlipCase() {
    assert(flipCase(string: "Hello") == "hELLO", "Test case 1 failed")
    assert(flipCase(string: "WorLD") == "wORld", "Test case 2 failed")
    assert(flipCase(string: "Swift4.2") == "sWIFT4.2", "Test case 3 failed")
    assert(flipCase(string: "123abcABC") == "123ABCabc", "Test case 4 failed")
    print("All test cases passed!")
}
```swift
// For a given string, flip lowercase characters to uppercase and uppercase to lowercase.
// flipCase(string: "Hello") == "hELLO"
func flipCase(string: String) -> String {
    return string.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined()
}

// Example check function to verify the correctness of the flipCase function.
func checkFlipCase() {
    assert(flipCase(string: "Hello") == "hELLO", "Test case 1 failed")
    assert(flipCase(string: "WorLD") == "wORld", "Test case 2 failed")
    assert(flipCase(string: "Swift4.2") == "sWIFT4.2", "Test case 3 failed")
    assert(flipCase(string: "123abcABC") == "123ABCabc", "Test case 4 failed")
    print("All test cases passed!")
}

// Run the check function to verify the solution
checkFlipCase()
```

func flipCase(string: String) -> String {
    return string.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined()
}

func checkFlipCase() {
    let testCases = [
        ("Hello", "hELLO"),
        ("WORLD", "world"),
        ("Python3.8", "pYTHON3.8"),
        ("123abcABC", "123ABCabc"),
        ("", "")
    ]

    for (input, expected) in testCases {
        let result = flipCase(string: input)
        assert(result == expected, "For input '\(input)', expected '\(expected)' but got '\(result)'")
    }

    print("All test cases passed!")
}
```swift
// For a given string, flip lowercase characters to uppercase and uppercase to lowercase.
// flipCase(string: "Hello") == "hELLO"
func flipCase(string: String) -> String {
    return string.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined()
}

// Example check function to verify the correctness of the flipCase function.
func checkFlipCase() {
    let testCases = [
        ("Hello", "hELLO"),
        ("WORLD", "world"),
        ("Python3.8", "pYTHON3.8"),
        ("123abcABC", "123ABCabc"),
        ("", "")
    ]

    for (input, expected) in testCases {
        let result = flipCase(string: input)
        assert(result == expected, "For input '\(input)', expected '\(expected)' but got '\(result)'")
    }

    print("All test cases passed!")
}

// Run the check function to verify the solution
checkFlipCase()
```

func flipCase(string: String) -> String {
    var result = ""
    for char in string {
        if let asciiValue = char.asciiValue {
            if asciiValue >= 65 && asciiValue <= 90 {
                result += String(UnicodeScalar(asciiValue + 32))
            } else if asciiValue >= 97 && asciiValue <= 122 {
                result += String(UnicodeScalar(asciiValue - 32))
            } else {
                result += String(char)
            }
        }
    }
    return result
}
```swift
// For a given string, flip lowercase characters to uppercase and uppercase to lowercase.
// flipCase(string: "Hello") == "hELLO"
func flipCase(string: String) -> String {
    var result = ""
    for char in string {
        if let asciiValue = char.asciiValue {
            if asciiValue >= 65 && asciiValue <= 90 {
                result += String(UnicodeScalar(asciiValue + 32))
            } else if asciiValue >= 97 && asciiValue <= 122 {
                result += String(UnicodeScalar(asciiValue - 32))
            } else {
                result += String(char)
            }
        }
    }
    return result
}
```

func flipCase(string: String) -> String {
    var result = ""
    for char in string {
        if let ascii = char.asciiValue {
            if ascii >= 65 && ascii <= 90 {
                result.append(Character(UnicodeScalar(ascii + 32)!))
            } else if ascii >= 97 && ascii <= 122 {
                result.append(Character(UnicodeScalar(ascii - 32)!))
            } else {
                result.append(char)
            }
        }
    }
    return result
}
```swift
// For a given string, flip lowercase characters to uppercase and uppercase to lowercase.
// flipCase(string: "Hello") == "hELLO"
func flipCase(string: String) -> String {
    var result = ""
    for char in string {
        if let ascii = char.asciiValue {
            if ascii >= 65 && ascii <= 90 {
                result.append(Character(UnicodeScalar(ascii + 32)!))
            } else if ascii >= 97 && ascii <= 122 {
                result.append(Character(UnicodeScalar(ascii - 32)!))
            } else {
                result.append(char)
            }
        }
    }
    return result
}

// Example usage
print(flipCase(string: "Hello")) // Output: "hELLO"
```

result.append(Character(UnicodeScalar(ascii + 32)!)) // cannot force unwrap value of non-optional type 'UnicodeScalar' (aka 'Unicode.Scalar')
result.append(Character(UnicodeScalar(ascii - 32)!)) // cannot force unwrap value of non-optional type 'UnicodeScalar' (aka 'Unicode.Scalar')

func flipCase(string: String) -> String {
    return string.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined()
}

func checkFlipCase() {
    assert(flipCase(string: "Hello") == "hELLO", "Test case 1 failed")
    assert(flipCase(string: "WorLD") == "wORld", "Test case 2 failed")
    assert(flipCase(string: "Swift") == "sWIFT", "Test case 3 failed")
    assert(flipCase(string: "123") == "123", "Test case 4 failed")
    assert(flipCase(string: "") == "", "Test case 5 failed")
    print("All test cases passed!")
}
```swift
// For a given string, flip lowercase characters to uppercase and uppercase to lowercase.
// flipCase(string: "Hello") == "hELLO"
func flipCase(string: String) -> String {
    return string.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined()
}

// Check function to verify the correctness of the flipCase function.
func checkFlipCase() {
    assert(flipCase(string: "Hello") == "hELLO", "Test case 1 failed")
    assert(flipCase(string: "WorLD") == "wORld", "Test case 2 failed")
    assert(flipCase(string: "Swift") == "sWIFT", "Test case 3 failed")
    assert(flipCase(string: "123") == "123", "Test case 4 failed")
    assert(flipCase(string: "") == "", "Test case 5 failed")
    print("All test cases passed!")
}

// Run the check function to verify the solution
checkFlipCase()
```

func flipCase(string: String) -> String {
    var result = ""
    for char in string {
        if let upper = char.uppercased().first, let lower = char.lowercased().first {
            result += char == upper ? String(lower) : String(upper)
        }
    }
    return result
}
```swift
// For a given string, flip lowercase characters to uppercase and uppercase to lowercase.
// flipCase(string: "Hello") == "hELLO"
func flipCase(string: String) -> String {
    var result = ""
    for char in string {
        if let upper = char.uppercased().first, let lower = char.lowercased().first {
            result += char == upper ? String(lower) : String(upper)
        }
    }
    return result
}

// Test the function with provided data points
print(flipCase(string: "Hello")) // Expected output: "hELLO"
print(flipCase(string: "Swift")) // Expected output: "sWIFT"
print(flipCase(string: "123abcABC")) // Expected output: "123ABCabc"
```

func flipCase(string: String) -> String {
    return string.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined()
}
```swift
// For a given string, flip lowercase characters to uppercase and uppercase to lowercase.
// flipCase(string: "Hello") == "hELLO"
func flipCase(string: String) -> String {
    return string.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined()
}

// Example usage:
let result = flipCase(string: "Hello")
print(result) // Output: "hELLO"
```

func flipCase(string: String) -> String {
    var result = ""
    for char in string {
        if let ascii = char.asciiValue {
            if ascii >= 65 && ascii <= 90 {
                result.append(Character(UnicodeScalar(ascii + 32)!))
            } else if ascii >= 97 && ascii <= 122 {
                result.append(Character(UnicodeScalar(ascii - 32)!))
            } else {
                result.append(char)
            }
        }
    }
    return result
}
```swift
// For a given string, flip lowercase characters to uppercase and uppercase to lowercase.
// flipCase(string: "Hello") == "hELLO"
func flipCase(string: String) -> String {
    var result = ""
    for char in string {
        if let ascii = char.asciiValue {
            if ascii >= 65 && ascii <= 90 {
                result.append(Character(UnicodeScalar(ascii + 32)!))
            } else if ascii >= 97 && ascii <= 122 {
                result.append(Character(UnicodeScalar(ascii - 32)!))
            } else {
                result.append(char)
            }
        }
    }
    return result
}
```

result.append(Character(UnicodeScalar(ascii + 32)!)) // cannot force unwrap value of non-optional type 'UnicodeScalar' (aka 'Unicode.Scalar')
result.append(Character(UnicodeScalar(ascii - 32)!)) // cannot force unwrap value of non-optional type 'UnicodeScalar' (aka 'Unicode.Scalar')

func flipCase(string: String) -> String {
    return string.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined()
}
```swift
// For a given string, flip lowercase characters to uppercase and uppercase to lowercase.
// flipCase(string: "Hello") == "hELLO"
func flipCase(string: String) -> String {
    return string.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined()
}

// Test the flipCase function with a few examples.
print(flipCase(string: "Hello")) // "hELLO"
print(flipCase(string: "WORLD")) // "world"
print(flipCase(string: "sWAP")) // "Swap"
```

func flipCase(string: String) -> String {
    var result = ""
    for char in string {
        if let upper = char.uppercased().first, let lower = char.lowercased().first {
            result += char == upper ? String(lower) : String(upper)
        }
    }
    return result
}

func checkFlipCase() {
    assert(flipCase(string: "Hello") == "hELLO", "Test case 1 failed")
    assert(flipCase(string: "WorLD") == "wORld", "Test case 2 failed")
    assert(flipCase(string: "Swift") == "sWIFT", "Test case 3 failed")
    assert(flipCase(string: "123") == "123", "Test case 4 failed")
    assert(flipCase(string: "") == "", "Test case 5 failed")
    print("All test cases passed!")
}
```swift
// For a given string, flip lowercase characters to uppercase and uppercase to lowercase.
// flipCase(string: "Hello") == "hELLO"
func flipCase(string: String) -> String {
    var result = ""
    for char in string {
        if let upper = char.uppercased().first, let lower = char.lowercased().first {
            result += char == upper ? String(lower) : String(upper)
        }
    }
    return result
}

// Example check function to verify the correctness of the flipCase function.
func checkFlipCase() {
    assert(flipCase(string: "Hello") == "hELLO", "Test case 1 failed")
    assert(flipCase(string: "WorLD") == "wORld", "Test case 2 failed")
    assert(flipCase(string: "Swift") == "sWIFT", "Test case 3 failed")
    assert(flipCase(string: "123") == "123", "Test case 4 failed")
    assert(flipCase(string: "") == "", "Test case 5 failed")
    print("All test cases passed!")
}

// Run the check function to verify the solution
checkFlipCase()
```

func concatenate(strings: [String]) -> String {
    return strings.joined()
}

func split(string: String) -> [String] {
    return Array(string)
}

func join(strings: [String]) -> String {
    return strings.joined()
}
```swift
// Concatenate array of strings into a single string
// concatenate(strings: [] as [String]) == ""
// concatenate(strings: ["a", "b", "c"]) == "abc"
func concatenate(strings: [String]) -> String {
    return strings.joined()
}

// Split a string into an array of strings
// split(string: "") == [] as [String]
// split(string: "abc") == ["a", "b", "c"]
func split(string: String) -> [String] {
    return Array(string)
}

// Join an array of strings into a single string
// join(strings: [] as [String]) == ""
// join(strings: ["a", "b", "c"]) == "abc"
func join(strings: [String]) -> String {
    return strings.joined()
}

// Split a string into an array of strings
// split(string: "") == [] as [String]
// split(string: "abc") == ["a", "b", "c"]
func split(string: String) -> [String] {
    return Array(string)
}

// Join an array of strings into a single string
// join(strings: [] as [String]) == ""
// join(strings: ["a", "b", "c"]) == "abc"
func join(strings: [String]) -> String {
    return strings.joined()
}

// Split a string into an array of strings
// split(string: "") == [] as [String]
// split(string: "abc") == ["a", "b", "c"]
func split(string: String) -> [String] {
    return Array(string)
}

// Join an array of strings into a single string
// join(strings: [] as [String]) == ""
// join(strings: ["a", "b", "c"]) == "abc"
func join(strings: [String]) -> String {
    return strings.joined()
}

// Split a string into an array of strings
// split(string: "") == [] as [String]
// split(string: "abc") == ["a", "b", "c"]
func split(string: String) -> [String] {
    return Array(string)
}

// Join an array of strings into a single string
// join(strings: [] as [String]) == ""
// join(strings: ["a", "b", "c"]) == "abc"
func join(strings: [String]) -> String {
    return strings.joined()
}

// Split a string into an array of strings
// split(string: "") == [] as [String]
// split(string: "abc") == ["a", "b", "c"]
func split(string: String) -> [String] {
    return Array(string)
}

// Join an array of strings into a single string
// join(strings: [] as [String]) == ""
// join(strings: ["a", "b", "c"]) == "abc"
func join(strings: [String]) -> String {
    return strings.joined()
}

// Split a string into an array of strings
// split(string: "") == [] as [String]
// split(string: "abc") == ["a", "b", "c"]
func split(string: String) -> [String] {
    return Array(string)
}

// Join an array of strings into a single string
// join(strings: [] as [String]) == ""
// join(strings: ["a", "b", "c"]) == "abc"
func join(strings: [String]) -> String {
    return strings.joined()
}

// Split a string into an array of strings
// split(string: "") == [] as [String]
// split(string: "abc") == ["a", "b", "c"]
func split(string: String) -> [String] {
    return Array(string)
}

// Join an array of strings into a single string
// join(strings: [] as [String]) == ""
// join(strings: ["a", "b", "c"]) == "abc"
func join(strings: [String]) -> String {
    return strings.joined()
}

// Split a string into an array of strings
// split(string: "") == [] as [String]
// split(string: "abc") == ["a", "b", "c"]
func split(string: String) -> [String] {
    return Array(string)
}

// Join an array of strings into a single string
// join(strings: [] as [String]) == ""
// join(strings: ["a", "b", "c"]) == "abc"
func join(strings: [String]) -> String {
    return strings.joined()
}

// Split a string into an array of strings
// split(string: "") == [] as [String]
// split(string: "abc") == ["a", "b", "c"]
func split(string: String) -> [String] {
    return Array(string)
}

// Join an array of strings into a single string
// join(strings: [] as [String]) == ""
// join(strings: ["a", "b", "c"]) == "abc"
func join(strings: [String]) -> String {
    return strings.joined()
}

// Split a string into an array of strings
// split(string: "") == []
return Array(string) // missing argument label 'arrayLiteral:' in call

func concatenate(strings: [String]) -> String {
    return strings.joined(separator: "")
}
```swift
// Concatenate array of strings into a single string
// concatenate(strings: [] as [String]) == ""
// concatenate(strings: ["a", "b", "c"]) == "abc"
func concatenate(strings: [String]) -> String {
    return strings.joined(separator: "")
}
```

func concatenate(strings: [String]) -> String {
    return strings.joined()
}

func concatenate(integers: [Int]) -> String {
    return integers.map { String($0) }.joined()
}

func concatenate(doubles: [Double]) -> String {
    return doubles.map { String($0) }.joined()
}

func concatenate(booleans: [Bool]) -> String {
    return booleans.map { String($0) }.joined()
}

func concatenate(characters: [Character]) -> String {
    return String(characters)
}

func concatenate(arrays: [[Int]]) -> [Int] {
    return arrays.flatMap { $0 }
}

func concatenate(dictionaries: [Dictionary<String, Int>]) -> Dictionary<String, Int> {
    return dictionaries.reduce(into: [:]) { $0.merge($1, uniquingKeysWith: { $1 }) }
}

func concatenate(tuples: [(Int, String)]) -> [Any] {
    return tuples.flatMap { [$0.0, $0.1] }
}
```swift
// Concatenate array of strings into a single string
// concatenate(strings: [] as [String]) == ""
// concatenate(strings: ["a", "b", "c"]) == "abc"
func concatenate(strings: [String]) -> String {
    return strings.joined()
}

// Concatenate array of integers into a single string
// concatenate(integers: [] as [Int]) == ""
// concatenate(integers: [1, 2, 3]) == "123"
func concatenate(integers: [Int]) -> String {
    return integers.map { String($0) }.joined()
}

// Concatenate array of doubles into a single string
// concatenate(doubles: [] as [Double]) == ""
// concatenate(doubles: [1.1, 2.2, 3.3]) == "1.12.23.3"
func concatenate(doubles: [Double]) -> String {
    return doubles.map { String($0) }.joined()
}

// Concatenate array of booleans into a single string
// concatenate(booleans: [] as [Bool]) == ""
// concatenate(booleans: [true, false, true]) == "truefalsetrue"
func concatenate(booleans: [Bool]) -> String {
    return booleans.map { String($0) }.joined()
}

// Concatenate array of characters into a single string
// concatenate(characters: [] as [Character]) == ""
// concatenate(characters: ["a", "b", "c"]) == "abc"
func concatenate(characters: [Character]) -> String {
    return String(characters)
}

// Concatenate array of arrays into a single array
// concatenate(arrays: [] as [[Int]]) == []
// concatenate(arrays: [[1, 2], [3, 4], [5, 6]]) == [1, 2, 3, 4, 5, 6]
func concatenate(arrays: [[Int]]) -> [Int] {
    return arrays.flatMap { $0 }
}

// Concatenate array of dictionaries into a single dictionary
// concatenate(dictionaries: [] as [Dictionary<String, Int>]) == [:]
// concatenate(dictionaries: [{"a": 1}, {"b": 2}, {"c": 3}]) == ["a": 1, "b": 2, "c": 3]
func concatenate(dictionaries: [Dictionary<String, Int>]) -> Dictionary<String, Int> {
    return dictionaries.reduce(into: [:]) { $0.merge($1, uniquingKeysWith: { $1 }) }
}

// Concatenate array of tuples into a single array
// concatenate(tuples: [] as [(Int, String)]) == []
// concatenate(tuples: [(1, "a"), (2, "b"), (3, "c")]) == [1, "a", 2, "b", 3, "c"]
func concatenate(tuples: [(Int, String)]) -> [Any] {
    return tuples.flatMap { [$0.0, $0.1] }
}
```

func concatenate(strings: [String]) -> String {
    return strings.joined()
}

func split(string: String) -> [String] {
    return Array(string)
}

func contains(string: String, substring: String) -> Bool {
    return string.contains(substring)
}

func startsWith(string: String, substring: String) -> Bool {
    return string.hasPrefix(substring)
}

func endsWith(string: String, substring: String) -> Bool {
    return string.hasSuffix(substring)
}

func isEmpty(string: String) -> Bool {
    return string.isEmpty
}

func isNotEmpty(string: String) -> Bool {
    return !string.isEmpty
}

func isPalindrome(string: String) -> Bool {
    let reversedString = String(string.reversed())
    return string == reversedString
}

func isValidEmail(string: String) -> Bool {
    let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"
    let emailPredicate = NSPredicate(format: "SELF MATCHES %@", emailRegex)
    return emailPredicate.evaluate(with: string)
}

func isValidURL(string: String) -> Bool {
    let urlRegex = "^(http|https)://([A-Z0-9a-z.-]+\\.[A-Za-z]{2,})(:[0-9]+)?(/.*)?$"
    let urlPredicate = NSPredicate(format: "SELF MATCHES %@", urlRegex)
    return urlPredicate.evaluate(with: string)
}

func isValidPhoneNumber(string: String) -> Bool {
    let phoneNumberRegex = "^\\d{3}[-.\\s]?\\d{3}[-.\\s]?\\d{4}$"
    let phoneNumberPredicate = NSPredicate(format: "SELF MATCHES %@", phoneNumberRegex)
    return phoneNumberPredicate.evaluate(with: string)
}
```swift
// Concatenate array of strings into a single string
// concatenate(strings: [] as [String]) == ""
// concatenate(strings: ["a", "b", "c"]) == "abc"
func concatenate(strings: [String]) -> String {
    return strings.joined()
}

// Split a string into an array of strings
// split(string: "") == [] as [String]
// split(string: "abc") == ["a", "b", "c"]
func split(string: String) -> [String] {
    return Array(string)
}

// Check if a string contains a substring
// contains(string: "", substring: "") == true
// contains(string: "abc", substring: "a") == true
// contains(string: "abc", substring: "d") == false
func contains(string: String, substring: String) -> Bool {
    return string.contains(substring)
}

// Check if a string starts with a substring
// startsWith(string: "", substring: "") == true
// startsWith(string: "abc", substring: "a") == true
// startsWith(string: "abc", substring: "d") == false
func startsWith(string: String, substring: String) -> Bool {
    return string.hasPrefix(substring)
}

// Check if a string ends with a substring
// endsWith(string: "", substring: "") == true
// endsWith(string: "abc", substring: "c") == true
// endsWith(string: "abc", substring: "d") == false
func endsWith(string: String, substring: String) -> Bool {
    return string.hasSuffix(substring)
}

// Check if a string is empty
// isEmpty(string: "") == true
// isEmpty(string: "abc") == false
func isEmpty(string: String) -> Bool {
    return string.isEmpty
}

// Check if a string is not empty
// isNotEmpty(string: "") == false
// isNotEmpty(string: "abc") == true
func isNotEmpty(string: String) -> Bool {
    return !string.isEmpty
}

// Check if a string is a palindrome
// isPalindrome(string: "") == true
// isPalindrome(string: "a") == true
// isPalindrome(string: "ab") == false
// isPalindrome(string: "aba") == true
// isPalindrome(string: "abba") == true
// isPalindrome(string: "abcba") == true
func isPalindrome(string: String) -> Bool {
    let reversedString = String(string.reversed())
    return string == reversedString
}

// Check if a string is a valid email address
// isValidEmail(string: "") == false
// isValidEmail(string: "abc") == false
// isValidEmail(string: "abc@") == false
// isValidEmail(string: "abc@def") == false
// isValidEmail(string: "abc@def.") == false
// isValidEmail(string: "[email protected]") == true
func isValidEmail(string: String) -> Bool {
    let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"
    let emailPredicate = NSPredicate(format: "SELF MATCHES %@", emailRegex)
    return emailPredicate.evaluate(with: string)
}

// Check if a string is a valid URL
// isValidURL(string: "") == false
// isValidURL(string: "abc") == false
// isValidURL(string: "http://") == false
// isValidURL(string: "http://abc") == false
// isValidURL(string: "http://abc.") == false
// isValidURL(string: "http://abc.com") == true
func isValidURL(string: String) -> Bool {
    let urlRegex = "^(http|https)://([A-Z0-9a-z.-]+\\.[A-Za-z]{2,})(:[0-9]+)?(/.*)?$"
    let urlPredicate = NSPredicate(format: "SELF MATCHES %@", urlRegex)
    return urlPredicate.evaluate(with: string)
}

// Check if a string is a valid phone number
// isValidPhoneNumber(string: "") == false
// isValidPhoneNumber(string: "abc") == false
// isValidPhoneNumber(string: "123") == false
// isValidPhoneNumber(string: "123-456-7890") == true
// isValidPhoneNumber(string: "123.456.7890") == true
// isValidPhoneNumber(string: "(123) 456-7890") == true
func isValidPhoneNumber(string: String) -> Bool {
    let phoneNumberRegex = "^\\d{3}[-.\\s]?\\d{3}[-.\\s]?\\d{4}$"
    let phoneNumberPredicate = NSPredicate(format: "SELF MATCHES %@", phoneNumberRegex)
    return phoneNumberPredicate.evaluate(with: string)
}

// Check if a string is a valid date
// isValidDate(string: "") == false
// isValidDate(string: "abc") == false
// isValidDate(string: "12/31/2020") == true
//
return Array(string) // missing argument label 'arrayLiteral:' in call

func concatenate(strings: [String]) -> String {
    return strings.joined()
}

func concatenate(integers: [Int]) -> String {
    return integers.map { String($0) }.joined()
}

func concatenate(doubles: [Double]) -> String {
    return doubles.map { String($0) }.joined()
}

func concatenate(floats: [Float]) -> String {
    return floats.map { String($0) }.joined()
}

func concatenate(characters: [Character]) -> String {
    return String(characters)
}

func concatenate(bools: [Bool]) -> String {
    return bools.map { String($0) }.joined()
}

func concatenate(arrays: [[Int]]) -> String {
    return arrays.flatMap { $0 }.map { String($0) }.joined()
}

func concatenate(dictionaries: [Dictionary<String, Int>]) -> String {
    return dictionaries.flatMap { $0 }.map { String($0.value) }.joined()
}

func concatenate(tuples: [(Int, String)]) -> String {
    return tuples.flatMap { "\($0.0)\($0.1)" }.joined()
}

enum MyEnum: String {
    case a = "a"
    case b = "b"
    case c = "c"
}

func concatenate(enums: [MyEnum]) -> String {
    return enums.map { $0.rawValue }.joined()
}

class MyCustomObject {
    let a: Int
    let b: String
    init(a: Int, b: String) {
        self.a = a
        self.b = b
    }
}

func concatenate(customObjects: [MyCustomObject]) -> String {
    return customObjects.map { "\($0.a)\($0.b)" }.joined()
}
```swift
// Concatenate array of strings into a single string
// concatenate(strings: [] as [String]) == ""
// concatenate(strings: ["a", "b", "c"]) == "abc"
func concatenate(strings: [String]) -> String {
    return strings.joined()
}

// Concatenate array of integers into a single string
// concatenate(integers: [] as [Int]) == ""
// concatenate(integers: [1, 2, 3]) == "123"
func concatenate(integers: [Int]) -> String {
    return integers.map { String($0) }.joined()
}

// Concatenate array of doubles into a single string
// concatenate(doubles: [] as [Double]) == ""
// concatenate(doubles: [1.1, 2.2, 3.3]) == "1.12.23.3"
func concatenate(doubles: [Double]) -> String {
    return doubles.map { String($0) }.joined()
}

// Concatenate array of floats into a single string
// concatenate(floats: [] as [Float]) == ""
// concatenate(floats: [1.1, 2.2, 3.3]) == "1.12.23.3"
func concatenate(floats: [Float]) -> String {
    return floats.map { String($0) }.joined()
}

// Concatenate array of characters into a single string
// concatenate(characters: [] as [Character]) == ""
// concatenate(characters: ["a", "b", "c"]) == "abc"
func concatenate(characters: [Character]) -> String {
    return String(characters)
}

// Concatenate array of booleans into a single string
// concatenate(bools: [] as [Bool]) == ""
// concatenate(bools: [true, false, true]) == "truefalsetrue"
func concatenate(bools: [Bool]) -> String {
    return bools.map { String($0) }.joined()
}

// Concatenate array of arrays into a single string
// concatenate(arrays: [] as [[Int]]) == ""
// concatenate(arrays: [[1, 2], [3, 4], [5, 6]]) == "123456"
func concatenate(arrays: [[Int]]) -> String {
    return arrays.flatMap { $0 }.map { String($0) }.joined()
}

// Concatenate array of dictionaries into a single string
// concatenate(dictionaries: [] as [Dictionary<String, Int>]) == ""
// concatenate(dictionaries: [{"a": 1}, {"b": 2}, {"c": 3}]) == "a1b2c3"
func concatenate(dictionaries: [Dictionary<String, Int>]) -> String {
    return dictionaries.flatMap { $0 }.map { String($0.value) }.joined()
}

// Concatenate array of tuples into a single string
// concatenate(tuples: [] as [(Int, String)]) == ""
// concatenate(tuples: [(1, "a"), (2, "b"), (3, "c")]) == "1a2b3c"
func concatenate(tuples: [(Int, String)]) -> String {
    return tuples.flatMap { "\($0.0)\($0.1)" }.joined()
}

// Concatenate array of enums into a single string
// concatenate(enums: [] as [MyEnum]) == ""
// concatenate(enums: [MyEnum.a, MyEnum.b, MyEnum.c]) == "abc"
enum MyEnum: String {
    case a = "a"
    case b = "b"
    case c = "c"
}
func concatenate(enums: [MyEnum]) -> String {
    return enums.map { $0.rawValue }.joined()
}

// Concatenate array of custom objects into a single string
// concatenate(customObjects: [] as [MyCustomObject]) == ""
// concatenate(customObjects: [MyCustomObject(a: 1, b: "a"), MyCustomObject(a: 2, b: "b"), MyCustomObject(a: 3, b: "c")]) == "1a2b3c"
class MyCustomObject {
    let a: Int
    let b: String
    init(a: Int, b: String) {
        self.a = a
        self.b = b
    }
}
func concatenate(customObjects: [MyCustomObject]) -> String {
    return customObjects.map { "\($0.a)\($0.b)" }.joined()
}
```

return tuples.flatMap { "\($0.0)\($0.1)" }.joined() // 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value

func concatenate(strings: [String]) -> String {
    return strings.joined()
}
```swift
// Concatenate array of strings into a single string
// concatenate(strings: [] as [String]) == ""
// concatenate(strings: ["a", "b", "c"]) == "abc"
func concatenate(strings: [String]) -> String {
    return strings.joined()
}
```

func concatenate(strings: [String]) -> String {
    return strings.joined()
}
```swift
// Concatenate array of strings into a single string
// concatenate(strings: [] as [String]) == ""
// concatenate(strings: ["a", "b", "c"]) == "abc"
func concatenate(strings: [String]) -> String {
    return strings.joined()
}
```

func concatenate(strings: [String]) -> String {
    return strings.joined()
}

func concatenate(integers: [Int]) -> String {
    return integers.map { String($0) }.joined()
}

func concatenate(doubles: [Double]) -> String {
    return doubles.map { String($0) }.joined()
}

func concatenate(floats: [Float]) -> String {
    return floats.map { String($0) }.joined()
}

func concatenate(characters: [Character]) -> String {
    return String(characters)
}

func concatenate(booleans: [Bool]) -> String {
    return booleans.map { String($0) }.joined()
}

func concatenate(arrays: [[String]]) -> String {
    return arrays.flatMap { $0 }.joined()
}

func concatenate(dictionaries: [Dictionary<String, String>]) -> String {
    return dictionaries.flatMap { $0.values }.joined()
}

func concatenate(tuples: [(String, String)]) -> String {
    return tuples.flatMap { $0.0 + $0.1 }.joined()
}

func concatenate(customObjects: [CustomObject]) -> String {
    return customObjects.map { $0.toString() }.joined()
}

func concatenate(customObjects: [CustomObject], separator: String) -> String {
    return customObjects.map { $0.toString() }.joined(separator: separator)
}
```swift
// Concatenate array of strings into a single string
// concatenate(strings: [] as [String]) == ""
// concatenate(strings: ["a", "b", "c"]) == "abc"
func concatenate(strings: [String]) -> String {
    return strings.joined()
}

// Concatenate array of integers into a single string
// concatenate(integers: [] as [Int]) == ""
// concatenate(integers: [1, 2, 3]) == "123"
func concatenate(integers: [Int]) -> String {
    return integers.map { String($0) }.joined()
}

// Concatenate array of doubles into a single string
// concatenate(doubles: [] as [Double]) == ""
// concatenate(doubles: [1.1, 2.2, 3.3]) == "1.12.23.3"
func concatenate(doubles: [Double]) -> String {
    return doubles.map { String($0) }.joined()
}

// Concatenate array of floats into a single string
// concatenate(floats: [] as [Float]) == ""
// concatenate(floats: [1.1, 2.2, 3.3]) == "1.12.23.3"
func concatenate(floats: [Float]) -> String {
    return floats.map { String($0) }.joined()
}

// Concatenate array of characters into a single string
// concatenate(characters: [] as [Character]) == ""
// concatenate(characters: ["a", "b", "c"]) == "abc"
func concatenate(characters: [Character]) -> String {
    return String(characters)
}

// Concatenate array of booleans into a single string
// concatenate(booleans: [] as [Bool]) == ""
// concatenate(booleans: [true, false, true]) == "truefalsetrue"
func concatenate(booleans: [Bool]) -> String {
    return booleans.map { String($0) }.joined()
}

// Concatenate array of arrays into a single string
// concatenate(arrays: [] as [[String]]) == ""
// concatenate(arrays: [["a", "b"], ["c", "d"], ["e", "f"]]) == "abcdef"
func concatenate(arrays: [[String]]) -> String {
    return arrays.flatMap { $0 }.joined()
}

// Concatenate array of dictionaries into a single string
// concatenate(dictionaries: [] as [Dictionary<String, String>]) == ""
// concatenate(dictionaries: [{"a": "b"}, {"c": "d"}, {"e": "f"}]) == "abcdef"
func concatenate(dictionaries: [Dictionary<String, String>]) -> String {
    return dictionaries.flatMap { $0.values }.joined()
}

// Concatenate array of tuples into a single string
// concatenate(tuples: [] as [(String, String)]) == ""
// concatenate(tuples: [("a", "b"), ("c", "d"), ("e", "f")]) == "abcdef"
func concatenate(tuples: [(String, String)]) -> String {
    return tuples.flatMap { $0.0 + $0.1 }.joined()
}

// Concatenate array of custom objects into a single string
// concatenate(customObjects: [] as [CustomObject]) == ""
// concatenate(customObjects: [CustomObject("a"), CustomObject("b"), CustomObject("c")]) == "abc"
func concatenate(customObjects: [CustomObject]) -> String {
    return customObjects.map { $0.toString() }.joined()
}

// Concatenate array of custom objects into a single string using a custom separator
// concatenate(customObjects: [] as [CustomObject], separator: ", ") == ""
// concatenate(customObjects: [CustomObject("a"), CustomObject("b"), CustomObject("c")], separator: ", ") == "a, b, c"
func concatenate(customObjects: [CustomObject], separator: String) -> String {
    return customObjects.map { $0.toString() }.joined(separator: separator)
}
```

return tuples.flatMap { $0.0 + $0.1 }.joined() // 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
func concatenate(customObjects: [CustomObject]) -> String { // cannot find type 'CustomObject' in scope
func concatenate(customObjects: [CustomObject], separator: String) -> String { // cannot find type 'CustomObject' in scope

func concatenate(strings: [String]) -> String {
    return strings.joined(separator: "")
}
```swift
// Concatenate array of strings into a single string
// concatenate(strings: [] as [String]) == ""
// concatenate(strings: ["a", "b", "c"]) == "abc"
func concatenate(strings: [String]) -> String {
    return strings.joined(separator: "")
}
```

func concatenate(strings: [String]) -> String {
    return strings.joined()
}
```swift
// Concatenate array of strings into a single string
// concatenate(strings: [] as [String]) == ""
// concatenate(strings: ["a", "b", "c"]) == "abc"
func concatenate(strings: [String]) -> String {
    return strings.joined()
}
```

func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```swift
// Filter an input array of strings only for ones that start with a given prefix.
// filterByPrefix(strings: [] as [String], prefix: "a") == [] as [String]
// filterByPrefix(strings: ["abc", "bcd", "cde", "array"], prefix: "a") == ["abc", "array"]
func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```

func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```swift
// Filter an input array of strings only for ones that start with a given prefix.
// filterByPrefix(strings: [] as [String], prefix: "a") == [] as [String]
// filterByPrefix(strings: ["abc", "bcd", "cde", "array"], prefix: "a") == ["abc", "array"]
func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```

func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}

func filterBySuffix(strings: [String], suffix: String) -> [String] {
    return strings.filter { $0.hasSuffix(suffix) }
}

func filterByRegex(strings: [String], regex: String) -> [String] {
    let regex = try! NSRegularExpression(pattern: regex)
    return strings.filter { regex.firstMatch(in: $0, options: [], range: NSRange(location: 0, length: $0.utf16.count)) != nil }
}
```swift
// Filter an input array of strings only for ones that start with a given prefix.
// filterByPrefix(strings: [] as [String], prefix: "a") == [] as [String]
// filterByPrefix(strings: ["abc", "bcd", "cde", "array"], prefix: "a") == ["abc", "array"]
func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}

// Filter an input array of strings only for ones that contain a given substring.
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bcd", "cde", "array"], substring: "a") == ["abc", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}

// Filter an input array of strings only for ones that end with a given suffix.
// filterBySuffix(strings: [] as [String], suffix: "a") == [] as [String]
// filterBySuffix(strings: ["abc", "bcd", "cde", "array"], suffix: "a") == ["abc", "array"]
func filterBySuffix(strings: [String], suffix: String) -> [String] {
    return strings.filter { $0.hasSuffix(suffix) }
}

// Filter an input array of strings only for ones that match a given regular expression.
// filterByRegex(strings: [] as [String], regex: "a") == [] as [String]
// filterByRegex(strings: ["abc", "bcd", "cde", "array"], regex: "a") == ["abc", "array"]
func filterByRegex(strings: [String], regex: String) -> [String] {
    let regex = try! NSRegularExpression(pattern: regex)
    return strings.filter { regex.firstMatch(in: $0, options: [], range: NSRange(location: 0, length: $0.utf16.count)) != nil }
}
```

func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```swift
// Filter an input array of strings only for ones that start with a given prefix.
// filterByPrefix(strings: [] as [String], prefix: "a") == [] as [String]
// filterByPrefix(strings: ["abc", "bcd", "cde", "array"], prefix: "a") == ["abc", "array"]
func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```

func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```swift
// Filter an input array of strings only for ones that start with a given prefix.
// filterByPrefix(strings: [] as [String], prefix: "a") == [] as [String]
// filterByPrefix(strings: ["abc", "bcd", "cde", "array"], prefix: "a") == ["abc", "array"]
func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```

func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}

func filterBySuffix(strings: [String], suffix: String) -> [String] {
    return strings.filter { $0.hasSuffix(suffix) }
}

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that start with a given prefix.
// filterByPrefix(strings: [] as [String], prefix: "a") == [] as [String]
// filterByPrefix(strings: ["abc", "bcd", "cde", "array"], prefix: "a") == ["abc", "array"]
func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}

// Filter an input array of strings only for ones that end with a given suffix.
// filterBySuffix(strings: [] as [String], suffix: "a") == [] as [String]
// filterBySuffix(strings: ["abc", "bcd", "cde", "array"], suffix: "a") == ["abc", "array"]
func filterBySuffix(strings: [String], suffix: String) -> [String] {
    return strings.filter { $0.hasSuffix(suffix) }
}

// Filter an input array of strings only for ones that contain a given substring.
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bcd", "cde", "array"], substring: "a") == ["abc", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}

func filterBySuffix(strings: [String], suffix: String) -> [String] {
    return strings.filter { $0.hasSuffix(suffix) }
}

func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```swift
// Filter an input array of strings only for ones that start with a given prefix.
// filterByPrefix(strings: [] as [String], prefix: "a") == [] as [String]
// filterByPrefix(strings: ["abc", "bcd", "cde", "array"], prefix: "a") == ["abc", "array"]
func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}

// Filter an input array of strings only for ones that end with a given suffix.
// filterBySuffix(strings: [] as [String], suffix: "a") == [] as [String]
// filterBySuffix(strings: ["abc", "bcd", "cde", "array"], suffix: "a") == ["abc", "array"]
func filterBySuffix(strings: [String], suffix: String) -> [String] {
    return strings.filter { $0.hasSuffix(suffix) }
}

// Filter an input array of strings only for ones that contain a given substring.
// filterBySubstring(strings: [] as [String], substring: "a") == [] as [String]
// filterBySubstring(strings: ["abc", "bcd", "cde", "array"], substring: "a") == ["abc", "array"]
func filterBySubstring(strings: [String], substring: String) -> [String] {
    return strings.filter { $0.contains(substring) }
}
```

func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```swift
// Filter an input array of strings only for ones that start with a given prefix.
// filterByPrefix(strings: [] as [String], prefix: "a") == [] as [String]
// filterByPrefix(strings: ["abc", "bcd", "cde", "array"], prefix: "a") == ["abc", "array"]
func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```

func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```swift
// Filter an input array of strings only for ones that start with a given prefix.
// filterByPrefix(strings: [] as [String], prefix: "a") == [] as [String]
// filterByPrefix(strings: ["abc", "bcd", "cde", "array"], prefix: "a") == ["abc", "array"]
func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```

func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```swift
// Filter an input array of strings only for ones that start with a given prefix.
// filterByPrefix(strings: [] as [String], prefix: "a") == [] as [String]
// filterByPrefix(strings: ["abc", "bcd", "cde", "array"], prefix: "a") == ["abc", "array"]
func filterByPrefix(strings: [String], prefix: String) -> [String] {
    return strings.filter { $0.hasPrefix(prefix) }
}
```

func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}
```swift
// Return only positive numbers in the array.
// getPositive(l: [-1, 2, -4, 5, 6]) == [2, 5, 6]
// getPositive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, 2, 3, 9, 123, 1]
func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}
```

func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}
```swift
// Return only positive numbers in the array.
// getPositive(l: [-1, 2, -4, 5, 6]) == [2, 5, 6]
// getPositive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, 2, 3, 9, 123, 1]
func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}
```

func getPositive(l: [Int]) -> [Int] { 
    return l.filter { $0 > 0 }
}
```swift
// Return only positive numbers in the array.
// getPositive(l: [-1, 2, -4, 5, 6]) == [2, 5, 6]
// getPositive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, 2, 3, 9, 123, 1]
func getPositive(l: [Int]) -> [Int] { 
    return l.filter { $0 > 0 }
}
```

func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

func getDivisibleBy3(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

func getDivisibleBy5(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

func getDivisibleBy7(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

func getDivisibleBy11(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

func getDivisibleBy13(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}
```swift
// Return only positive numbers in the array.
// getPositive(l: [-1, 2, -4, 5, 6]) == [2, 5, 6]
// getPositive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, 2, 3, 9, 123, 1]
func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

// Return only negative numbers in the array.
// getNegative(l: [-1, 2, -4, 5, 6]) == [-1, -4]
// getNegative(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [-5, -3, -10]
func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

// Return only even numbers in the array.
// getEven(l: [-1, 2, -4, 5, 6]) == [2, -4, 6]
// getEven(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [2, 0, -10]
func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

// Return only odd numbers in the array.
// getOdd(l: [-1, 2, -4, 5, 6]) == [-1, 5]
// getOdd(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, -5, -3, 3, 9, 1]
func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

// Return only numbers that are divisible by 3 in the array.
// getDivisibleBy3(l: [-1, 2, -4, 5, 6]) == [6]
// getDivisibleBy3(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [3, -3, 9, 123]
func getDivisibleBy3(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

// Return only numbers that are divisible by 5 in the array.
// getDivisibleBy5(l: [-1, 2, -4, 5, 6]) == [5]
// getDivisibleBy5(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, -5, 0, -10]
func getDivisibleBy5(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

// Return only numbers that are divisible by 7 in the array.
// getDivisibleBy7(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy7(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [0]
func getDivisibleBy7(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

// Return only numbers that are divisible by 11 in the array.
// getDivisibleBy11(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy11(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleBy11(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

// Return only numbers that are divisible by 13 in the array.
// getDivisibleBy13(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy13(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleBy13(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}

// Return only numbers that are divisible by 17 in the array.
// getDivisibleBy17(l: [-1, 2, -

func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}
```swift
// Return only positive numbers in the array.
// getPositive(l: [-1, 2, -4, 5, 6]) == [2, 5, 6]
// getPositive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, 2, 3, 9, 123, 1]
func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}
```

func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

func getDivisibleBy3(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

func getDivisibleBy5(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

func getDivisibleBy7(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

func getDivisibleBy11(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

func getDivisibleBy13(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}
```swift
// Return only positive numbers in the array.
// getPositive(l: [-1, 2, -4, 5, 6]) == [2, 5, 6]
// getPositive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, 2, 3, 9, 123, 1]
func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

// Return only negative numbers in the array.
// getNegative(l: [-1, 2, -4, 5, 6]) == [-1, -4]
// getNegative(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [-5, -3, -10]
func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

// Return only even numbers in the array.
// getEven(l: [-1, 2, -4, 5, 6]) == [2, -4, 6]
// getEven(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [2, 0, -10]
func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

// Return only odd numbers in the array.
// getOdd(l: [-1, 2, -4, 5, 6]) == [-1, 5]
// getOdd(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, -5, -3, 3, 9, 1]
func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

// Return only numbers that are divisible by 3 in the array.
// getDivisibleBy3(l: [-1, 2, -4, 5, 6]) == [6]
// getDivisibleBy3(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [3, -3, 9, 123, 0]
func getDivisibleBy3(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

// Return only numbers that are divisible by 5 in the array.
// getDivisibleBy5(l: [-1, 2, -4, 5, 6]) == [5]
// getDivisibleBy5(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, -5, 0, -10]
func getDivisibleBy5(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

// Return only numbers that are divisible by 7 in the array.
// getDivisibleBy7(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy7(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [0]
func getDivisibleBy7(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

// Return only numbers that are divisible by 11 in the array.
// getDivisibleBy11(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy11(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleBy11(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

// Return only numbers that are divisible by 13 in the array.
// getDivisibleBy13(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy13(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleBy13(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}

// Return only numbers that are divisible by 17 in the array.
// getDivisibleBy17(l: [-1, 

func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

func getDivisibleBy3(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

func getDivisibleBy5(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

func getDivisibleBy7(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

func getDivisibleBy11(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

func getDivisibleBy13(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}
```swift
// Return only positive numbers in the array.
// getPositive(l: [-1, 2, -4, 5, 6]) == [2, 5, 6]
// getPositive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, 2, 3, 9, 123, 1]
func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

// Return only negative numbers in the array.
// getNegative(l: [-1, 2, -4, 5, 6]) == [-1, -4]
// getNegative(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [-5, -3, -10]
func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

// Return only even numbers in the array.
// getEven(l: [-1, 2, -4, 5, 6]) == [2, -4, 6]
// getEven(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [2, 0, -10]
func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

// Return only odd numbers in the array.
// getOdd(l: [-1, 2, -4, 5, 6]) == [-1, 5]
// getOdd(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, -5, -3, 3, 9, 1]
func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

// Return only numbers that are divisible by 3 in the array.
// getDivisibleBy3(l: [-1, 2, -4, 5, 6]) == [6]
// getDivisibleBy3(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [3, -3, 9, 123]
func getDivisibleBy3(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

// Return only numbers that are divisible by 5 in the array.
// getDivisibleBy5(l: [-1, 2, -4, 5, 6]) == [5]
// getDivisibleBy5(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, -5, 0, -10]
func getDivisibleBy5(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

// Return only numbers that are divisible by 7 in the array.
// getDivisibleBy7(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy7(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [0]
func getDivisibleBy7(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

// Return only numbers that are divisible by 11 in the array.
// getDivisibleBy11(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy11(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleBy11(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

// Return only numbers that are divisible by 13 in the array.
// getDivisibleBy13(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy13(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleBy13(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}

// Return only numbers that are divisible by 17 in the array.
// getDivisibleBy17(l: [-1, 2, -

func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

func getDivisibleBy3(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

func getDivisibleBy5(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

func getDivisibleBy7(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

func getDivisibleBy11(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

func getDivisibleBy13(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}
```swift
// Return only positive numbers in the array.
// getPositive(l: [-1, 2, -4, 5, 6]) == [2, 5, 6]
// getPositive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, 2, 3, 9, 123, 1]
func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

// Return only negative numbers in the array.
// getNegative(l: [-1, 2, -4, 5, 6]) == [-1, -4]
// getNegative(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [-5, -3, -10]
func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

// Return only even numbers in the array.
// getEven(l: [-1, 2, -4, 5, 6]) == [2, -4, 6]
// getEven(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [2, 0, -10]
func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

// Return only odd numbers in the array.
// getOdd(l: [-1, 2, -4, 5, 6]) == [-1, 5]
// getOdd(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, -5, -3, 3, 9, 1]
func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

// Return only numbers that are divisible by 3 in the array.
// getDivisibleBy3(l: [-1, 2, -4, 5, 6]) == [6]
// getDivisibleBy3(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [3, -3, 9, 123, 0]
func getDivisibleBy3(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

// Return only numbers that are divisible by 5 in the array.
// getDivisibleBy5(l: [-1, 2, -4, 5, 6]) == [5]
// getDivisibleBy5(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, -5, 0, -10]
func getDivisibleBy5(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

// Return only numbers that are divisible by 7 in the array.
// getDivisibleBy7(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy7(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [0]
func getDivisibleBy7(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

// Return only numbers that are divisible by 11 in the array.
// getDivisibleBy11(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy11(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleBy11(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

// Return only numbers that are divisible by 13 in the array.
// getDivisibleBy13(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBy13(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleBy13(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}

// Return only numbers that are divisible by 17 in the array.
// getDivisibleBy17(l: [-1, 

func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

func getDivisibleByThree(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

func getDivisibleByFive(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

func getDivisibleBySeven(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

func getDivisibleByEleven(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

func getDivisibleByThirteen(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}
```swift
// Return only positive numbers in the array.
// getPositive(l: [-1, 2, -4, 5, 6]) == [2, 5, 6]
// getPositive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, 2, 3, 9, 123, 1]
func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

// Return only negative numbers in the array.
// getNegative(l: [-1, 2, -4, 5, 6]) == [-1, -4]
// getNegative(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [-5, -3, -10]
func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

// Return only even numbers in the array.
// getEven(l: [-1, 2, -4, 5, 6]) == [2, -4, 6]
// getEven(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [2, 0, -10]
func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

// Return only odd numbers in the array.
// getOdd(l: [-1, 2, -4, 5, 6]) == [-1, 5]
// getOdd(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, -5, -3, 3, 9, 1]
func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

// Return only numbers that are divisible by 3 in the array.
// getDivisibleByThree(l: [-1, 2, -4, 5, 6]) == [6]
// getDivisibleByThree(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [3, -3, 9, 123, 0]
func getDivisibleByThree(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

// Return only numbers that are divisible by 5 in the array.
// getDivisibleByFive(l: [-1, 2, -4, 5, 6]) == [5]
// getDivisibleByFive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, -5, 0, -10]
func getDivisibleByFive(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

// Return only numbers that are divisible by 7 in the array.
// getDivisibleBySeven(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBySeven(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [0]
func getDivisibleBySeven(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

// Return only numbers that are divisible by 11 in the array.
// getDivisibleByEleven(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleByEleven(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleByEleven(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

// Return only numbers that are divisible by 13 in the array.
// getDivisibleByThirteen(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleByThirteen(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleByThirteen(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}

// Return only numbers that are divisible by 17 in the array.
// getDivisibleBySeventeen(l: [-1,

func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

func getDivisibleByThree(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

func getDivisibleByFive(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

func getDivisibleBySeven(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

func getDivisibleByEleven(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

func getDivisibleByThirteen(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}
```swift
// Return only positive numbers in the array.
// getPositive(l: [-1, 2, -4, 5, 6]) == [2, 5, 6]
// getPositive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, 2, 3, 9, 123, 1]
func getPositive(l: [Int]) -> [Int] {
    return l.filter { $0 > 0 }
}

// Return only negative numbers in the array.
// getNegative(l: [-1, 2, -4, 5, 6]) == [-1, -4]
// getNegative(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [-5, -3, -10]
func getNegative(l: [Int]) -> [Int] {
    return l.filter { $0 < 0 }
}

// Return only even numbers in the array.
// getEven(l: [-1, 2, -4, 5, 6]) == [2, -4, 6]
// getEven(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [2, 0, -10]
func getEven(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 == 0 }
}

// Return only odd numbers in the array.
// getOdd(l: [-1, 2, -4, 5, 6]) == [-1, 5]
// getOdd(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, 3, -5, -3, 3, 9, 1]
func getOdd(l: [Int]) -> [Int] {
    return l.filter { $0 % 2 != 0 }
}

// Return only numbers divisible by 3 in the array.
// getDivisibleByThree(l: [-1, 2, -4, 5, 6]) == [6]
// getDivisibleByThree(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [3, -3, 9, 123, 0]
func getDivisibleByThree(l: [Int]) -> [Int] {
    return l.filter { $0 % 3 == 0 }
}

// Return only numbers divisible by 5 in the array.
// getDivisibleByFive(l: [-1, 2, -4, 5, 6]) == [5]
// getDivisibleByFive(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [5, -5, 0, -10]
func getDivisibleByFive(l: [Int]) -> [Int] {
    return l.filter { $0 % 5 == 0 }
}

// Return only numbers divisible by 7 in the array.
// getDivisibleBySeven(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleBySeven(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == [0]
func getDivisibleBySeven(l: [Int]) -> [Int] {
    return l.filter { $0 % 7 == 0 }
}

// Return only numbers divisible by 11 in the array.
// getDivisibleByEleven(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleByEleven(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleByEleven(l: [Int]) -> [Int] {
    return l.filter { $0 % 11 == 0 }
}

// Return only numbers divisible by 13 in the array.
// getDivisibleByThirteen(l: [-1, 2, -4, 5, 6]) == []
// getDivisibleByThirteen(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == []
func getDivisibleByThirteen(l: [Int]) -> [Int] {
    return l.filter { $0 % 13 == 0 }
}

// Return only numbers divisible by 17 in the array.
// getDivisibleBySeventeen(l: [-1, 2, -4, 5, 6])

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Return true if a given number is prime, and false otherwise.
// isPrime(n: 6) == false
// isPrime(n: 101) == true
// isPrime(n: 11) == true
// isPrime(n: 13441) == true
// isPrime(n: 61) == true
// isPrime(n: 4) == false
// isPrime(n: 1) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```swift
// Return true if a given number is prime, and false otherwise.
// isPrime(n: 6) == false
// isPrime(n: 101) == true
// isPrime(n: 11) == true
// isPrime(n: 13441) == true
// isPrime(n: 61) == true
// isPrime(n: 4) == false
// isPrime(n: 1) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```swift
// Return true if a given number is prime, and false otherwise.
// isPrime(n: 6) == false
// isPrime(n: 101) == true
// isPrime(n: 11) == true
// isPrime(n: 13441) == true
// isPrime(n: 61) == true
// isPrime(n: 4) == false
// isPrime(n: 1) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```swift
// Return true if a given number is prime, and false otherwise.
// isPrime(n: 6) == false
// isPrime(n: 101) == true
// isPrime(n: 11) == true
// isPrime(n: 13441) == true
// isPrime(n: 61) == true
// isPrime(n: 4) == false
// isPrime(n: 1) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```swift
// Return true if a given number is prime, and false otherwise.
// isPrime(n: 6) == false
// isPrime(n: 101) == true
// isPrime(n: 11) == true
// isPrime(n: 13441) == true
// isPrime(n: 61) == true
// isPrime(n: 4) == false
// isPrime(n: 1) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```swift
// Return true if a given number is prime, and false otherwise.
// isPrime(n: 6) == false
// isPrime(n: 101) == true
// isPrime(n: 11) == true
// isPrime(n: 13441) == true
// isPrime(n: 61) == true
// isPrime(n: 4) == false
// isPrime(n: 1) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```swift
// Return true if a given number is prime, and false otherwise.
// isPrime(n: 6) == false
// isPrime(n: 101) == true
// isPrime(n: 11) == true
// isPrime(n: 13441) == true
// isPrime(n: 61) == true
// isPrime(n: 4) == false
// isPrime(n: 1) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```swift
// Return true if a given number is prime, and false otherwise.
// isPrime(n: 6) == false
// isPrime(n: 101) == true
// isPrime(n: 11) == true
// isPrime(n: 13441) == true
// isPrime(n: 61) == true
// isPrime(n: 4) == false
// isPrime(n: 1) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Return true if a given number is prime, and false otherwise.
// isPrime(n: 6) == false
// isPrime(n: 101) == true
// isPrime(n: 11) == true
// isPrime(n: 13441) == true
// isPrime(n: 61) == true
// isPrime(n: 4) == false
// isPrime(n: 1) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```swift
// Return true if a given number is prime, and false otherwise.
// isPrime(n: 6) == false
// isPrime(n: 101) == true
// isPrime(n: 11) == true
// isPrime(n: 13441) == true
// isPrime(n: 61) == true
// isPrime(n: 4) == false
// isPrime(n: 1) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    if n <= 3 {
        return true
    }
    if n % 2 == 0 || n % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= n {
        if n % i == 0 || n % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```

func sortThird(l: [Int]) -> [Int] {
    var l = l
    let third = l.indices.filter { $0 % 3 == 0 }
    l[third] = l[third].sorted()
    return l
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the indicies that are not divisible by three, while its values at the indicies that are divisible by three are equal
// to the values of the corresponding indicies of l, but sorted.
// sortThird(l: [1, 2, 3]) == [1, 2, 3]
// sortThird(l: [5, 6, 3, 4, 8, 9, 2]) == [2, 6, 3, 4, 8, 9, 5]
func sortThird(l: [Int]) -> [Int] {
    var l = l
    let third = l.indices.filter { $0 % 3 == 0 }
    l[third] = l[third].sorted()
    return l
}
```

l[third] = l[third].sorted() // no exact matches in call to subscript
l[third] = l[third].sorted() // no exact matches in call to subscript
l[third] = l[third].sorted() // no 'sorted' candidates produce the expected contextual result type 'Int'

func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in 0..<l.count {
        if i % 3 == 0 {
            let subarray = l[i..<min(i+3, l.count)]
            l[i..<min(i+3, l.count)] = subarray.sorted()
        }
    }
    return l
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the indicies that are not divisible by three, while its values at the indicies that are divisible by three are equal
// to the values of the corresponding indicies of l, but sorted.
// sortThird(l: [1, 2, 3]) == [1, 2, 3]
// sortThird(l: [5, 6, 3, 4, 8, 9, 2]) == [2, 6, 3, 4, 8, 9, 5]
func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in 0..<l.count {
        if i % 3 == 0 {
            let subarray = l[i..<min(i+3, l.count)]
            l[i..<min(i+3, l.count)] = subarray.sorted()
        }
    }
    return l
}
```

l[i..<min(i+3, l.count)] = subarray.sorted() // cannot assign value of type '[Int]' to subscript of type 'ArraySlice<Int>'

func sortThird(l: [Int]) -> [Int] {
    var result = l
    let thirdIndices = l.indices.filter { $0 % 3 == 0 }
    let thirdValues = thirdIndices.map { l[$0] }
    let sortedThirdValues = thirdValues.sorted()
    for (index, value) in thirdIndices.enumerated() {
        result[value] = sortedThirdValues[index]
    }
    return result
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the indicies that are not divisible by three, while its values at the indicies that are divisible by three are equal
// to the values of the corresponding indicies of l, but sorted.
// sortThird(l: [1, 2, 3]) == [1, 2, 3]
// sortThird(l: [5, 6, 3, 4, 8, 9, 2]) == [2, 6, 3, 4, 8, 9, 5]
func sortThird(l: [Int]) -> [Int] {
    var result = l
    let thirdIndices = l.indices.filter { $0 % 3 == 0 }
    let thirdValues = thirdIndices.map { l[$0] }
    let sortedThirdValues = thirdValues.sorted()
    for (index, value) in thirdIndices.enumerated() {
        result[value] = sortedThirdValues[index]
    }
    return result
}
```

func sortThird(l: [Int]) -> [Int] {
    var result = l
    var sortedValues = [Int]()
    for (index, value) in l.enumerated() {
        if index % 3 == 0 {
            sortedValues.append(value)
        }
    }
    sortedValues.sort()
    for (index, value) in l.enumerated() {
        if index % 3 == 0 {
            result[index] = sortedValues.removeFirst()
        }
    }
    return result
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the indicies that are not divisible by three, while its values at the indicies that are divisible by three are equal
// to the values of the corresponding indicies of l, but sorted.
// sortThird(l: [1, 2, 3]) == [1, 2, 3]
// sortThird(l: [5, 6, 3, 4, 8, 9, 2]) == [2, 6, 3, 4, 8, 9, 5]
func sortThird(l: [Int]) -> [Int] {
    var result = l
    var sortedValues = [Int]()
    for (index, value) in l.enumerated() {
        if index % 3 == 0 {
            sortedValues.append(value)
        }
    }
    sortedValues.sort()
    for (index, value) in l.enumerated() {
        if index % 3 == 0 {
            result[index] = sortedValues.removeFirst()
        }
    }
    return result
}
```

for (index, value) in l.enumerated() { // immutable value 'value' was never used; consider replacing with '_' or removing it

func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in stride(from: 2, to: l.count, by: 3) {
        l[i] = l[i...i+2].sorted()[0]
    }
    return l
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the indicies that are not divisible by three, while its values at the indicies that are divisible by three are equal
// to the values of the corresponding indicies of l, but sorted.
// sortThird(l: [1, 2, 3]) == [1, 2, 3]
// sortThird(l: [5, 6, 3, 4, 8, 9, 2]) == [2, 6, 3, 4, 8, 9, 5]
func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in stride(from: 2, to: l.count, by: 3) {
        l[i] = l[i...i+2].sorted()[0]
    }
    return l
}
```

 // Fatal error: Array index is out of range

func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in 0..<l.count {
        if i % 3 == 0 {
            l[i] = l[i..<l.count].sorted()[i]
        }
    }
    return l
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the indicies that are not divisible by three, while its values at the indicies that are divisible by three are equal
// to the values of the corresponding indicies of l, but sorted.
// sortThird(l: [1, 2, 3]) == [1, 2, 3]
// sortThird(l: [5, 6, 3, 4, 8, 9, 2]) == [2, 6, 3, 4, 8, 9, 5]
func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in 0..<l.count {
        if i % 3 == 0 {
            l[i] = l[i..<l.count].sorted()[i]
        }
    }
    return l
}
```

 // Fatal error: Index out of range

func sortThird(l: [Int]) -> [Int] {
    var result = l
    let thirdIndices = l.indices.filter { $0 % 3 == 0 }
    let thirdValues = thirdIndices.map { l[$0] }
    let sortedThirdValues = thirdValues.sorted()
    for (index, value) in thirdIndices.enumerated() {
        result[value] = sortedThirdValues[index]
    }
    return result
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the indicies that are not divisible by three, while its values at the indicies that are divisible by three are equal
// to the values of the corresponding indicies of l, but sorted.
// sortThird(l: [1, 2, 3]) == [1, 2, 3]
// sortThird(l: [5, 6, 3, 4, 8, 9, 2]) == [2, 6, 3, 4, 8, 9, 5]
func sortThird(l: [Int]) -> [Int] {
    var result = l
    let thirdIndices = l.indices.filter { $0 % 3 == 0 }
    let thirdValues = thirdIndices.map { l[$0] }
    let sortedThirdValues = thirdValues.sorted()
    for (index, value) in thirdIndices.enumerated() {
        result[value] = sortedThirdValues[index]
    }
    return result
}
```

func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in stride(from: 2, to: l.count, by: 3) {
        l[i] = l[i...i].sorted().first!
    }
    return l
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the indicies that are not divisible by three, while its values at the indicies that are divisible by three are equal
// to the values of the corresponding indicies of l, but sorted.
// sortThird(l: [1, 2, 3]) == [1, 2, 3]
// sortThird(l: [5, 6, 3, 4, 8, 9, 2]) == [2, 6, 3, 4, 8, 9, 5]
func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in stride(from: 2, to: l.count, by: 3) {
        l[i] = l[i...i].sorted().first!
    }
    return l
}
```

 // XCTAssertTrue failed

func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in stride(from: 2, to: l.count, by: 3) {
        l[i] = l[i..<l.count].min()!
    }
    return l
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the indicies that are not divisible by three, while its values at the indicies that are divisible by three are equal
// to the values of the corresponding indicies of l, but sorted.
// sortThird(l: [1, 2, 3]) == [1, 2, 3]
// sortThird(l: [5, 6, 3, 4, 8, 9, 2]) == [2, 6, 3, 4, 8, 9, 5]
func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in stride(from: 2, to: l.count, by: 3) {
        l[i] = l[i..<l.count].min()!
    }
    return l
}
```

 // XCTAssertTrue failed

func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in stride(from: 2, to: l.count, by: 3) {
        l[i] = l[i..<l.count].min()!
    }
    return l
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the indicies that are not divisible by three, while its values at the indicies that are divisible by three are equal
// to the values of the corresponding indicies of l, but sorted.
// sortThird(l: [1, 2, 3]) == [1, 2, 3]
// sortThird(l: [5, 6, 3, 4, 8, 9, 2]) == [2, 6, 3, 4, 8, 9, 5]
func sortThird(l: [Int]) -> [Int] {
    var l = l
    for i in stride(from: 2, to: l.count, by: 3) {
        l[i] = l[i..<l.count].min()!
    }
    return l
}
```

 // XCTAssertTrue failed

func unique(l: [Int]) -> [Int] {
    var result = [Int]()
    for i in l {
        if !result.contains(i) {
            result.append(i)
        }
    }
    return result.sorted()
}

func first(l: [Int]) -> Int {
    return l[0]
}

func last(l: [Int]) -> Int {
    return l[l.count - 1]
}

func sum(l: [Int]) -> Int {
    var result = 0
    for i in l {
        result += i
    }
    return result
}

func product(l: [Int]) -> Int {
    var result = 1
    for i in l {
        result *= i
    }
    return result
}

func max(l: [Int]) -> Int {
    var result = l[0]
    for i in l {
        if i > result {
            result = i
        }
    }
    return result
}

func min(l: [Int]) -> Int {
    var result = l[0]
    for i in l {
        if i < result {
            result = i
        }
    }
    return result
}

func average(l: [Int]) -> Double {
    return Double(sum(l: l)) / Double(l.count)
}

func median(l: [Int]) -> Int {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 0 {
        return (sorted[middle - 1] + sorted[middle]) / 2
    } else {
        return sorted[middle]
    }
}

func mode(l: [Int]) -> Int {
    var counts = [Int: Int]()
    for i in l {
        if let count = counts[i] {
            counts[i] = count + 1
        } else {
            counts[i] = 1
        }
    }
    var maxCount = 0
    var maxElement = 0
    for (element, count) in counts {
        if count > maxCount {
            maxCount = count
            maxElement = element
        }
    }
    return maxElement
}

func range(l: [Int]) -> Int {
    return max(l: l) - min(l: l)
}

func variance(l: [Int]) -> Double {
    let mean = average(l: l)
    var sum = 0.0
    for i in l {
        sum += pow(Double(i) - mean, 2)
    }
    return sum / Double(l.count)
}

func standardDeviation(l: [Int]) -> Double {
    return sqrt(variance(l: l))
}
```swift
// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var result = [Int]()
    for i in l {
        if !result.contains(i) {
            result.append(i)
        }
    }
    return result.sorted()
}

// Return the first element in an array
// first(l: [1, 2, 3]) == 1
func first(l: [Int]) -> Int {
    return l[0]
}

// Return the last element in an array
// last(l: [1, 2, 3]) == 3
func last(l: [Int]) -> Int {
    return l[l.count - 1]
}

// Return the sum of all elements in an array
// sum(l: [1, 2, 3]) == 6
func sum(l: [Int]) -> Int {
    var result = 0
    for i in l {
        result += i
    }
    return result
}

// Return the product of all elements in an array
// product(l: [1, 2, 3]) == 6
func product(l: [Int]) -> Int {
    var result = 1
    for i in l {
        result *= i
    }
    return result
}

// Return the maximum element in an array
// max(l: [1, 2, 3]) == 3
func max(l: [Int]) -> Int {
    var result = l[0]
    for i in l {
        if i > result {
            result = i
        }
    }
    return result
}

// Return the minimum element in an array
// min(l: [1, 2, 3]) == 1
func min(l: [Int]) -> Int {
    var result = l[0]
    for i in l {
        if i < result {
            result = i
        }
    }
    return result
}

// Return the average of all elements in an array
// average(l: [1, 2, 3]) == 2
func average(l: [Int]) -> Double {
    return Double(sum(l: l)) / Double(l.count)
}

// Return the median of all elements in an array
// median(l: [1, 2, 3]) == 2
func median(l: [Int]) -> Int {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 0 {
        return (sorted[middle - 1] + sorted[middle]) / 2
    } else {
        return sorted[middle]
    }
}

// Return the mode of all elements in an array
// mode(l: [1, 2, 3, 3, 3]) == 3
func mode(l: [Int]) -> Int {
    var counts = [Int: Int]()
    for i in l {
        if let count = counts[i] {
            counts[i] = count + 1
        } else {
            counts[i] = 1
        }
    }
    var maxCount = 0
    var maxElement = 0
    for (element, count) in counts {
        if count > maxCount {
            maxCount = count
            maxElement = element
        }
    }
    return maxElement
}

// Return the range of all elements in an array
// range(l: [1, 2, 3]) == 2
func range(l: [Int]) -> Int {
    return max(l: l) - min(l: l)
}

// Return the variance of all elements in an array
// variance(l: [1, 2, 3]) == 0.6666666666666666
func variance(l: [Int]) -> Double {
    let mean = average(l: l)
    var sum = 0.0
    for i in l {
        sum += pow(Double(i) - mean, 2)
    }
    return sum / Double(l.count)
}

// Return the standard deviation of all elements in an array
// standardDeviation(l: [1, 2, 3]) == 0.816496580927726
func standardDeviation(l: [Int]) -> Double {
    return sqrt(variance(l: l))
}

// Return the skewness of all elements in an array
// skewness(l: [1, 2, 3]) == 0.0
func skewness(l: [Int]) -> Double {
    let mean = average(l: l)
    let variance = variance(l: l)
    var sum = 0.0
    for i in l {
        sum += pow(Double(i) - mean, 3)
    }
    return sum / Double(l.count) / pow(variance, 1.5)

func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

func indexOf(l: [Int], element: Int) -> Int? {
    return l.firstIndex(of: element)
}

func lastIndexOf(l: [Int], element: Int) -> Int? {
    return l.lastIndex(of: element)
}

func findIndex(l: [Int], condition: (Int) -> Bool) -> Int? {
    return l.firstIndex(where: condition)
}

func findLastIndex(l: [Int], condition: (Int) -> Bool) -> Int? {
    return l.lastIndex(where: condition)
}
```swift
// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return the index of the first occurrence of an element in an array
// indexOf(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], element: 3) == 1
func indexOf(l: [Int], element: Int) -> Int? {
    return l.firstIndex(of: element)
}

// Return the index of the last occurrence of an element in an array
// lastIndexOf(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], element: 3) == 5
func lastIndexOf(l: [Int], element: Int) -> Int? {
    return l.lastIndex(of: element)
}

// Return the index of the first occurrence of an element in an array that satisfies a given condition
// findIndex(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], condition: { $0 > 5 }) == 2
func findIndex(l: [Int], condition: (Int) -> Bool) -> Int? {
    return l.firstIndex(where: condition)
}

// Return the index of the last occurrence of an element in an array that satisfies a given condition
// findLastIndex(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], condition: { $0 > 5 }) == 7
func findLastIndex(l: [Int], condition: (Int) -> Bool) -> Int? {
    return l.lastIndex(where: condition)
}

// Return the index of the first occurrence of an element in an array that satisfies a given condition
// findIndex(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], condition: { $0 > 5 }) == 2
func findIndex(l: [Int], condition: (Int) -> Bool) -> Int? {
    return l.firstIndex(where: condition)
}

// Return the index of the last occurrence of an element in an array that satisfies a given condition
// findLastIndex(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], condition: { $0 > 5 }) == 7
func findLastIndex(l: [Int], condition: (Int) -> Bool) -> Int? {
    return l.lastIndex(where: condition)
}

// Return the index of the first occurrence of an element in an array that satisfies a given condition
// findIndex(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], condition: { $0 > 5 }) == 2
func findIndex(l: [Int], condition: (Int) -> Bool) -> Int? {
    return l.firstIndex(where: condition)
}

// Return the index of the last occurrence of an element in an array that satisfies a given condition
// findLastIndex(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], condition: { $0 > 5 }) == 7
func findLastIndex(l: [Int], condition: (Int) -> Bool) -> Int? {
    return l.lastIndex(where: condition)
}

// Return the index of the first occurrence of an element in an array that satisfies a given condition
// findIndex(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], condition: { $0 > 5 }) == 2
func findIndex(l: [Int], condition: (Int) -> Bool) -> Int? {
    return l.firstIndex(where: condition)
}

// Return the index of the last occurrence of an element in an array that satisfies a given condition
// findLastIndex(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], condition: { $0 > 5 }) == 7
func findLastIndex(l: [Int], condition: (Int) -> Bool) -> Int? {
    return l.lastIndex(where: condition)
}

// Return the index of the first occurrence of an element in an array that satisfies a given condition
// findIndex(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], condition: { $0 > 5 }) ==

func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

func first<T>(l: [T]) -> T? {
    return l.first
}

func last<T>(l: [T]) -> T? {
    return l.last
}

func nth<T>(l: [T], n: Int) -> T? {
    return l[n]
}

func length<T>(l: [T]) -> Int {
    return l.count
}

func sum(l: [Int]) -> Int {
    return l.reduce(0, +)
}

func product(l: [Int]) -> Int {
    return l.reduce(1, *)
}

func max(l: [Int]) -> Int {
    return l.max()!
}

func min(l: [Int]) -> Int {
    return l.min()!
}

func average(l: [Int]) -> Double {
    return Double(sum(l: l)) / Double(length(l: l))
}

func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    } else {
        return Double(sorted[middle])
    }
}

func mode(l: [Int]) -> Int {
    let counts = Dictionary(grouping: l) { $0 }.mapValues { $0.count }
    return counts.max { $0.value < $1.value }!.key
}

func range(l: [Int]) -> Int {
    return max(l: l) - min(l: l)
}

func variance(l: [Int]) -> Double {
    let mean = average(l: l)
    let squaredDifferences = l.map { pow(Double($0) - mean, 2) }
    return Double(sum(l: squaredDifferences)) / Double(length(l: l))
}

func standardDeviation(l: [Int]) -> Double {
    return sqrt(variance(l: l))
}

func skewness(l: [Int]) -> Double {
    let mean = average(l: l)
    let variance = variance(l: l)
    let cubedDifferences = l.map { pow(Double($0) - mean, 3) }
    let sumOfCubedDifferences = Double(sum(l: cubedDifferences))
    return sumOfCubedDifferences / (Double(length(l: l)) * pow(variance, 1.5))
}
```swift
// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return the first element in an array
// first(l: [1, 2, 3]) == 1
func first<T>(l: [T]) -> T? {
    return l.first
}

// Return the last element in an array
// last(l: [1, 2, 3]) == 3
func last<T>(l: [T]) -> T? {
    return l.last
}

// Return the nth element in an array
// nth(l: [1, 2, 3], n: 1) == 2
func nth<T>(l: [T], n: Int) -> T? {
    return l[n]
}

// Return the length of an array
// length(l: [1, 2, 3]) == 3
func length<T>(l: [T]) -> Int {
    return l.count
}

// Return the sum of all elements in an array
// sum(l: [1, 2, 3]) == 6
func sum(l: [Int]) -> Int {
    return l.reduce(0, +)
}

// Return the product of all elements in an array
// product(l: [1, 2, 3]) == 6
func product(l: [Int]) -> Int {
    return l.reduce(1, *)
}

// Return the maximum element in an array
// max(l: [1, 2, 3]) == 3
func max(l: [Int]) -> Int {
    return l.max()!
}

// Return the minimum element in an array
// min(l: [1, 2, 3]) == 1
func min(l: [Int]) -> Int {
    return l.min()!
}

// Return the average of all elements in an array
// average(l: [1, 2, 3]) == 2.0
func average(l: [Int]) -> Double {
    return Double(sum(l: l)) / Double(length(l: l))
}

// Return the median of all elements in an array
// median(l: [1, 2, 3]) == 2.0
func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    } else {
        return Double(sorted[middle])
    }
}

// Return the mode of all elements in an array
// mode(l: [1, 2, 2, 3, 3, 3]) == 3
func mode(l: [Int]) -> Int {
    let counts = Dictionary(grouping: l) { $0 }.mapValues { $0.count }
    return counts.max { $0.value < $1.value }!.key
}

// Return the range of all elements in an array
// range(l: [1, 2, 3]) == 2
func range(l: [Int]) -> Int {
    return max(l: l) - min(l: l)
}

// Return the variance of all elements in an array
// variance(l: [1, 2, 3]) == 0.6666666666666666
func variance(l: [Int]) -> Double {
    let mean = average(l: l)
    let squaredDifferences = l.map { pow(Double($0) - mean, 2) }
    return Double(sum(l: squaredDifferences)) / Double(length(l: l))
}

// Return the standard deviation of all elements in an array
// standardDeviation(l: [1, 2, 3]) == 0.816496580927726
func standardDeviation(l: [Int]) -> Double {
    return sqrt(variance(l: l))
}

// Return the skewness of all elements in an array
// skewness(l: [1, 2, 3]) == 0.0
func skewness(l: [Int]) -> Double {
    let mean = average(l: l)
    let variance = variance(l: l)
    let cubedDifferences = l.map { pow(Double($0) - mean, 3) }
    let sumOfCubedDifferences = Double(sum(l: cubedDifferences))
    return sumOfCubedDifferences / (Double(length(l: l)) * pow(variance, 1.5))
}

// Return the kurtosis of all elements in an array
// kurtosis(l: [1, 2, 3]) == -1.2
func kurtosis(l: [Int]) -> Double {
    let
return Double(sum(l: squaredDifferences)) / Double(length(l: l)) // cannot convert value of type '[Double]' to expected argument type '[Int]'
let sumOfCubedDifferences = Double(sum(l: cubedDifferences)) // cannot convert value of type '[Double]' to expected argument type '[Int]'

func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}
```swift
// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}
```

func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}
```swift
// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}
```

func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}
```swift
// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in

func unique(l: [Int]) -> [Int] {
    var s = Set<Int>()
    for i in l {
        s.insert(i)
    }
    return Array(s).sorted()
}
```swift
// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var s = Set<Int>()
    for i in l {
        s.insert(i)
    }
    return Array(s).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var s = Set<Int>()
    for i in l {
        s.insert(i)
    }
    return Array(s).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var s = Set<Int>()
    for i in l {
        s.insert(i)
    }
    return Array(s).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var s = Set<Int>()
    for i in l {
        s.insert(i)
    }
    return Array(s).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var s = Set<Int>()
    for i in l {
        s.insert(i)
    }
    return Array(s).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var s = Set<Int>()
    for i in l {
        s.insert(i)
    }
    return Array(s).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var s = Set<Int>()
    for i in l {
        s.insert(i)
    }
    return Array(s).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var s = Set<Int>()
    for i in l {
        s.insert(i)
    }
    return Array(s).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var s = Set<Int>()
    for i in l {
        s.insert(i)
    }
    return Array(s).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var s = Set<Int>()
    for i in l {
        s.insert(i)
    }
    return Array(s).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [

func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}
```swift
// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    return Array(Set(l)).sorted()
}

// Return sorted unique elements in

func unique(l: [Int]) -> [Int] {
    var uniqueElements = [Int]()
    for element in l {
        if !uniqueElements.contains(element) {
            uniqueElements.append(element)
        }
    }
    return uniqueElements.sorted()
}

func sum(l: [Int]) -> Int {
    var total = 0
    for element in l {
        total += element
    }
    return total
}

func product(l: [Int]) -> Int {
    var total = 1
    for element in l {
        total *= element
    }
    return total
}

func max(l: [Int]) -> Int {
    var maxElement = l[0]
    for element in l {
        if element > maxElement {
            maxElement = element
        }
    }
    return maxElement
}

func min(l: [Int]) -> Int {
    var minElement = l[0]
    for element in l {
        if element < minElement {
            minElement = element
        }
    }
    return minElement
}

func average(l: [Int]) -> Double {
    var total = 0
    for element in l {
        total += element
    }
    return Double(total) / Double(l.count)
}

func median(l: [Int]) -> Double {
    let sortedArray = l.sorted()
    let middleIndex = sortedArray.count / 2
    if sortedArray.count % 2 == 0 {
        return Double(sortedArray[middleIndex - 1] + sortedArray[middleIndex]) / 2.0
    } else {
        return Double(sortedArray[middleIndex])
    }
}

func mode(l: [Int]) -> Int {
    var frequencyDict = [Int: Int]()
    for element in l {
        if let frequency = frequencyDict[element] {
            frequencyDict[element] = frequency + 1
        } else {
            frequencyDict[element] = 1
        }
    }
    var mode = l[0]
    var maxFrequency = frequencyDict[l[0]]!
    for (key, value) in frequencyDict {
        if value > maxFrequency {
            mode = key
            maxFrequency = value
        }
    }
    return mode
}

func range(l: [Int]) -> Int {
    return max(l: l) - min(l: l)
}

func standardDeviation(l: [Int]) -> Double {
    let mean = average(l: l)
    var sumOfSquares = 0.0
    for element in l {
        sumOfSquares += pow(Double(element) - mean, 2)
    }
    return sqrt(sumOfSquares / Double(l.count))
}

func variance(l: [Int]) -> Double {
    let mean = average(l: l)
    var sumOfSquares = 0.0
    for element in l {
        sumOfSquares += pow(Double(element) - mean, 2)
    }
    return sumOfSquares / Double(l.count)
}
```swift
// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var uniqueElements = [Int]()
    for element in l {
        if !uniqueElements.contains(element) {
            uniqueElements.append(element)
        }
    }
    return uniqueElements.sorted()
}

// Return the sum of all elements in an array
// sum(l: [1, 2, 3, 4, 5]) == 15
func sum(l: [Int]) -> Int {
    var total = 0
    for element in l {
        total += element
    }
    return total
}

// Return the product of all elements in an array
// product(l: [1, 2, 3, 4, 5]) == 120
func product(l: [Int]) -> Int {
    var total = 1
    for element in l {
        total *= element
    }
    return total
}

// Return the maximum element in an array
// max(l: [1, 2, 3, 4, 5]) == 5
func max(l: [Int]) -> Int {
    var maxElement = l[0]
    for element in l {
        if element > maxElement {
            maxElement = element
        }
    }
    return maxElement
}

// Return the minimum element in an array
// min(l: [1, 2, 3, 4, 5]) == 1
func min(l: [Int]) -> Int {
    var minElement = l[0]
    for element in l {
        if element < minElement {
            minElement = element
        }
    }
    return minElement
}

// Return the average of all elements in an array
// average(l: [1, 2, 3, 4, 5]) == 3
func average(l: [Int]) -> Double {
    var total = 0
    for element in l {
        total += element
    }
    return Double(total) / Double(l.count)
}

// Return the median of all elements in an array
// median(l: [1, 2, 3, 4, 5]) == 3
func median(l: [Int]) -> Double {
    let sortedArray = l.sorted()
    let middleIndex = sortedArray.count / 2
    if sortedArray.count % 2 == 0 {
        return Double(sortedArray[middleIndex - 1] + sortedArray[middleIndex]) / 2.0
    } else {
        return Double(sortedArray[middleIndex])
    }
}

// Return the mode of all elements in an array
// mode(l: [1, 2, 3, 4, 5, 5, 5]) == 5
func mode(l: [Int]) -> Int {
    var frequencyDict = [Int: Int]()
    for element in l {
        if let frequency = frequencyDict[element] {
            frequencyDict[element] = frequency + 1
        } else {
            frequencyDict[element] = 1
        }
    }
    var mode = l[0]
    var maxFrequency = frequencyDict[l[0]]!
    for (key, value) in frequencyDict {
        if value > maxFrequency {
            mode = key
            maxFrequency = value
        }
    }
    return mode
}

// Return the range of all elements in an array
// range(l: [1, 2, 3, 4, 5]) == 4
func range(l: [Int]) -> Int {
    return max(l: l) - min(l: l)
}

// Return the standard deviation of all elements in an array
// standardDeviation(l: [1, 2, 3, 4, 5]) == 1.4142135623730951
func standardDeviation(l: [Int]) -> Double {
    let mean = average(l: l)
    var sumOfSquares = 0.0
    for element in l {
        sumOfSquares += pow(Double(element) - mean, 2)
    }
    return sqrt(sumOfSquares / Double(l.count))
}

// Return the variance of all elements in an array
// variance(l: [1, 2, 3, 4, 5]) == 2
func variance(l: [Int]) -> Double {
    let mean = average(l: l)
    var sumOfSquares = 0.0
    for element in l {
        sumOfSquares += pow(Double(element) - mean, 2)
    }
    return sumOfSquares / Double(l.count)
}

// Return the interquartile range of all elements in an array
// interquartileRange(l: [1, 2, 3, 4, 5]) == 2
func interqu

func unique(l: [Int]) -> [Int] {
    var uniqueElements = [Int]()
    for element in l {
        if !uniqueElements.contains(element) {
            uniqueElements.append(element)
        }
    }
    return uniqueElements.sorted()
}
```swift
// Return sorted unique elements in an array
// unique(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [0, 2, 3, 5, 9, 123]
func unique(l: [Int]) -> [Int] {
    var uniqueElements = [Int]()
    for element in l {
        if !uniqueElements.contains(element) {
            uniqueElements.append(element)
        }
    }
    return uniqueElements.sorted()
}
```

func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```swift
// Return maximum element in the array.
// maxElement(l: [1, 2, 3]) == 3
// maxElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 123
func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```

func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```swift
// Return maximum element in the array.
// maxElement(l: [1, 2, 3]) == 3
// maxElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 123
func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```

func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}

func minElement(l: [Int]) -> Int {
    var min = l[0]
    for i in 1..<l.count {
        if l[i] < min {
            min = l[i]
        }
    }
    return min
}

func sum(l: [Int]) -> Int {
    var sum = 0
    for i in 0..<l.count {
        sum += l[i]
    }
    return sum
}

func average(l: [Int]) -> Double {
    return Double(sum(l: l)) / Double(l.count)
}

func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let mid = l.count / 2
    if l.count % 2 == 0 {
        return Double(sorted[mid - 1] + sorted[mid]) / 2.0
    } else {
        return Double(sorted[mid])
    }
}

func mode(l: [Int]) -> Int {
    var counts = [Int: Int]()
    for i in 0..<l.count {
        if let count = counts[l[i]] {
            counts[l[i]] = count + 1
        } else {
            counts[l[i]] = 1
        }
    }
    var maxCount = 0
    var mode = 0
    for (key, value) in counts {
        if value > maxCount {
            maxCount = value
            mode = key
        }
    }
    return mode
}

func range(l: [Int]) -> Int {
    return maxElement(l: l) - minElement(l: l)
}

func variance(l: [Int]) -> Double {
    let avg = average(l: l)
    var sum = 0.0
    for i in 0..<l.count {
        sum += pow(Double(l[i]) - avg, 2)
    }
    return sum / Double(l.count)
}
```swift
// Return maximum element in the array.
// maxElement(l: [1, 2, 3]) == 3
// maxElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 123
func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}

// Return minimum element in the array.
// minElement(l: [1, 2, 3]) == 1
// minElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == -10
func minElement(l: [Int]) -> Int {
    var min = l[0]
    for i in 1..<l.count {
        if l[i] < min {
            min = l[i]
        }
    }
    return min
}

// Return the sum of all elements in the array.
// sum(l: [1, 2, 3]) == 6
// sum(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 146
func sum(l: [Int]) -> Int {
    var sum = 0
    for i in 0..<l.count {
        sum += l[i]
    }
    return sum
}

// Return the average of all elements in the array.
// average(l: [1, 2, 3]) == 2
// average(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 13.272727272727272
func average(l: [Int]) -> Double {
    return Double(sum(l: l)) / Double(l.count)
}

// Return the median of all elements in the array.
// median(l: [1, 2, 3]) == 2
// median(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 2.5
func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let mid = l.count / 2
    if l.count % 2 == 0 {
        return Double(sorted[mid - 1] + sorted[mid]) / 2.0
    } else {
        return Double(sorted[mid])
    }
}

// Return the mode of all elements in the array.
// mode(l: [1, 2, 3]) == 1
// mode(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 3
func mode(l: [Int]) -> Int {
    var counts = [Int: Int]()
    for i in 0..<l.count {
        if let count = counts[l[i]] {
            counts[l[i]] = count + 1
        } else {
            counts[l[i]] = 1
        }
    }
    var maxCount = 0
    var mode = 0
    for (key, value) in counts {
        if value > maxCount {
            maxCount = value
            mode = key
        }
    }
    return mode
}

// Return the range of all elements in the array.
// range(l: [1, 2, 3]) == 2
// range(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 133
func range(l: [Int]) -> Int {
    return maxElement(l: l) - minElement(l: l)
}

// Return the variance of all elements in the array.
// variance(l: [1, 2, 3]) == 0.6666666666666666
// variance(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 178.3939393939394
func variance(l: [Int]) -> Double {
    let avg = average(l: l)
    var sum = 0.0
    for i in 0..<l.count {
        sum += pow(Double(l[i]) - avg, 2)
    }
    return sum / Double(l.count)
}

// Return the standard deviation of all elements in the array.
// standardDeviation(l: [1, 2, 3]) ==

func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```swift
// Return maximum element in the array.
// maxElement(l: [1, 2, 3]) == 3
// maxElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 123
func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```

func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```swift
// Return maximum element in the array.
// maxElement(l: [1, 2, 3]) == 3
// maxElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 123
func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```

func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```swift
// Return maximum element in the array.
// maxElement(l: [1, 2, 3]) == 3
// maxElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 123
func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```

func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```swift
// Return maximum element in the array.
// maxElement(l: [1, 2, 3]) == 3
// maxElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 123
func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```

func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```swift
// Return maximum element in the array.
// maxElement(l: [1, 2, 3]) == 3
// maxElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 123
func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```

func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}

func minElement(l: [Int]) -> Int {
    var min = l[0]
    for i in 1..<l.count {
        if l[i] < min {
            min = l[i]
        }
    }
    return min
}

func sum(l: [Int]) -> Int {
    var sum = 0
    for i in 0..<l.count {
        sum += l[i]
    }
    return sum
}

func average(l: [Int]) -> Int {
    return sum(l: l) / l.count
}

func median(l: [Int]) -> Int {
    let sorted = l.sorted()
    let mid = sorted.count / 2
    if sorted.count % 2 == 0 {
        return (sorted[mid - 1] + sorted[mid]) / 2
    } else {
        return sorted[mid]
    }
}

func mode(l: [Int]) -> Int {
    var counts = [Int: Int]()
    for i in 0..<l.count {
        counts[l[i], default: 0] += 1
    }
    var maxCount = 0
    var mode = 0
    for (key, value) in counts {
        if value > maxCount {
            maxCount = value
            mode = key
        }
    }
    return mode
}

func range(l: [Int]) -> Int {
    return maxElement(l: l) - minElement(l: l)
}

func variance(l: [Int]) -> Double {
    let mean = Double(average(l: l))
    var sum = 0.0
    for i in 0..<l.count {
        sum += pow(Double(l[i]) - mean, 2)
    }
    return sum / Double(l.count)
}
```swift
// Return maximum element in the array.
// maxElement(l: [1, 2, 3]) == 3
// maxElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 123
func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}

// Return minimum element in the array.
// minElement(l: [1, 2, 3]) == 1
// minElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == -10
func minElement(l: [Int]) -> Int {
    var min = l[0]
    for i in 1..<l.count {
        if l[i] < min {
            min = l[i]
        }
    }
    return min
}

// Return the sum of all elements in the array.
// sum(l: [1, 2, 3]) == 6
// sum(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 146
func sum(l: [Int]) -> Int {
    var sum = 0
    for i in 0..<l.count {
        sum += l[i]
    }
    return sum
}

// Return the average of all elements in the array.
// average(l: [1, 2, 3]) == 2
// average(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 13
func average(l: [Int]) -> Int {
    return sum(l: l) / l.count
}

// Return the median of all elements in the array.
// median(l: [1, 2, 3]) == 2
// median(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 2
func median(l: [Int]) -> Int {
    let sorted = l.sorted()
    let mid = sorted.count / 2
    if sorted.count % 2 == 0 {
        return (sorted[mid - 1] + sorted[mid]) / 2
    } else {
        return sorted[mid]
    }
}

// Return the mode of all elements in the array.
// mode(l: [1, 2, 3]) == 1
// mode(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 3
func mode(l: [Int]) -> Int {
    var counts = [Int: Int]()
    for i in 0..<l.count {
        counts[l[i], default: 0] += 1
    }
    var maxCount = 0
    var mode = 0
    for (key, value) in counts {
        if value > maxCount {
            maxCount = value
            mode = key
        }
    }
    return mode
}

// Return the range of all elements in the array.
// range(l: [1, 2, 3]) == 2
// range(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 133
func range(l: [Int]) -> Int {
    return maxElement(l: l) - minElement(l: l)
}

// Return the variance of all elements in the array.
// variance(l: [1, 2, 3]) == 0.6666666666666666
// variance(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 172.27272727272728
func variance(l: [Int]) -> Double {
    let mean = Double(average(l: l))
    var sum = 0.0
    for i in 0..<l.count {
        sum += pow(Double(l[i]) - mean, 2)
    }
    return sum / Double(l.count)
}

// Return the standard deviation of all elements in the array.
// standardDeviation(l: [1, 2, 3]) == 0.816496580927726
// standardDeviation(l: [5, 3, -5, 2, -3, 3

func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```swift
// Return maximum element in the array.
// maxElement(l: [1, 2, 3]) == 3
// maxElement(l: [5, 3, -5, 2, -3, 3, 9, 0, 123, 1, -10]) == 123
func maxElement(l: [Int]) -> Int {
    var max = l[0]
    for i in 1..<l.count {
        if l[i] > max {
            max = l[i]
        }
    }
    return max
}
```

func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).map { Int(String($0))! }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```swift
// Return the number of times the digit 7 appears in integers less than n which are divisible by 11 or 13.
// fizzBuzz(n: 50) == 0
// fizzBuzz(n: 78) == 2
// fizzBuzz(n: 79) == 3
func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).map { Int(String($0))! }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```

func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            count += String(i).filter { $0 == "7" }.count
        }
    }
    return count
}
```swift
// Return the number of times the digit 7 appears in integers less than n which are divisible by 11 or 13.
// fizzBuzz(n: 50) == 0
// fizzBuzz(n: 78) == 2
// fizzBuzz(n: 79) == 3
func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            count += String(i).filter { $0 == "7" }.count
        }
    }
    return count
}
```

func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            count += String(i).filter { $0 == "7" }.count
        }
    }
    return count
}
```swift
// Return the number of times the digit 7 appears in integers less than n which are divisible by 11 or 13.
// fizzBuzz(n: 50) == 0
// fizzBuzz(n: 78) == 2
// fizzBuzz(n: 79) == 3
func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            count += String(i).filter { $0 == "7" }.count
        }
    }
    return count
}
```

func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            count += String(i).filter { $0 == "7" }.count
        }
    }
    return count
}
```swift
// Return the number of times the digit 7 appears in integers less than n which are divisible by 11 or 13.
// fizzBuzz(n: 50) == 0
// fizzBuzz(n: 78) == 2
// fizzBuzz(n: 79) == 3
func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            count += String(i).filter { $0 == "7" }.count
        }
    }
    return count
}
```

func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).compactMap { Int(String($0)) }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```swift
// Return the number of times the digit 7 appears in integers less than n which are divisible by 11 or 13.
// fizzBuzz(n: 50) == 0
// fizzBuzz(n: 78) == 2
// fizzBuzz(n: 79) == 3
func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).compactMap { Int(String($0)) }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```

func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            count += String(i).filter { $0 == "7" }.count
        }
    }
    return count
}
```swift
// Return the number of times the digit 7 appears in integers less than n which are divisible by 11 or 13.
// fizzBuzz(n: 50) == 0
// fizzBuzz(n: 78) == 2
// fizzBuzz(n: 79) == 3
func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            count += String(i).filter { $0 == "7" }.count
        }
    }
    return count
}
```

func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).compactMap { Int(String($0)) }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```swift
// Return the number of times the digit 7 appears in integers less than n which are divisible by 11 or 13.
// fizzBuzz(n: 50) == 0
// fizzBuzz(n: 78) == 2
// fizzBuzz(n: 79) == 3
func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).compactMap { Int(String($0)) }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```

func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).compactMap { Int(String($0)) }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```swift
// Return the number of times the digit 7 appears in integers less than n which are divisible by 11 or 13.
// fizzBuzz(n: 50) == 0
// fizzBuzz(n: 78) == 2
// fizzBuzz(n: 79) == 3
func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).compactMap { Int(String($0)) }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```

func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).compactMap { Int(String($0)) }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```swift
// Return the number of times the digit 7 appears in integers less than n which are divisible by 11 or 13.
// fizzBuzz(n: 50) == 0
// fizzBuzz(n: 78) == 2
// fizzBuzz(n: 79) == 3
func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).compactMap { Int(String($0)) }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```

func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).compactMap { Int(String($0)) }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```swift
// Return the number of times the digit 7 appears in integers less than n which are divisible by 11 or 13.
// fizzBuzz(n: 50) == 0
// fizzBuzz(n: 78) == 2
// fizzBuzz(n: 79) == 3
func fizzBuzz(n: Int) -> Int {
    var count = 0
    for i in 1..<n {
        if i % 11 == 0 || i % 13 == 0 {
            let digits = String(i).compactMap { Int(String($0)) }
            count += digits.filter { $0 == 7 }.count
        }
    }
    return count
}
```

func sortEven(l: [Int]) -> [Int] {
    // Create an array to store the even indicies of l
    var evenIndicies = [Int]()
    // Create an array to store the odd indicies of l
    var oddIndicies = [Int]()
    // Loop through the indicies of l
    for i in 0..<l.count {
        // If the index is even, add the value to evenIndicies
        if i % 2 == 0 {
            evenIndicies.append(l[i])
        } else {
            // If the index is odd, add the value to oddIndicies
            oddIndicies.append(l[i])
        }
    }
    // Sort the evenIndicies array
    evenIndicies.sort()
    // Create an array to store the sorted even indicies
    var sortedEvenIndicies = [Int]()
    // Loop through the indicies of evenIndicies
    for i in 0..<evenIndicies.count {
        // Add the value at the index to sortedEvenIndicies
        sortedEvenIndicies.append(evenIndicies[i])
    }
    // Create an array to store the final result
    var result = [Int]()
    // Loop through the indicies of l
    for i in 0..<l.count {
        // If the index is even, add the value at the index in sortedEvenIndicies to result
        if i % 2 == 0 {
            result.append(sortedEvenIndicies[i/2])
        } else {
            // If the index is odd, add the value at the index in oddIndicies to result
            result.append(oddIndicies[i/2])
        }
    }
    // Return the result array
    return result
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the odd indicies, while its values at the even indicies are equal
// to the values of the even indicies of l, but sorted.
// sortEven(l: [1, 2, 3]) == [1, 2, 3]
// sortEven(l: [5, 6, 3, 4]) == [3, 6, 5, 4]
func sortEven(l: [Int]) -> [Int] {
    // Create an array to store the even indicies of l
    var evenIndicies = [Int]()
    // Create an array to store the odd indicies of l
    var oddIndicies = [Int]()
    // Loop through the indicies of l
    for i in 0..<l.count {
        // If the index is even, add the value to evenIndicies
        if i % 2 == 0 {
            evenIndicies.append(l[i])
        } else {
            // If the index is odd, add the value to oddIndicies
            oddIndicies.append(l[i])
        }
    }
    // Sort the evenIndicies array
    evenIndicies.sort()
    // Create an array to store the sorted even indicies
    var sortedEvenIndicies = [Int]()
    // Loop through the indicies of evenIndicies
    for i in 0..<evenIndicies.count {
        // Add the value at the index to sortedEvenIndicies
        sortedEvenIndicies.append(evenIndicies[i])
    }
    // Create an array to store the final result
    var result = [Int]()
    // Loop through the indicies of l
    for i in 0..<l.count {
        // If the index is even, add the value at the index in sortedEvenIndicies to result
        if i % 2 == 0 {
            result.append(sortedEvenIndicies[i/2])
        } else {
            // If the index is odd, add the value at the index in oddIndicies to result
            result.append(oddIndicies[i/2])
        }
    }
    // Return the result array
    return result
}
```

func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            evenIndices.append(l[i])
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(l[i])
        }
    }
    return result
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the odd indicies, while its values at the even indicies are equal
// to the values of the even indicies of l, but sorted.
// sortEven(l: [1, 2, 3]) == [1, 2, 3]
// sortEven(l: [5, 6, 3, 4]) == [3, 6, 5, 4]
func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            evenIndices.append(l[i])
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(l[i])
        }
    }
    return result
}
```

func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            evenIndices.append(l[i])
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(l[i])
        }
    }
    return result
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the odd indicies, while its values at the even indicies are equal
// to the values of the even indicies of l, but sorted.
// sortEven(l: [1, 2, 3]) == [1, 2, 3]
// sortEven(l: [5, 6, 3, 4]) == [3, 6, 5, 4]
func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            evenIndices.append(l[i])
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(l[i])
        }
    }
    return result
}
```

func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for (index, value) in l.enumerated() {
        if index % 2 == 0 {
            evenIndices.append(value)
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for (index, value) in l.enumerated() {
        if index % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(value)
        }
    }
    return result
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the odd indicies, while its values at the even indicies are equal
// to the values of the even indicies of l, but sorted.
// sortEven(l: [1, 2, 3]) == [1, 2, 3]
// sortEven(l: [5, 6, 3, 4]) == [3, 6, 5, 4]
func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for (index, value) in l.enumerated() {
        if index % 2 == 0 {
            evenIndices.append(value)
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for (index, value) in l.enumerated() {
        if index % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(value)
        }
    }
    return result
}
```

func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            evenIndices.append(l[i])
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(l[i])
        }
    }
    return result
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the odd indicies, while its values at the even indicies are equal
// to the values of the even indicies of l, but sorted.
// sortEven(l: [1, 2, 3]) == [1, 2, 3]
// sortEven(l: [5, 6, 3, 4]) == [3, 6, 5, 4]
func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            evenIndices.append(l[i])
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(l[i])
        }
    }
    return result
}
```

func sortEven(l: [Int]) -> [Int] {
    // Create an array to store the even indicies of l
    var evenIndicies = [Int]()
    // Create an array to store the values of the even indicies of l
    var evenValues = [Int]()
    // Create an array to store the values of the odd indicies of l
    var oddValues = [Int]()
    // Loop through the indicies of l
    for i in 0..<l.count {
        // If the index is even, add the value to evenValues and the index to evenIndicies
        if i % 2 == 0 {
            evenValues.append(l[i])
            evenIndicies.append(i)
        // If the index is odd, add the value to oddValues
        } else {
            oddValues.append(l[i])
        }
    }
    // Sort the evenValues array
    evenValues.sort()
    // Create an array to store the sorted evenValues
    var sortedEvenValues = [Int]()
    // Loop through the evenIndicies array
    for i in evenIndicies {
        // Add the value at the index i of evenValues to sortedEvenValues
        sortedEvenValues.append(evenValues[i])
    }
    // Create an array to store the sorted evenValues and oddValues
    var sortedValues = [Int]()
    // Loop through the indicies of l
    for i in 0..<l.count {
        // If the index is even, add the value at the index i of sortedEvenValues to sortedValues
        if i % 2 == 0 {
            sortedValues.append(sortedEvenValues[i])
        // If the index is odd, add the value at the index i of oddValues to sortedValues
        } else {
            sortedValues.append(oddValues[i])
        }
    }
    // Return the sortedValues array
    return sortedValues
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the odd indicies, while its values at the even indicies are equal
// to the values of the even indicies of l, but sorted.
// sortEven(l: [1, 2, 3]) == [1, 2, 3]
// sortEven(l: [5, 6, 3, 4]) == [3, 6, 5, 4]
func sortEven(l: [Int]) -> [Int] {
    // Create an array to store the even indicies of l
    var evenIndicies = [Int]()
    // Create an array to store the values of the even indicies of l
    var evenValues = [Int]()
    // Create an array to store the values of the odd indicies of l
    var oddValues = [Int]()
    // Loop through the indicies of l
    for i in 0..<l.count {
        // If the index is even, add the value to evenValues and the index to evenIndicies
        if i % 2 == 0 {
            evenValues.append(l[i])
            evenIndicies.append(i)
        // If the index is odd, add the value to oddValues
        } else {
            oddValues.append(l[i])
        }
    }
    // Sort the evenValues array
    evenValues.sort()
    // Create an array to store the sorted evenValues
    var sortedEvenValues = [Int]()
    // Loop through the evenIndicies array
    for i in evenIndicies {
        // Add the value at the index i of evenValues to sortedEvenValues
        sortedEvenValues.append(evenValues[i])
    }
    // Create an array to store the sorted evenValues and oddValues
    var sortedValues = [Int]()
    // Loop through the indicies of l
    for i in 0..<l.count {
        // If the index is even, add the value at the index i of sortedEvenValues to sortedValues
        if i % 2 == 0 {
            sortedValues.append(sortedEvenValues[i])
        // If the index is odd, add the value at the index i of oddValues to sortedValues
        } else {
            sortedValues.append(oddValues[i])
        }
    }
    // Return the sortedValues array
    return sortedValues
}
```
 // Fatal error: Index out of range

func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            evenIndices.append(l[i])
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(l[i])
        }
    }
    return result
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the odd indicies, while its values at the even indicies are equal
// to the values of the even indicies of l, but sorted.
// sortEven(l: [1, 2, 3]) == [1, 2, 3]
// sortEven(l: [5, 6, 3, 4]) == [3, 6, 5, 4]
func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            evenIndices.append(l[i])
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for i in 0..<l.count {
        if i % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(l[i])
        }
    }
    return result
}
```

func sortEven(l: [Int]) -> [Int] {
    // Create a copy of the array to avoid modifying the original array
    var l = l
    // Create an array to store the even indicies of the original array
    var evenIndicies = [Int]()
    // Create an array to store the values at the even indicies of the original array
    var evenValues = [Int]()
    // Loop through the array and store the even indicies and values in the respective arrays
    for i in 0..<l.count {
        if i % 2 == 0 {
            evenIndicies.append(i)
            evenValues.append(l[i])
        }
    }
    // Sort the even values in ascending order
    evenValues.sort()
    // Loop through the even indicies and replace the values at those indicies with the sorted even values
    for i in 0..<evenIndicies.count {
        l[evenIndicies[i]] = evenValues[i]
    }
    // Return the modified array
    return l
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the odd indicies, while its values at the even indicies are equal
// to the values of the even indicies of l, but sorted.
// sortEven(l: [1, 2, 3]) == [1, 2, 3]
// sortEven(l: [5, 6, 3, 4]) == [3, 6, 5, 4]
func sortEven(l: [Int]) -> [Int] {
    // Create a copy of the array to avoid modifying the original array
    var l = l
    // Create an array to store the even indicies of the original array
    var evenIndicies = [Int]()
    // Create an array to store the values at the even indicies of the original array
    var evenValues = [Int]()
    // Loop through the array and store the even indicies and values in the respective arrays
    for i in 0..<l.count {
        if i % 2 == 0 {
            evenIndicies.append(i)
            evenValues.append(l[i])
        }
    }
    // Sort the even values in ascending order
    evenValues.sort()
    // Loop through the even indicies and replace the values at those indicies with the sorted even values
    for i in 0..<evenIndicies.count {
        l[evenIndicies[i]] = evenValues[i]
    }
    // Return the modified array
    return l
}
```

func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for (index, value) in l.enumerated() {
        if index % 2 == 0 {
            evenIndices.append(value)
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for (index, value) in l.enumerated() {
        if index % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(value)
        }
    }
    return result
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the odd indicies, while its values at the even indicies are equal
// to the values of the even indicies of l, but sorted.
// sortEven(l: [1, 2, 3]) == [1, 2, 3]
// sortEven(l: [5, 6, 3, 4]) == [3, 6, 5, 4]
func sortEven(l: [Int]) -> [Int] {
    var evenIndices = [Int]()
    for (index, value) in l.enumerated() {
        if index % 2 == 0 {
            evenIndices.append(value)
        }
    }
    evenIndices.sort()
    var result = [Int]()
    for (index, value) in l.enumerated() {
        if index % 2 == 0 {
            result.append(evenIndices.removeFirst())
        } else {
            result.append(value)
        }
    }
    return result
}
```

func sortEven(l: [Int]) -> [Int] {
    // Extract the values at the even indicies of l
    let evenValues = l.enumerated().filter { $0.offset % 2 == 0 }.map { $0.element }
    // Sort the even values
    let sortedEvenValues = evenValues.sorted()
    // Create a new array l' by replacing the even indicies of l with the sorted even values
    var lPrime = l
    for (i, value) in sortedEvenValues.enumerated() {
        lPrime[i * 2] = value
    }
    return lPrime
}
```swift
// This function takes an array l and returns an array l' such that
// l' is identical to l in the odd indicies, while its values at the even indicies are equal
// to the values of the even indicies of l, but sorted.
// sortEven(l: [1, 2, 3]) == [1, 2, 3]
// sortEven(l: [5, 6, 3, 4]) == [3, 6, 5, 4]
func sortEven(l: [Int]) -> [Int] {
    // Extract the values at the even indicies of l
    let evenValues = l.enumerated().filter { $0.offset % 2 == 0 }.map { $0.element }
    // Sort the even values
    let sortedEvenValues = evenValues.sorted()
    // Create a new array l' by replacing the even indicies of l with the sorted even values
    var lPrime = l
    for (i, value) in sortedEvenValues.enumerated() {
        lPrime[i * 2] = value
    }
    return lPrime
}
```

func primeFib(n: Int) -> Int {
    var fib1 = 1
    var fib2 = 1
    var count = 1
    var fib = 0
    while count < n {
        fib = fib1 + fib2
        fib1 = fib2
        fib2 = fib
        if isPrime(fib) {
            count += 1
        }
    }
    return fib
}

func isPrime(num: Int) -> Bool {
    if num <= 1 {
        return false
    }
    if num <= 3 {
        return true
    }
    if num % 2 == 0 || num % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= num {
        if num % i == 0 || num % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}

func check() {
    assert(primeFib(n: 1) == 2)
    assert(primeFib(n: 2) == 3)
    assert(primeFib(n: 3) == 5)
    assert(primeFib(n: 4) == 13)
    assert(primeFib(n: 5) == 89)
    print("All tests passed!")
}
```swift
// prime_fib returns n-th number that is a Fibonacci number and it's also prime.
// primeFib(n: 1) == 2
// primeFib(n: 2) == 3
// primeFib(n: 3) == 5
// primeFib(n: 4) == 13
// primeFib(n: 5) == 89
func primeFib(n: Int) -> Int {
    var fib1 = 1
    var fib2 = 1
    var count = 1
    var fib = 0
    while count < n {
        fib = fib1 + fib2
        fib1 = fib2
        fib2 = fib
        if isPrime(fib) {
            count += 1
        }
    }
    return fib
}

// isPrime checks if a number is prime.
func isPrime(num: Int) -> Bool {
    if num <= 1 {
        return false
    }
    if num <= 3 {
        return true
    }
    if num % 2 == 0 || num % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= num {
        if num % i == 0 || num % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}

// check function to verify the correctness of the primeFib function.
func check() {
    assert(primeFib(n: 1) == 2)
    assert(primeFib(n: 2) == 3)
    assert(primeFib(n: 3) == 5)
    assert(primeFib(n: 4) == 13)
    assert(primeFib(n: 5) == 89)
    print("All tests passed!")
}

check()
```

if isPrime(fib) { // missing argument label 'num:' in call

func primeFib(n: Int) -> Int {
    var fibSeq = [2, 3]
    var primeFibs = [2, 3]
    var i = 5
    while primeFibs.count < n {
        let nextFib = fibSeq[i-1] + fibSeq[i-2]
        if isPrime(nextFib) {
            primeFibs.append(nextFib)
        }
        fibSeq.append(nextFib)
        i += 1
    }
    return primeFibs.last!
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}
```swift
// prime_fib returns n-th number that is a Fibonacci number and it's also prime.
// primeFib(n: 1) == 2
// primeFib(n: 2) == 3
// primeFib(n: 3) == 5
// primeFib(n: 4) == 13
// primeFib(n: 5) == 89
func primeFib(n: Int) -> Int {
    var fibSeq = [2, 3]
    var primeFibs = [2, 3]
    var i = 5
    while primeFibs.count < n {
        let nextFib = fibSeq[i-1] + fibSeq[i-2]
        if isPrime(nextFib) {
            primeFibs.append(nextFib)
        }
        fibSeq.append(nextFib)
        i += 1
    }
    return primeFibs.last!
}

// isPrime checks if a number is prime.
func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}
```

 // XCTAssertTrue failed

func primeFib(n: Int) -> Int {
    var fib1 = 1
    var fib2 = 1
    var count = 1
    var primeFib = 0
    
    while count <= n {
        if isPrime(fib1) {
            primeFib = fib1
            count += 1
        }
        let temp = fib1
        fib1 = fib2
        fib2 = temp + fib2
    }
    
    return primeFib
}

func isPrime(_ number: Int) -> Bool {
    if number <= 1 { return false }
    if number <= 3 { return true }
    if number % 2 == 0 || number % 3 == 0 { return false }
    var i = 5
    while i * i <= number {
        if number % i == 0 || number % (i + 2) == 0 { return false }
        i += 6
    }
    return true
}

func check() {
    assert(primeFib(n: 1) == 2)
    assert(primeFib(n: 2) == 3)
    assert(primeFib(n: 3) == 5)
    assert(primeFib(n: 4) == 13)
    assert(primeFib(n: 5) == 89)
    print("All tests passed!")
}
```swift
// prime_fib returns n-th number that is a Fibonacci number and it's also prime.
// primeFib(n: 1) == 2
// primeFib(n: 2) == 3
// primeFib(n: 3) == 5
// primeFib(n: 4) == 13
// primeFib(n: 5) == 89
func primeFib(n: Int) -> Int {
    var fib1 = 1
    var fib2 = 1
    var count = 1
    var primeFib = 0
    
    while count <= n {
        if isPrime(fib1) {
            primeFib = fib1
            count += 1
        }
        let temp = fib1
        fib1 = fib2
        fib2 = temp + fib2
    }
    
    return primeFib
}

// isPrime checks if a number is prime.
func isPrime(_ number: Int) -> Bool {
    if number <= 1 { return false }
    if number <= 3 { return true }
    if number % 2 == 0 || number % 3 == 0 { return false }
    var i = 5
    while i * i <= number {
        if number % i == 0 || number % (i + 2) == 0 { return false }
        i += 6
    }
    return true
}

// check function to verify the correctness of the primeFib function.
func check() {
    assert(primeFib(n: 1) == 2)
    assert(primeFib(n: 2) == 3)
    assert(primeFib(n: 3) == 5)
    assert(primeFib(n: 4) == 13)
    assert(primeFib(n: 5) == 89)
    print("All tests passed!")
}

check()
```

func primeFib(n: Int) -> Int {
    var fibSequence = [2, 3]
    var primeFibNumbers = [2, 3]
    var i = 5
    while primeFibNumbers.count < n {
        var isPrime = true
        for j in 2..<i {
            if i % j == 0 {
                isPrime = false
                break
            }
        }
        if isPrime {
            let fib1 = fibSequence[fibSequence.count - 1]
            let fib2 = fibSequence[fibSequence.count - 2]
            let fibNext = fib1 + fib2
            fibSequence.append(fibNext)
            if fibNext % 2 != 0 && fibNext % 3 != 0 {
                primeFibNumbers.append(fibNext)
            }
        }
        i += 1
    }
    return primeFibNumbers[n - 1]
}
```swift
// prime_fib returns n-th number that is a Fibonacci number and it's also prime.
// primeFib(n: 1) == 2
// primeFib(n: 2) == 3
// primeFib(n: 3) == 5
// primeFib(n: 4) == 13
// primeFib(n: 5) == 89
func primeFib(n: Int) -> Int {
    var fibSequence = [2, 3]
    var primeFibNumbers = [2, 3]
    var i = 5
    while primeFibNumbers.count < n {
        var isPrime = true
        for j in 2..<i {
            if i % j == 0 {
                isPrime = false
                break
            }
        }
        if isPrime {
            let fib1 = fibSequence[fibSequence.count - 1]
            let fib2 = fibSequence[fibSequence.count - 2]
            let fibNext = fib1 + fib2
            fibSequence.append(fibNext)
            if fibNext % 2 != 0 && fibNext % 3 != 0 {
                primeFibNumbers.append(fibNext)
            }
        }
        i += 1
    }
    return primeFibNumbers[n - 1]
}
```

 // XCTAssertTrue failed

func primeFib(n: Int) -> Int {
    var fib1 = 1
    var fib2 = 1
    var count = 1
    var primeFibs = [2, 3, 5, 13, 89] // precomputed prime Fibonacci numbers

    if n <= 5 {
        return primeFibs[n - 1]
    }

    while true {
        let fib = fib1 + fib2
        fib1 = fib2
        fib2 = fib

        if isPrime(fib) {
            count += 1
            if count == n {
                return fib
            }
        }
    }
}

func isPrime(_ number: Int) -> Bool {
    if number <= 1 { return false }
    if number <= 3 { return true }
    if number % 2 == 0 || number % 3 == 0 { return false }

    var i = 5
    while i * i <= number {
        if number % i == 0 || number % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}

func check() {
    assert(primeFib(n: 1) == 2)
    assert(primeFib(n: 2) == 3)
    assert(primeFib(n: 3) == 5)
    assert(primeFib(n: 4) == 13)
    assert(primeFib(n: 5) == 89)
    print("All tests passed!")
}
```swift
// prime_fib returns n-th number that is a Fibonacci number and it's also prime.
// primeFib(n: 1) == 2
// primeFib(n: 2) == 3
// primeFib(n: 3) == 5
// primeFib(n: 4) == 13
// primeFib(n: 5) == 89
func primeFib(n: Int) -> Int {
    var fib1 = 1
    var fib2 = 1
    var count = 1
    var primeFibs = [2, 3, 5, 13, 89] // precomputed prime Fibonacci numbers

    if n <= 5 {
        return primeFibs[n - 1]
    }

    while true {
        let fib = fib1 + fib2
        fib1 = fib2
        fib2 = fib

        if isPrime(fib) {
            count += 1
            if count == n {
                return fib
            }
        }
    }
}

// isPrime checks if a number is prime.
func isPrime(_ number: Int) -> Bool {
    if number <= 1 { return false }
    if number <= 3 { return true }
    if number % 2 == 0 || number % 3 == 0 { return false }

    var i = 5
    while i * i <= number {
        if number % i == 0 || number % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}

// check function to verify the correctness of the primeFib function.
func check() {
    assert(primeFib(n: 1) == 2)
    assert(primeFib(n: 2) == 3)
    assert(primeFib(n: 3) == 5)
    assert(primeFib(n: 4) == 13)
    assert(primeFib(n: 5) == 89)
    print("All tests passed!")
}

check()
```

var primeFibs = [2, 3, 5, 13, 89] // precomputed prime Fibonacci numbers // variable 'primeFibs' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func primeFib(n: Int) -> Int {
    var fibSequence = [2, 3]
    var primeFibNumbers = [2, 3]
    var i = 5
    while primeFibNumbers.count < n {
        var isPrime = true
        for j in 2..<i {
            if i % j == 0 {
                isPrime = false
                break
            }
        }
        if isPrime {
            let fib1 = fibSequence[fibSequence.count - 1]
            let fib2 = fibSequence[fibSequence.count - 2]
            let fibNext = fib1 + fib2
            fibSequence.append(fibNext)
            if fibNext % 2 != 0 && fibNext % 3 != 0 {
                primeFibNumbers.append(fibNext)
            }
        }
        i += 1
    }
    return primeFibNumbers[n - 1]
}
```swift
// prime_fib returns n-th number that is a Fibonacci number and it's also prime.
// primeFib(n: 1) == 2
// primeFib(n: 2) == 3
// primeFib(n: 3) == 5
// primeFib(n: 4) == 13
// primeFib(n: 5) == 89
func primeFib(n: Int) -> Int {
    var fibSequence = [2, 3]
    var primeFibNumbers = [2, 3]
    var i = 5
    while primeFibNumbers.count < n {
        var isPrime = true
        for j in 2..<i {
            if i % j == 0 {
                isPrime = false
                break
            }
        }
        if isPrime {
            let fib1 = fibSequence[fibSequence.count - 1]
            let fib2 = fibSequence[fibSequence.count - 2]
            let fibNext = fib1 + fib2
            fibSequence.append(fibNext)
            if fibNext % 2 != 0 && fibNext % 3 != 0 {
                primeFibNumbers.append(fibNext)
            }
        }
        i += 1
    }
    return primeFibNumbers[n - 1]
}
```

 // XCTAssertTrue failed

func primeFib(n: Int) -> Int {
    var fib1 = 1
    var fib2 = 1
    var count = 1
    var fib = 0
    while count < n {
        fib = fib1 + fib2
        fib1 = fib2
        fib2 = fib
        if isPrime(fib) {
            count += 1
        }
    }
    return fib
}

func isPrime(_ number: Int) -> Bool {
    if number <= 1 {
        return false
    }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

func check() {
    assert(primeFib(n: 1) == 2, "Test case 1 failed")
    assert(primeFib(n: 2) == 3, "Test case 2 failed")
    assert(primeFib(n: 3) == 5, "Test case 3 failed")
    assert(primeFib(n: 4) == 13, "Test case 4 failed")
    assert(primeFib(n: 5) == 89, "Test case 5 failed")
    print("All test cases passed!")
}
```swift
// prime_fib returns n-th number that is a Fibonacci number and it's also prime.
// primeFib(n: 1) == 2
// primeFib(n: 2) == 3
// primeFib(n: 3) == 5
// primeFib(n: 4) == 13
// primeFib(n: 5) == 89
func primeFib(n: Int) -> Int {
    var fib1 = 1
    var fib2 = 1
    var count = 1
    var fib = 0
    while count < n {
        fib = fib1 + fib2
        fib1 = fib2
        fib2 = fib
        if isPrime(fib) {
            count += 1
        }
    }
    return fib
}

// isPrime checks if a number is prime.
func isPrime(_ number: Int) -> Bool {
    if number <= 1 {
        return false
    }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

// check function to verify the correctness of the primeFib function.
func check() {
    assert(primeFib(n: 1) == 2, "Test case 1 failed")
    assert(primeFib(n: 2) == 3, "Test case 2 failed")
    assert(primeFib(n: 3) == 5, "Test case 3 failed")
    assert(primeFib(n: 4) == 13, "Test case 4 failed")
    assert(primeFib(n: 5) == 89, "Test case 5 failed")
    print("All test cases passed!")
}

check()
```

 // XCTAssertTrue failed

func primeFib(n: Int) -> Int {
    var fib1 = 1
    var fib2 = 1
    var count = 1
    var primeFib = 0
    while count <= n {
        if isPrime(fib1) {
            primeFib = fib1
            count += 1
        }
        let nextFib = fib1 + fib2
        fib1 = fib2
        fib2 = nextFib
    }
    return primeFib
}

func isPrime(_ number: Int) -> Bool {
    if number <= 1 { return false }
    if number <= 3 { return true }
    if number % 2 == 0 || number % 3 == 0 { return false }
    var i = 5
    while i * i <= number {
        if number % i == 0 || number % (i + 2) == 0 { return false }
        i += 6
    }
    return true
}

func check() {
    assert(primeFib(n: 1) == 2)
    assert(primeFib(n: 2) == 3)
    assert(primeFib(n: 3) == 5)
    assert(primeFib(n: 4) == 13)
    assert(primeFib(n: 5) == 89)
    print("All tests passed successfully.")
}
```swift
// prime_fib returns n-th number that is a Fibonacci number and it's also prime.
// primeFib(n: 1) == 2
// primeFib(n: 2) == 3
// primeFib(n: 3) == 5
// primeFib(n: 4) == 13
// primeFib(n: 5) == 89
func primeFib(n: Int) -> Int {
    var fib1 = 1
    var fib2 = 1
    var count = 1
    var primeFib = 0
    while count <= n {
        if isPrime(fib1) {
            primeFib = fib1
            count += 1
        }
        let nextFib = fib1 + fib2
        fib1 = fib2
        fib2 = nextFib
    }
    return primeFib
}

// isPrime checks if a number is prime.
func isPrime(_ number: Int) -> Bool {
    if number <= 1 { return false }
    if number <= 3 { return true }
    if number % 2 == 0 || number % 3 == 0 { return false }
    var i = 5
    while i * i <= number {
        if number % i == 0 || number % (i + 2) == 0 { return false }
        i += 6
    }
    return true
}

// check function to verify the correctness of the primeFib function.
func check() {
    assert(primeFib(n: 1) == 2)
    assert(primeFib(n: 2) == 3)
    assert(primeFib(n: 3) == 5)
    assert(primeFib(n: 4) == 13)
    assert(primeFib(n: 5) == 89)
    print("All tests passed successfully.")
}

check()
```

func primeFib(n: Int) -> Int {
    var count = 0
    var fibNum = 0
    var a = 0
    var b = 1
    while count < n {
        fibNum = a + b
        a = b
        b = fibNum
        if fibNum > 1 && (2..<Int(sqrt(Double(fibNum)) + 1)).allSatisfy({ fibNum % $0 != 0 }) {
            count += 1
        }
    }
    return fibNum
}
```swift
// prime_fib returns n-th number that is a Fibonacci number and it's also prime.
// primeFib(n: 1) == 2
// primeFib(n: 2) == 3
// primeFib(n: 3) == 5
// primeFib(n: 4) == 13
// primeFib(n: 5) == 89
func primeFib(n: Int) -> Int {
    var count = 0
    var fibNum = 0
    var a = 0
    var b = 1
    while count < n {
        fibNum = a + b
        a = b
        b = fibNum
        if fibNum > 1 && (2..<Int(sqrt(Double(fibNum)) + 1)).allSatisfy({ fibNum % $0 != 0 }) {
            count += 1
        }
    }
    return fibNum
}
```

func primeFib(n: Int) -> Int {
    func isPrime(_ num: Int) -> Bool {
        guard num > 1 else { return false }
        for i in 2..<num {
            if num % i == 0 {
                return false
            }
        }
        return true
    }

    func fib(_ n: Int) -> Int {
        if n <= 1 {
            return n
        }
        return fib(n - 1) + fib(n - 2)
    }

    var count = 0
    var i = 0
    while true {
        let fibNum = fib(i)
        if isPrime(fibNum) {
            count += 1
            if count == n {
                return fibNum
            }
        }
        i += 1
    }
}
```swift
// prime_fib returns n-th number that is a Fibonacci number and it's also prime.
// primeFib(n: 1) == 2
// primeFib(n: 2) == 3
// primeFib(n: 3) == 5
// primeFib(n: 4) == 13
// primeFib(n: 5) == 89
func primeFib(n: Int) -> Int {
    func isPrime(_ num: Int) -> Bool {
        guard num > 1 else { return false }
        for i in 2..<num {
            if num % i == 0 {
                return false
            }
        }
        return true
    }

    func fib(_ n: Int) -> Int {
        if n <= 1 {
            return n
        }
        return fib(n - 1) + fib(n - 2)
    }

    var count = 0
    var i = 0
    while true {
        let fibNum = fib(i)
        if isPrime(fibNum) {
            count += 1
            if count == n {
                return fibNum
            }
        }
        i += 1
    }
}
```

func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// triples_sum_to_zero takes an array of integers as an input.
// it returns true if there are three distinct elements in the array that
// sum to zero, and false otherwise.
// triplesSumToZero(l: [1, 3, 5, 0]) == false
// triplesSumToZero(l: [1, 3, -2, 1]) == true
// triplesSumToZero(l: [1, 2, 3, 7]) == false
// triplesSumToZero(l: [2, 4, -5, 3, 9, 7]) == true
// triplesSumToZero(l: [1]) == false
func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// triples_sum_to_zero takes an array of integers as an input.
// it returns true if there are three distinct elements in the array that
// sum to zero, and false otherwise.
// triplesSumToZero(l: [1, 3, 5, 0]) == false
// triplesSumToZero(l: [1, 3, -2, 1]) == true
// triplesSumToZero(l: [1, 2, 3, 7]) == false
// triplesSumToZero(l: [2, 4, -5, 3, 9, 7]) == true
// triplesSumToZero(l: [1]) == false
func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// triples_sum_to_zero takes an array of integers as an input.
// it returns true if there are three distinct elements in the array that
// sum to zero, and false otherwise.
// triplesSumToZero(l: [1, 3, 5, 0]) == false
// triplesSumToZero(l: [1, 3, -2, 1]) == true
// triplesSumToZero(l: [1, 2, 3, 7]) == false
// triplesSumToZero(l: [2, 4, -5, 3, 9, 7]) == true
// triplesSumToZero(l: [1]) == false
func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// triples_sum_to_zero takes an array of integers as an input.
// it returns true if there are three distinct elements in the array that
// sum to zero, and false otherwise.
// triplesSumToZero(l: [1, 3, 5, 0]) == false
// triplesSumToZero(l: [1, 3, -2, 1]) == true
// triplesSumToZero(l: [1, 2, 3, 7]) == false
// triplesSumToZero(l: [2, 4, -5, 3, 9, 7]) == true
// triplesSumToZero(l: [1]) == false
func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// triples_sum_to_zero takes an array of integers as an input.
// it returns true if there are three distinct elements in the array that
// sum to zero, and false otherwise.
// triplesSumToZero(l: [1, 3, 5, 0]) == false
// triplesSumToZero(l: [1, 3, -2, 1]) == true
// triplesSumToZero(l: [1, 2, 3, 7]) == false
// triplesSumToZero(l: [2, 4, -5, 3, 9, 7]) == true
// triplesSumToZero(l: [1]) == false
func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// triples_sum_to_zero takes an array of integers as an input.
// it returns true if there are three distinct elements in the array that
// sum to zero, and false otherwise.
// triplesSumToZero(l: [1, 3, 5, 0]) == false
// triplesSumToZero(l: [1, 3, -2, 1]) == true
// triplesSumToZero(l: [1, 2, 3, 7]) == false
// triplesSumToZero(l: [2, 4, -5, 3, 9, 7]) == true
// triplesSumToZero(l: [1]) == false
func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// triples_sum_to_zero takes an array of integers as an input.
// it returns true if there are three distinct elements in the array that
// sum to zero, and false otherwise.
// triplesSumToZero(l: [1, 3, 5, 0]) == false
// triplesSumToZero(l: [1, 3, -2, 1]) == true
// triplesSumToZero(l: [1, 2, 3, 7]) == false
// triplesSumToZero(l: [2, 4, -5, 3, 9, 7]) == true
// triplesSumToZero(l: [1]) == false
func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// triples_sum_to_zero takes an array of integers as an input.
// it returns true if there are three distinct elements in the array that
// sum to zero, and false otherwise.
// triplesSumToZero(l: [1, 3, 5, 0]) == false
// triplesSumToZero(l: [1, 3, -2, 1]) == true
// triplesSumToZero(l: [1, 2, 3, 7]) == false
// triplesSumToZero(l: [2, 4, -5, 3, 9, 7]) == true
// triplesSumToZero(l: [1]) == false
func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// triples_sum_to_zero takes an array of integers as an input.
// it returns true if there are three distinct elements in the array that
// sum to zero, and false otherwise.
// triplesSumToZero(l: [1, 3, 5, 0]) == false
// triplesSumToZero(l: [1, 3, -2, 1]) == true
// triplesSumToZero(l: [1, 2, 3, 7]) == false
// triplesSumToZero(l: [2, 4, -5, 3, 9, 7]) == true
// triplesSumToZero(l: [1]) == false
func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// triples_sum_to_zero takes an array of integers as an input.
// it returns true if there are three distinct elements in the array that
// sum to zero, and false otherwise.
// triplesSumToZero(l: [1, 3, 5, 0]) == false
// triplesSumToZero(l: [1, 3, -2, 1]) == true
// triplesSumToZero(l: [1, 2, 3, 7]) == false
// triplesSumToZero(l: [2, 4, -5, 3, 9, 7]) == true
// triplesSumToZero(l: [1]) == false
func triplesSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory
    // as if they did not collide. Therefore, each car that's moving left to right will collide
    // with each car that's moving right to left. The total number of collisions is the product
    // of the number of cars moving left to right and the number of cars moving right to left.
    return n * n
}
```swift
// Imagine a road that's a perfectly straight infinitely long line.
// n cars are driving left to right;  simultaneously, a different set of n cars
// are driving right to left.   The two sets of cars start out being very far from
// each other.  All cars move in the same speed.  Two cars are said to collide
// when a car that's moving left to right hits a car that's moving right to left.
// However, the cars are infinitely sturdy and strong; as a result, they continue moving
// in their trajectory as if they did not collide.
// This function outputs the number of such collisions.
func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory
    // as if they did not collide. Therefore, each car that's moving left to right will collide
    // with each car that's moving right to left. The total number of collisions is the product
    // of the number of cars moving left to right and the number of cars moving right to left.
    return n * n
}
```

func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory
    // as if they did not collide.  Therefore, the number of collisions is equal to the number of cars.
    return n
}
```swift
// Imagine a road that's a perfectly straight infinitely long line.
// n cars are driving left to right;  simultaneously, a different set of n cars
// are driving right to left.   The two sets of cars start out being very far from
// each other.  All cars move in the same speed.  Two cars are said to collide
// when a car that's moving left to right hits a car that's moving right to left.
// However, the cars are infinitely sturdy and strong; as a result, they continue moving
// in their trajectory as if they did not collide.
// This function outputs the number of such collisions.
func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory
    // as if they did not collide.  Therefore, the number of collisions is equal to the number of cars.
    return n
}
```
 // XCTAssertTrue failed

func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory as if they did not collide.
    // Therefore, the number of collisions is equal to the number of cars.
    return n
}
```swift
// Imagine a road that's a perfectly straight infinitely long line.
// n cars are driving left to right;  simultaneously, a different set of n cars
// are driving right to left.   The two sets of cars start out being very far from
// each other.  All cars move in the same speed.  Two cars are said to collide
// when a car that's moving left to right hits a car that's moving right to left.
// However, the cars are infinitely sturdy and strong; as a result, they continue moving
// in their trajectory as if they did not collide.
// This function outputs the number of such collisions.
func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory as if they did not collide.
    // Therefore, the number of collisions is equal to the number of cars.
    return n
}
```
 // XCTAssertTrue failed

func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory
    // as if they did not collide. Therefore, the number of collisions is equal to the number of cars.
    return n
}
```swift
// Imagine a road that's a perfectly straight infinitely long line.
// n cars are driving left to right;  simultaneously, a different set of n cars
// are driving right to left.   The two sets of cars start out being very far from
// each other.  All cars move in the same speed.  Two cars are said to collide
// when a car that's moving left to right hits a car that's moving right to left.
// However, the cars are infinitely sturdy and strong; as a result, they continue moving
// in their trajectory as if they did not collide.
// This function outputs the number of such collisions.
func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory
    // as if they did not collide. Therefore, the number of collisions is equal to the number of cars.
    return n
}
```
 // XCTAssertTrue failed

func carRaceCollision(n: Int) -> Int {
    return n * n
}
```swift
// Imagine a road that's a perfectly straight infinitely long line.
// n cars are driving left to right;  simultaneously, a different set of n cars
// are driving right to left.   The two sets of cars start out being very far from
// each other.  All cars move in the same speed.  Two cars are said to collide
// when a car that's moving left to right hits a car that's moving right to left.
// However, the cars are infinitely sturdy and strong; as a result, they continue moving
// in their trajectory as if they did not collide.
// This function outputs the number of such collisions.
func carRaceCollision(n: Int) -> Int {
    return n * n
}
```

func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory as if they did not collide.
    // Therefore, the number of collisions is equal to the number of cars.
    return n
}
```swift
// Imagine a road that's a perfectly straight infinitely long line.
// n cars are driving left to right;  simultaneously, a different set of n cars
// are driving right to left.   The two sets of cars start out being very far from
// each other.  All cars move in the same speed.  Two cars are said to collide
// when a car that's moving left to right hits a car that's moving right to left.
// However, the cars are infinitely sturdy and strong; as a result, they continue moving
// in their trajectory as if they did not collide.
// This function outputs the number of such collisions.
func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory as if they did not collide.
    // Therefore, the number of collisions is equal to the number of cars.
    return n
}
```
 // XCTAssertTrue failed

func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory as if they did not collide.
    // Therefore, the number of collisions is equal to the number of cars.
    return n
}
```swift
// Imagine a road that's a perfectly straight infinitely long line.
// n cars are driving left to right;  simultaneously, a different set of n cars
// are driving right to left.   The two sets of cars start out being very far from
// each other.  All cars move in the same speed.  Two cars are said to collide
// when a car that's moving left to right hits a car that's moving right to left.
// However, the cars are infinitely sturdy and strong; as a result, they continue moving
// in their trajectory as if they did not collide.
// This function outputs the number of such collisions.
func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory as if they did not collide.
    // Therefore, the number of collisions is equal to the number of cars.
    return n
}
```
 // XCTAssertTrue failed

func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory
    // as if they did not collide. Therefore, the number of collisions is equal to the number of cars.
    return n
}
```swift
// Imagine a road that's a perfectly straight infinitely long line.
// n cars are driving left to right;  simultaneously, a different set of n cars
// are driving right to left.   The two sets of cars start out being very far from
// each other.  All cars move in the same speed.  Two cars are said to collide
// when a car that's moving left to right hits a car that's moving right to left.
// However, the cars are infinitely sturdy and strong; as a result, they continue moving
// in their trajectory as if they did not collide.
// This function outputs the number of such collisions.
func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory
    // as if they did not collide. Therefore, the number of collisions is equal to the number of cars.
    return n
}
```
 // XCTAssertTrue failed

func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory as if they did not collide.
    // Therefore, the number of collisions is equal to the number of cars.
    return n
}
```swift
// Imagine a road that's a perfectly straight infinitely long line.
// n cars are driving left to right;  simultaneously, a different set of n cars
// are driving right to left.   The two sets of cars start out being very far from
// each other.  All cars move in the same speed.  Two cars are said to collide
// when a car that's moving left to right hits a car that's moving right to left.
// However, the cars are infinitely sturdy and strong; as a result, they continue moving
// in their trajectory as if they did not collide.
// This function outputs the number of such collisions.
func carRaceCollision(n: Int) -> Int {
    // Since the cars are infinitely sturdy and strong, they continue moving in their trajectory as if they did not collide.
    // Therefore, the number of collisions is equal to the number of cars.
    return n
}
```
 // XCTAssertTrue failed

func carRaceCollision(n: Int) -> Int {
    return n * n
}
```swift
// Imagine a road that's a perfectly straight infinitely long line.
// n cars are driving left to right;  simultaneously, a different set of n cars
// are driving right to left.   The two sets of cars start out being very far from
// each other.  All cars move in the same speed.  Two cars are said to collide
// when a car that's moving left to right hits a car that's moving right to left.
// However, the cars are infinitely sturdy and strong; as a result, they continue moving
// in their trajectory as if they did not collide.
// This function outputs the number of such collisions.
func carRaceCollision(n: Int) -> Int {
    return n * n
}
```

func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

func halveList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}
```swift
// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

// Return array with elements decremented by 1.
// decrList(l: [1, 2, 3]) == [0, 1, 2]
// decrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [4, 2, 4, 1, 2, 2, 8, -1, 122]
func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

// Return array with elements multiplied by 2.
// doubleList(l: [1, 2, 3]) == [2, 4, 6]
// doubleList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

// Return array with elements divided by 2.
// halveList(l: [1, 2, 3]) == [0, 1, 1]
// halveList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [2, 1, 2, 1, 1, 1, 4, 0, 61]
func halveList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

// Return array with elements squared.
// squareList(l: [1, 2, 3]) == [1, 4, 9]
// squareList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [25, 9, 25, 4, 9, 9, 81, 0, 15129]
func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

// Return array with elements cubed.
// cubeList(l: [1, 2, 3]) == [1, 8, 27]
// cubeList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [125, 27, 125, 8, 27, 27, 729, 0, 1860867]
func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

// Return array with elements raised to the power of 4.
// power4List(l: [1, 2, 3]) == [1, 16, 81]
// power4List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [625, 81, 625, 16, 81, 81, 6561, 0, 15129]
func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 5.
// power5List(l: [1, 2, 3]) == [1, 32, 243]
// power5List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [3125, 243, 3125, 32, 243, 243, 59049, 0, 1860867]
func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 6.
// power6List(l: [1, 2, 3]) == [1, 64, 729]
// power6List(l: [5, 3, 5, 2

```swift
// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] { return l.map { $0 + 1 } }

// Return array with elements multiplied by 2.
// doubleList(l: [1, 2, 3]) == [2, 4, 6]
// doubleList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func doubleList(l: [Int]) -> [Int] { return l.map { $0 * 2 } }

// Return array with elements multiplied by n.
// multiplyList(l: [1, 2, 3], n: 2) == [2, 4, 6]
// multiplyList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], n: 2) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func multiplyList(l: [Int], n: Int) -> [Int] { return l.map { $0 * n } }

// Return array with elements multiplied by n.
// multiplyList(l: [1, 2, 3], n: 2) == [2, 4, 6]
// multiplyList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], n: 2) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func multiplyList(l: [Int], n: Int) -> [Int] { return l.map { $0 * n } }

// Return array with elements multiplied by n.
// multiplyList(l: [1, 2, 3], n: 2) == [2, 4, 6]
// multiplyList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], n: 2) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func multiplyList(l: [Int], n: Int) -> [Int] { return l.map { $0 * n } }

// Return array with elements multiplied by n.
// multiplyList(l: [1, 2, 3], n: 2) == [2, 4, 6]
// multiplyList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], n: 2) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func multiplyList(l: [Int], n: Int) -> [Int] { return l.map { $0 * n } }

// Return array with elements multiplied by n.
// multiplyList(l: [1, 2, 3], n: 2) == [2, 4, 6]
// multiplyList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], n: 2) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func multiplyList(l: [Int], n: Int) -> [Int] { return l.map { $0 * n } }

// Return array with elements multiplied by n.
// multiplyList(l: [1, 2, 3], n: 2) == [2, 4, 6]
// multiplyList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123], n: 2) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func multiplyList(l: [Int], n: Int) -> [Int] { return l.map { $0 * n } }

// Return array with elements multiplied by n.
// multiplyList(l: [1, 2, 3], n: 2) == [2, 4, 6]
// multiplyList(l: [5, 3, 5, 2, 3, 3, 9, 0
XCTAssertTrue(incrList(l: [] as [Int]) == [] as [Int]) // cannot find 'incrList' in scope
XCTAssertTrue(incrList(l: [3, 2, 1]) == [4, 3, 2]) // cannot find 'incrList' in scope
XCTAssertTrue(incrList(l: [5, 2, 5, 2, 3, 3, 9, 0, 123]) == [6, 3, 6, 3, 4, 4, 10, 1, 124]) // cannot find 'incrList' in scope

func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

func halveList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}
```swift
// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

// Return array with elements decremented by 1.
// decrList(l: [1, 2, 3]) == [0, 1, 2]
// decrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [4, 2, 4, 1, 2, 2, 8, -1, 122]
func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

// Return array with elements doubled.
// doubleList(l: [1, 2, 3]) == [2, 4, 6]
// doubleList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

// Return array with elements halved.
// halveList(l: [1, 2, 3]) == [0, 1, 1]
// halveList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [2, 1, 2, 1, 1, 1, 4, 0, 61]
func halveList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

// Return array with elements squared.
// squareList(l: [1, 2, 3]) == [1, 4, 9]
// squareList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [25, 9, 25, 4, 9, 9, 81, 0, 15129]
func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

// Return array with elements cubed.
// cubeList(l: [1, 2, 3]) == [1, 8, 27]
// cubeList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [125, 27, 125, 8, 27, 27, 729, 0, 1860867]
func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

// Return array with elements raised to the power of 4.
// power4List(l: [1, 2, 3]) == [1, 16, 81]
// power4List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [625, 81, 625, 16, 81, 81, 6561, 0, 151290001]
func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 5.
// power5List(l: [1, 2, 3]) == [1, 32, 243]
// power5List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [3125, 243, 3125, 32, 243, 243, 59049, 0, 29491201]
func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 6.
// power6List(l: [1, 2, 3]) == [1, 64, 729]
// power6List(l: [5, 3, 5, 2

func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

func halveList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}
```swift
// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

// Return array with elements decremented by 1.
// decrList(l: [1, 2, 3]) == [0, 1, 2]
// decrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [4, 2, 4, 1, 2, 2, 8, -1, 122]
func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

// Return array with elements multiplied by 2.
// doubleList(l: [1, 2, 3]) == [2, 4, 6]
// doubleList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

// Return array with elements divided by 2.
// halveList(l: [1, 2, 3]) == [0, 1, 1]
// halveList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [2, 1, 2, 1, 1, 1, 4, 0, 61]
func halveList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

// Return array with elements squared.
// squareList(l: [1, 2, 3]) == [1, 4, 9]
// squareList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [25, 9, 25, 4, 9, 9, 81, 0, 15129]
func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

// Return array with elements cubed.
// cubeList(l: [1, 2, 3]) == [1, 8, 27]
// cubeList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [125, 27, 125, 8, 27, 27, 729, 0, 1860867]
func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

// Return array with elements raised to the power of 4.
// power4List(l: [1, 2, 3]) == [1, 16, 81]
// power4List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [625, 81, 625, 16, 81, 81, 6561, 0, 15129]
func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 5.
// power5List(l: [1, 2, 3]) == [1, 32, 243]
// power5List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [3125, 243, 3125, 32, 243, 243, 59049, 0, 1860867]
func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 6.
// power6List(l: [1, 2, 3]) == [1, 64, 729]
// power6List(l: [5, 3, 5, 2

func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}

func power6List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 * $0 }
}
```swift
// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

// Return array with elements multiplied by 2.
// doubleList(l: [1, 2, 3]) == [2, 4, 6]
// doubleList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

// Return array with elements squared.
// squareList(l: [1, 2, 3]) == [1, 4, 9]
// squareList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [25, 9, 25, 4, 9, 9, 81, 0, 15129]
func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

// Return array with elements cubed.
// cubeList(l: [1, 2, 3]) == [1, 8, 27]
// cubeList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [125, 27, 125, 8, 27, 27, 729, 0, 1860867]
func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

// Return array with elements raised to the power of 4.
// power4List(l: [1, 2, 3]) == [1, 16, 81]
// power4List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [625, 81, 625, 16, 81, 81, 6561, 0, 15129]
func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 5.
// power5List(l: [1, 2, 3]) == [1, 32, 243]
// power5List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [3125, 243, 3125, 32, 243, 243, 59049, 0, 1860867]
func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 6.
// power6List(l: [1, 2, 3]) == [1, 64, 729]
// power6List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [15625, 729, 15625, 64, 729, 729, 531441, 0, 1860867]
func power6List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 7.
// power7List(l: [1, 2, 3]) == [1, 128, 2187]
// power7List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [78125, 2187, 78125, 128, 2187, 2187, 4782969, 0, 1860867]
func power7List(l

func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

func halveList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}
```swift
// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

// Return array with elements decremented by 1.
// decrList(l: [1, 2, 3]) == [0, 1, 2]
// decrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [4, 2, 4, 1, 2, 2, 8, -1, 122]
func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

// Return array with elements multiplied by 2.
// doubleList(l: [1, 2, 3]) == [2, 4, 6]
// doubleList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

// Return array with elements divided by 2.
// halveList(l: [1, 2, 3]) == [0, 1, 1]
// halveList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [2, 1, 2, 1, 1, 1, 4, 0, 61]
func halveList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

// Return array with elements squared.
// squareList(l: [1, 2, 3]) == [1, 4, 9]
// squareList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [25, 9, 25, 4, 9, 9, 81, 0, 15129]
func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

// Return array with elements cubed.
// cubeList(l: [1, 2, 3]) == [1, 8, 27]
// cubeList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [125, 27, 125, 8, 27, 27, 729, 0, 1860867]
func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

// Return array with elements raised to the power of 4.
// power4List(l: [1, 2, 3]) == [1, 16, 81]
// power4List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [625, 81, 625, 16, 81, 81, 6561, 0, 15129]
func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 5.
// power5List(l: [1, 2, 3]) == [1, 32, 243]
// power5List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [3125, 243, 3125, 32, 243, 243, 59049, 0, 1860867]
func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 6.
// power6List(l: [1, 2, 3]) == [1, 64, 729]
// power6List(l: [5, 3, 5, 2

```swift
// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] { return l.map { $0 + 1 } }

// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] { return l.map { $0 + 1 } }

// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] { return l.map { $0 + 1 } }

// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] { return l.map { $0 + 1 } }

// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] { return l.map { $0 + 1 } }

// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] { return l.map { $0 + 1 } }

// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] { return l.map { $0 + 1 } }

// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] { return l.map { $0 + 1 } }

// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] { return l.map { $0 + 1 } }

// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 
XCTAssertTrue(incrList(l: [] as [Int]) == [] as [Int]) // cannot find 'incrList' in scope
XCTAssertTrue(incrList(l: [3, 2, 1]) == [4, 3, 2]) // cannot find 'incrList' in scope
XCTAssertTrue(incrList(l: [5, 2, 5, 2, 3, 3, 9, 0, 123]) == [6, 3, 6, 3, 4, 4, 10, 1, 124]) // cannot find 'incrList' in scope

func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

func halfList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}
```swift
// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

// Return array with elements decremented by 1.
// decrList(l: [1, 2, 3]) == [0, 1, 2]
// decrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [4, 2, 4, 1, 2, 2, 8, -1, 122]
func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

// Return array with elements multiplied by 2.
// doubleList(l: [1, 2, 3]) == [2, 4, 6]
// doubleList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

// Return array with elements divided by 2.
// halfList(l: [1, 2, 3]) == [0, 1, 1]
// halfList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [2, 1, 2, 1, 1, 1, 4, 0, 61]
func halfList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

// Return array with elements squared.
// squareList(l: [1, 2, 3]) == [1, 4, 9]
// squareList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [25, 9, 25, 4, 9, 9, 81, 0, 15129]
func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

// Return array with elements cubed.
// cubeList(l: [1, 2, 3]) == [1, 8, 27]
// cubeList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [125, 27, 125, 8, 27, 27, 729, 0, 1860867]
func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

// Return array with elements raised to the power of 4.
// power4List(l: [1, 2, 3]) == [1, 16, 81]
// power4List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [625, 81, 625, 16, 81, 81, 6561, 0, 262144]
func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 5.
// power5List(l: [1, 2, 3]) == [1, 32, 243]
// power5List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [3125, 243, 3125, 32, 243, 243, 59049, 0, 29491201]
func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 6.
// power6List(l: [1, 2, 3]) == [1, 64, 729]
// power6List(l: [5, 3, 5, 2,

func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}
```swift
// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}
```

func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

func halveList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}
```swift
// Return array with elements incremented by 1.
// incrList(l: [1, 2, 3]) == [2, 3, 4]
// incrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [6, 4, 6, 3, 4, 4, 10, 1, 124]
func incrList(l: [Int]) -> [Int] {
    return l.map { $0 + 1 }
}

// Return array with elements decremented by 1.
// decrList(l: [1, 2, 3]) == [0, 1, 2]
// decrList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [4, 2, 4, 1, 2, 2, 8, -1, 122]
func decrList(l: [Int]) -> [Int] {
    return l.map { $0 - 1 }
}

// Return array with elements multiplied by 2.
// doubleList(l: [1, 2, 3]) == [2, 4, 6]
// doubleList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [10, 6, 10, 4, 6, 6, 18, 0, 246]
func doubleList(l: [Int]) -> [Int] {
    return l.map { $0 * 2 }
}

// Return array with elements divided by 2.
// halveList(l: [1, 2, 3]) == [0, 1, 1]
// halveList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [2, 1, 2, 1, 1, 1, 4, 0, 61]
func halveList(l: [Int]) -> [Int] {
    return l.map { $0 / 2 }
}

// Return array with elements squared.
// squareList(l: [1, 2, 3]) == [1, 4, 9]
// squareList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [25, 9, 25, 4, 9, 9, 81, 0, 15129]
func squareList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 }
}

// Return array with elements cubed.
// cubeList(l: [1, 2, 3]) == [1, 8, 27]
// cubeList(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [125, 27, 125, 8, 27, 27, 729, 0, 1860867]
func cubeList(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 }
}

// Return array with elements raised to the power of 4.
// power4List(l: [1, 2, 3]) == [1, 16, 81]
// power4List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [625, 81, 625, 16, 81, 81, 6561, 0, 214669609]
func power4List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 5.
// power5List(l: [1, 2, 3]) == [1, 32, 243]
// power5List(l: [5, 3, 5, 2, 3, 3, 9, 0, 123]) == [3125, 243, 3125, 32, 243, 243, 59049, 0, 29491201]
func power5List(l: [Int]) -> [Int] {
    return l.map { $0 * $0 * $0 * $0 * $0 }
}

// Return array with elements raised to the power of 6.
// power6List(l: [1, 2, 3]) == [1, 64, 729]
// power6List(l: [5, 3,

func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}
```swift
// pairs_sum_to_zero takes an array of integers as an input.
// it returns true if there are two distinct elements in the array that
// sum to zero, and false otherwise.
// pairsSumToZero(l: [1, 3, 5, 0]) == false
// pairsSumToZero(l: [1, 3, -2, 1]) == false
// pairsSumToZero(l: [1, 2, 3, 7]) == false
// pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true
// pairsSumToZero(l: [1]) == false
func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}
```

func pairsSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// pairs_sum_to_zero takes an array of integers as an input.
// it returns true if there are two distinct elements in the array that
// sum to zero, and false otherwise.
// pairsSumToZero(l: [1, 3, 5, 0]) == false
// pairsSumToZero(l: [1, 3, -2, 1]) == false
// pairsSumToZero(l: [1, 2, 3, 7]) == false
// pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true
// pairsSumToZero(l: [1]) == false
func pairsSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}
```swift
// pairs_sum_to_zero takes an array of integers as an input.
// it returns true if there are two distinct elements in the array that
// sum to zero, and false otherwise.
// pairsSumToZero(l: [1, 3, 5, 0]) == false
// pairsSumToZero(l: [1, 3, -2, 1]) == false
// pairsSumToZero(l: [1, 2, 3, 7]) == false
// pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true
// pairsSumToZero(l: [1]) == false
func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}
```

func pairsSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// pairs_sum_to_zero takes an array of integers as an input.
// it returns true if there are two distinct elements in the array that
// sum to zero, and false otherwise.
// pairsSumToZero(l: [1, 3, 5, 0]) == false
// pairsSumToZero(l: [1, 3, -2, 1]) == false
// pairsSumToZero(l: [1, 2, 3, 7]) == false
// pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true
// pairsSumToZero(l: [1]) == false
func pairsSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}
```swift
// pairs_sum_to_zero takes an array of integers as an input.
// it returns true if there are two distinct elements in the array that
// sum to zero, and false otherwise.
// pairsSumToZero(l: [1, 3, 5, 0]) == false
// pairsSumToZero(l: [1, 3, -2, 1]) == false
// pairsSumToZero(l: [1, 2, 3, 7]) == false
// pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true
// pairsSumToZero(l: [1]) == false
func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}
```

func pairsSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// pairs_sum_to_zero takes an array of integers as an input.
// it returns true if there are two distinct elements in the array that
// sum to zero, and false otherwise.
// pairsSumToZero(l: [1, 3, 5, 0]) == false
// pairsSumToZero(l: [1, 3, -2, 1]) == false
// pairsSumToZero(l: [1, 2, 3, 7]) == false
// pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true
// pairsSumToZero(l: [1]) == false
func pairsSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}
```swift
// pairs_sum_to_zero takes an array of integers as an input.
// it returns true if there are two distinct elements in the array that
// sum to zero, and false otherwise.
// pairsSumToZero(l: [1, 3, 5, 0]) == false
// pairsSumToZero(l: [1, 3, -2, 1]) == false
// pairsSumToZero(l: [1, 2, 3, 7]) == false
// pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true
// pairsSumToZero(l: [1]) == false
func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}
```

func pairsSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```swift
// pairs_sum_to_zero takes an array of integers as an input.
// it returns true if there are two distinct elements in the array that
// sum to zero, and false otherwise.
// pairsSumToZero(l: [1, 3, 5, 0]) == false
// pairsSumToZero(l: [1, 3, -2, 1]) == false
// pairsSumToZero(l: [1, 2, 3, 7]) == false
// pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true
// pairsSumToZero(l: [1]) == false
func pairsSumToZero(l: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}
```swift
// pairs_sum_to_zero takes an array of integers as an input.
// it returns true if there are two distinct elements in the array that
// sum to zero, and false otherwise.
// pairsSumToZero(l: [1, 3, 5, 0]) == false
// pairsSumToZero(l: [1, 3, -2, 1]) == false
// pairsSumToZero(l: [1, 2, 3, 7]) == false
// pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true
// pairsSumToZero(l: [1]) == false
func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}
```

func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}

func checkPairsSumToZero() {
    assert(pairsSumToZero(l: [1, 3, 5, 0]) == false, "Test case 1 failed")
    assert(pairsSumToZero(l: [1, 3, -2, 1]) == false, "Test case 2 failed")
    assert(pairsSumToZero(l: [1, 2, 3, 7]) == false, "Test case 3 failed")
    assert(pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true, "Test case 4 failed")
    assert(pairsSumToZero(l: [1]) == false, "Test case 5 failed")
    print("All test cases passed!")
}
```swift
// pairs_sum_to_zero takes an array of integers as an input.
// it returns true if there are two distinct elements in the array that
// sum to zero, and false otherwise.
// pairsSumToZero(l: [1, 3, 5, 0]) == false
// pairsSumToZero(l: [1, 3, -2, 1]) == false
// pairsSumToZero(l: [1, 2, 3, 7]) == false
// pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true
// pairsSumToZero(l: [1]) == false
func pairsSumToZero(l: [Int]) -> Bool {
    var seen = Set<Int>()
    for num in l {
        if seen.contains(-num) {
            return true
        }
        seen.insert(num)
    }
    return false
}

// Test cases to verify the correctness of the function
func checkPairsSumToZero() {
    assert(pairsSumToZero(l: [1, 3, 5, 0]) == false, "Test case 1 failed")
    assert(pairsSumToZero(l: [1, 3, -2, 1]) == false, "Test case 2 failed")
    assert(pairsSumToZero(l: [1, 2, 3, 7]) == false, "Test case 3 failed")
    assert(pairsSumToZero(l: [2, 4, -5, 3, 5, 7]) == true, "Test case 4 failed")
    assert(pairsSumToZero(l: [1]) == false, "Test case 5 failed")
    print("All test cases passed!")
}

checkPairsSumToZero()
```

func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```swift
// Change numerical base of input number x to base.
// return string representation after the conversion.
// base numbers are less than 10.
// changeBase(x: 8, base: 3) == "22"
// changeBase(x: 8, base: 2) == "1000"
// changeBase(x: 7, base: 2) == "111"
func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```

func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```swift
// Change numerical base of input number x to base.
// return string representation after the conversion.
// base numbers are less than 10.
// changeBase(x: 8, base: 3) == "22"
// changeBase(x: 8, base: 2) == "1000"
// changeBase(x: 7, base: 2) == "111"
func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```

func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var quotient = x
    while quotient > 0 {
        let remainder = quotient % base
        result = String(remainder) + result
        quotient = quotient / base
    }
    return result
}
```swift
// Change numerical base of input number x to base.
// return string representation after the conversion.
// base numbers are less than 10.
// changeBase(x: 8, base: 3) == "22"
// changeBase(x: 8, base: 2) == "1000"
// changeBase(x: 7, base: 2) == "111"
func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var quotient = x
    while quotient > 0 {
        let remainder = quotient % base
        result = String(remainder) + result
        quotient = quotient / base
    }
    return result
}
```

func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```swift
// Change numerical base of input number x to base.
// return string representation after the conversion.
// base numbers are less than 10.
// changeBase(x: 8, base: 3) == "22"
// changeBase(x: 8, base: 2) == "1000"
// changeBase(x: 7, base: 2) == "111"
func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```

func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```swift
// Change numerical base of input number x to base.
// return string representation after the conversion.
// base numbers are less than 10.
// changeBase(x: 8, base: 3) == "22"
// changeBase(x: 8, base: 2) == "1000"
// changeBase(x: 7, base: 2) == "111"
func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```

func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```swift
// Change numerical base of input number x to base.
// return string representation after the conversion.
// base numbers are less than 10.
// changeBase(x: 8, base: 3) == "22"
// changeBase(x: 8, base: 2) == "1000"
// changeBase(x: 7, base: 2) == "111"
func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```

func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```swift
// Change numerical base of input number x to base.
// return string representation after the conversion.
// base numbers are less than 10.
// changeBase(x: 8, base: 3) == "22"
// changeBase(x: 8, base: 2) == "1000"
// changeBase(x: 7, base: 2) == "111"
func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```

func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```swift
// Change numerical base of input number x to base.
// return string representation after the conversion.
// base numbers are less than 10.
// changeBase(x: 8, base: 3) == "22"
// changeBase(x: 8, base: 2) == "1000"
// changeBase(x: 7, base: 2) == "111"
func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```

func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```swift
// Change numerical base of input number x to base.
// return string representation after the conversion.
// base numbers are less than 10.
// changeBase(x: 8, base: 3) == "22"
// changeBase(x: 8, base: 2) == "1000"
// changeBase(x: 7, base: 2) == "111"
func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```

func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```swift
// Change numerical base of input number x to base.
// return string representation after the conversion.
// base numbers are less than 10.
// changeBase(x: 8, base: 3) == "22"
// changeBase(x: 8, base: 2) == "1000"
// changeBase(x: 7, base: 2) == "111"
func changeBase(x: Int, base: Int) -> String {
    var result = ""
    var x = x
    while x > 0 {
        result = String(x % base) + result
        x /= base
    }
    return result
}
```

func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```swift
// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high

func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```swift
// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```

func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}
```swift
// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5

func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}
```swift
// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2.0
}
```

func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```swift
// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```

func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```swift
// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high

func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```swift
// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```

func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```swift
// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}

// Given length of a side and high

func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```swift
// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```

func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```swift
// Given length of a side and high return area for a triangle.
// triangleArea(a: 5, h: 3) == 7.5
func triangleArea(a: Int, h: Int) -> Double {
    return Double(a * h) / 2
}
```

func fib4(n: Int) -> Int {
    // Your code here
}
```swift
// The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fib4(0) -> 0
// fib4(1) -> 0
// fib4(2) -> 2
// fib4(3) -> 0
// fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
// Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
// fib4(n: 5) == 4
// fib4(n: 6) == 8
// fib4(n: 7) == 14
func fib4(n: Int) -> Int {
    // Your code here
}
```

} // missing return in global function expected to return 'Int'

func fib4(n: Int) -> Int {
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
    }
    return fib4[n]
}
```swift
// The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fib4(0) -> 0
// fib4(1) -> 0
// fib4(2) -> 2
// fib4(3) -> 0
// fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
// Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
// fib4(n: 5) == 4
// fib4(n: 6) == 8
// fib4(n: 7) == 14
func fib4(n: Int) -> Int {
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
    }
    return fib4[n]
}
```

func fib4(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 2
    } else if n == 3 {
        return 0
    } else {
        var fib4 = [0, 0, 2, 0]
        for i in 4...n {
            fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
        }
        return fib4[n]
    }
}
```swift
// The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fib4(0) -> 0
// fib4(1) -> 0
// fib4(2) -> 2
// fib4(3) -> 0
// fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
// Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
// fib4(n: 5) == 4
// fib4(n: 6) == 8
// fib4(n: 7) == 14
func fib4(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 2
    } else if n == 3 {
        return 0
    } else {
        var fib4 = [0, 0, 2, 0]
        for i in 4...n {
            fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
        }
        return fib4[n]
    }
}
```

func fib4(n: Int) -> Int {
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i - 1] + fib4[i - 2] + fib4[i - 3] + fib4[i - 4])
    }
    return fib4[n]
}
```swift
// The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fib4(0) -> 0
// fib4(1) -> 0
// fib4(2) -> 2
// fib4(3) -> 0
// fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
// Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
// fib4(n: 5) == 4
// fib4(n: 6) == 8
// fib4(n: 7) == 14
func fib4(n: Int) -> Int {
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i - 1] + fib4[i - 2] + fib4[i - 3] + fib4[i - 4])
    }
    return fib4[n]
}
```

func fib4(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 2
    } else if n == 3 {
        return 0
    } else {
        var fib4 = [0, 0, 2, 0]
        for i in 4...n {
            fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
        }
        return fib4[n]
    }
}
```swift
// The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fib4(0) -> 0
// fib4(1) -> 0
// fib4(2) -> 2
// fib4(3) -> 0
// fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
// Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
// fib4(n: 5) == 4
// fib4(n: 6) == 8
// fib4(n: 7) == 14
func fib4(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 2
    } else if n == 3 {
        return 0
    } else {
        var fib4 = [0, 0, 2, 0]
        for i in 4...n {
            fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
        }
        return fib4[n]
    }
}
```

func fib4(n: Int) -> Int {
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i - 1] + fib4[i - 2] + fib4[i - 3] + fib4[i - 4])
    }
    return fib4[n]
}
```swift
// The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fib4(0) -> 0
// fib4(1) -> 0
// fib4(2) -> 2
// fib4(3) -> 0
// fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
// Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
// fib4(n: 5) == 4
// fib4(n: 6) == 8
// fib4(n: 7) == 14
func fib4(n: Int) -> Int {
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i - 1] + fib4[i - 2] + fib4[i - 3] + fib4[i - 4])
    }
    return fib4[n]
}
```

func fib4(n: Int) -> Int {
    if n < 2 {
        return 0
    } else if n == 2 {
        return 2
    } else if n == 3 {
        return 0
    }
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i - 1] + fib4[i - 2] + fib4[i - 3] + fib4[i - 4])
    }
    return fib4[n]
}
```swift
// The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fib4(0) -> 0
// fib4(1) -> 0
// fib4(2) -> 2
// fib4(3) -> 0
// fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
// Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
// fib4(n: 5) == 4
// fib4(n: 6) == 8
// fib4(n: 7) == 14
func fib4(n: Int) -> Int {
    if n < 2 {
        return 0
    } else if n == 2 {
        return 2
    } else if n == 3 {
        return 0
    }
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i - 1] + fib4[i - 2] + fib4[i - 3] + fib4[i - 4])
    }
    return fib4[n]
}
```

func fib4(n: Int) -> Int {
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
    }
    return fib4[n]
}
```swift
// The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fib4(0) -> 0
// fib4(1) -> 0
// fib4(2) -> 2
// fib4(3) -> 0
// fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
// Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
// fib4(n: 5) == 4
// fib4(n: 6) == 8
// fib4(n: 7) == 14
func fib4(n: Int) -> Int {
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
    }
    return fib4[n]
}
```

func fib4(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 2
    } else if n == 3 {
        return 0
    } else {
        var fib4 = [0, 0, 2, 0]
        for i in 4...n {
            fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
        }
        return fib4[n]
    }
}
```swift
// The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fib4(0) -> 0
// fib4(1) -> 0
// fib4(2) -> 2
// fib4(3) -> 0
// fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
// Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
// fib4(n: 5) == 4
// fib4(n: 6) == 8
// fib4(n: 7) == 14
func fib4(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 2
    } else if n == 3 {
        return 0
    } else {
        var fib4 = [0, 0, 2, 0]
        for i in 4...n {
            fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
        }
        return fib4[n]
    }
}
```

func fib4(n: Int) -> Int {
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
    }
    return fib4[n]
}
```swift
// The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fib4(0) -> 0
// fib4(1) -> 0
// fib4(2) -> 2
// fib4(3) -> 0
// fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
// Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
// fib4(n: 5) == 4
// fib4(n: 6) == 8
// fib4(n: 7) == 14
func fib4(n: Int) -> Int {
    var fib4 = [0, 0, 2, 0]
    for i in 4...n {
        fib4.append(fib4[i-1] + fib4[i-2] + fib4[i-3] + fib4[i-4])
    }
    return fib4[n]
}
```

func median(l: [Int]) -> Double {
    let sortedL = l.sorted()
    let middleIndex = sortedL.count / 2
    if sortedL.count % 2 == 0 {
        return Double(sortedL[middleIndex - 1] + sortedL[middleIndex]) / 2.0
    } else {
        return Double(sortedL[middleIndex])
    }
}
```swift
// Return median of elements in the array l.
// median(l: [3, 1, 2, 4, 5]) == 3
// median(l: [-10, 4, 6, 1000, 10, 20]) == 15.0
func median(l: [Int]) -> Double {
    let sortedL = l.sorted()
    let middleIndex = sortedL.count / 2
    if sortedL.count % 2 == 0 {
        return Double(sortedL[middleIndex - 1] + sortedL[middleIndex]) / 2.0
    } else {
        return Double(sortedL[middleIndex])
    }
}
```

func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    } else {
        return Double(sorted[middle])
    }
}
```swift
// Return median of elements in the array l.
// median(l: [3, 1, 2, 4, 5]) == 3
// median(l: [-10, 4, 6, 1000, 10, 20]) == 15.0
func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    } else {
        return Double(sorted[middle])
    }
}
```

func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 1 {
        return Double(sorted[middle])
    } else {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    }
}
```swift
// Return median of elements in the array l.
// median(l: [3, 1, 2, 4, 5]) == 3
// median(l: [-10, 4, 6, 1000, 10, 20]) == 15.0
func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 1 {
        return Double(sorted[middle])
    } else {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    }
}
```

func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let mid = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[mid - 1] + sorted[mid]) / 2.0
    } else {
        return Double(sorted[mid])
    }
}
```swift
// Return median of elements in the array l.
// median(l: [3, 1, 2, 4, 5]) == 3
// median(l: [-10, 4, 6, 1000, 10, 20]) == 15.0
func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let mid = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[mid - 1] + sorted[mid]) / 2.0
    } else {
        return Double(sorted[mid])
    }
}
```

func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    } else {
        return Double(sorted[middle])
    }
}

func mean(l: [Int]) -> Double {
    let sum = l.reduce(0, +)
    return Double(sum) / Double(l.count)
}

func mode(l: [Int]) -> Int {
    let counts = Dictionary(l.map { ($0, 1) }, uniquingKeysWith: +)
    let maxCount = counts.values.max()!
    return counts.first(where: { $0.value == maxCount })!.key
}
```swift
// Return median of elements in the array l.
// median(l: [3, 1, 2, 4, 5]) == 3
// median(l: [-10, 4, 6, 1000, 10, 20]) == 15.0
func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    } else {
        return Double(sorted[middle])
    }
}

// Return the mean of elements in the array l.
// mean(l: [3, 1, 2, 4, 5]) == 3
// mean(l: [-10, 4, 6, 1000, 10, 20]) == 181.0
func mean(l: [Int]) -> Double {
    let sum = l.reduce(0, +)
    return Double(sum) / Double(l.count)
}

// Return the mode of elements in the array l.
// mode(l: [3, 1, 2, 4, 5]) == 1
// mode(l: [-10, 4, 6, 1000, 10, 20]) == -10
func mode(l: [Int]) -> Int {
    let counts = Dictionary(l.map { ($0, 1) }, uniquingKeysWith: +)
    let maxCount = counts.values.max()!
    return counts.first(where: { $0.value == maxCount })!.key
}
```

func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 1 {
        return Double(sorted[middle])
    } else {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    }
}
```swift
// Return median of elements in the array l.
// median(l: [3, 1, 2, 4, 5]) == 3
// median(l: [-10, 4, 6, 1000, 10, 20]) == 15.0
func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 1 {
        return Double(sorted[middle])
    } else {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    }
}
```

func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let mid = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[mid - 1] + sorted[mid]) / 2.0
    } else {
        return Double(sorted[mid])
    }
}
```swift
// Return median of elements in the array l.
// median(l: [3, 1, 2, 4, 5]) == 3
// median(l: [-10, 4, 6, 1000, 10, 20]) == 15.0
func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let mid = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[mid - 1] + sorted[mid]) / 2.0
    } else {
        return Double(sorted[mid])
    }
}
```

func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 1 {
        return Double(sorted[middle])
    } else {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    }
}
```swift
// Return median of elements in the array l.
// median(l: [3, 1, 2, 4, 5]) == 3
// median(l: [-10, 4, 6, 1000, 10, 20]) == 15.0
func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 1 {
        return Double(sorted[middle])
    } else {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    }
}
```

func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 1 {
        return Double(sorted[middle])
    } else {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    }
}
```swift
// Return median of elements in the array l.
// median(l: [3, 1, 2, 4, 5]) == 3
// median(l: [-10, 4, 6, 1000, 10, 20]) == 15.0
func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let middle = sorted.count / 2
    if sorted.count % 2 == 1 {
        return Double(sorted[middle])
    } else {
        return Double(sorted[middle - 1] + sorted[middle]) / 2.0
    }
}
```

func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let mid = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[mid - 1] + sorted[mid]) / 2.0
    } else {
        return Double(sorted[mid])
    }
}

func mode(l: [Int]) -> Int {
    var counts = [Int: Int]()
    for num in l {
        counts[num, default: 0] += 1
    }
    return counts.max { $0.value < $1.value }!.key
}

func range(l: [Int]) -> Int {
    return l.max()! - l.min()!
}

func variance(l: [Int]) -> Double {
    let mean = Double(l.reduce(0, +)) / Double(l.count)
    let squaredDiffs = l.map { pow(Double($0) - mean, 2) }
    return squaredDiffs.reduce(0, +) / Double(l.count)
}

func stdDev(l: [Int]) -> Double {
    return sqrt(variance(l: l))
}

func interquartileRange(l: [Int]) -> Double {
    let sorted = l.sorted()
    let mid = sorted.count / 2
    let lowerHalf = sorted[0..<mid]
    let upperHalf = sorted[mid..<sorted.count]
    let q1 = median(l: lowerHalf)
    let q3 = median(l: upperHalf)
    return q3 - q1
}

func skewness(l: [Int]) -> Double {
    let mean = Double(l.reduce(0, +)) / Double(l.count)
    let variance = variance(l: l)
    let skewness = l.map { pow(Double($0) - mean, 3) }.reduce(0, +) / Double(l.count) / pow(variance, 1.5)
    return skewness
}

func kurtosis(l: [Int]) -> Double {
    let mean = Double(l.reduce(0, +)) / Double(l.count)
    let variance = variance(l: l)
    let kurtosis = l.map { pow(Double($0) - mean, 4) }.reduce(0, +) / Double(l.count) / pow(variance, 2) - 3
    return kurtosis
}
```swift
// Return median of elements in the array l.
// median(l: [3, 1, 2, 4, 5]) == 3
// median(l: [-10, 4, 6, 1000, 10, 20]) == 15.0
func median(l: [Int]) -> Double {
    let sorted = l.sorted()
    let mid = sorted.count / 2
    if sorted.count % 2 == 0 {
        return Double(sorted[mid - 1] + sorted[mid]) / 2.0
    } else {
        return Double(sorted[mid])
    }
}

// Return the mode of elements in the array l.
// mode(l: [3, 1, 2, 4, 5]) == 1
// mode(l: [-10, 4, 6, 1000, 10, 20, 6, 4]) == 4
func mode(l: [Int]) -> Int {
    var counts = [Int: Int]()
    for num in l {
        counts[num, default: 0] += 1
    }
    return counts.max { $0.value < $1.value }!.key
}

// Return the range of elements in the array l.
// range(l: [3, 1, 2, 4, 5]) == 4
// range(l: [-10, 4, 6, 1000, 10, 20]) == 1010
func range(l: [Int]) -> Int {
    return l.max()! - l.min()!
}

// Return the variance of elements in the array l.
// variance(l: [3, 1, 2, 4, 5]) == 2.0
// variance(l: [-10, 4, 6, 1000, 10, 20]) == 25500.0
func variance(l: [Int]) -> Double {
    let mean = Double(l.reduce(0, +)) / Double(l.count)
    let squaredDiffs = l.map { pow(Double($0) - mean, 2) }
    return squaredDiffs.reduce(0, +) / Double(l.count)
}

// Return the standard deviation of elements in the array l.
// stdDev(l: [3, 1, 2, 4, 5]) == 1.4142135623730951
// stdDev(l: [-10, 4, 6, 1000, 10, 20]) == 159.6875
func stdDev(l: [Int]) -> Double {
    return sqrt(variance(l: l))
}

// Return the interquartile range of elements in the array l.
// interquartileRange(l: [3, 1, 2, 4, 5]) == 2.0
// interquartileRange(l: [-10, 4, 6, 1000, 10, 20]) == 16.0
func interquartileRange(l: [Int]) -> Double {
    let sorted = l.sorted()
    let mid = sorted.count / 2
    let lowerHalf = sorted[0..<mid]
    let upperHalf = sorted[mid..<sorted.count]
    let q1 = median(l: lowerHalf)
    let q3 = median(l: upperHalf)
    return q3 - q1
}

// Return the skewness of elements in the array l.
// skewness(l: [3, 1, 2, 4, 5]) == 0.0
// skewness(l: [-10, 4, 6, 1000, 10, 20]) == 0.0
func skewness(l: [Int]) -> Double {
    let mean = Double(l.reduce(0, +)) / Double(l.count)
    let variance = variance(l: l)
    let skewness = l.map { pow(Double($0) - mean, 3) }.reduce(0, +) / Double(l.count) / pow(variance, 1.5)
    return skewness
}

// Return the kurtosis of elements in the array l.
// kurtosis(l: [3, 1, 2, 4, 5]) == -1.2
// kurtosis(l: [-10, 4, 6, 1000, 10, 20]) == -1.2
func kurtosis(l: [Int]) -> Double {
    let mean = Double(l.reduce(0, +)) / Double(l.count)
    let variance = variance(l: l)
    let kurtosis = l.map { pow(Double($0) - mean, 4) }.reduce(0, +) / Double(l.count) / pow(variance, 2) - 3
    return kurtosis
}
``
let q1 = median(l: lowerHalf) // cannot convert value of type 'ArraySlice<Int>' to expected argument type '[Int]'
let q3 = median(l: upperHalf) // cannot convert value of type 'ArraySlice<Int>' to expected argument type '[Int]'
return q3 - q1 // cannot convert return expression of type 'Duration' to return type 'Double'

func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```swift
// Checks if given string is a palindrome
// isPalindrome(text: "") == true
// isPalindrome(text: "aba") == true
// isPalindrome(text: "aaaaa") == true
// isPalindrome(text: "zbcd") == false
func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```

func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```swift
// Checks if given string is a palindrome
// isPalindrome(text: "") == true
// isPalindrome(text: "aba") == true
// isPalindrome(text: "aaaaa") == true
// isPalindrome(text: "zbcd") == false
func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```

func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```swift
// Checks if given string is a palindrome
// isPalindrome(text: "") == true
// isPalindrome(text: "aba") == true
// isPalindrome(text: "aaaaa") == true
// isPalindrome(text: "zbcd") == false
func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```

func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```swift
// Checks if given string is a palindrome
// isPalindrome(text: "") == true
// isPalindrome(text: "aba") == true
// isPalindrome(text: "aaaaa") == true
// isPalindrome(text: "zbcd") == false
func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```

func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```swift
// Checks if given string is a palindrome
// isPalindrome(text: "") == true
// isPalindrome(text: "aba") == true
// isPalindrome(text: "aaaaa") == true
// isPalindrome(text: "zbcd") == false
func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```

func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```swift
// Checks if given string is a palindrome
// isPalindrome(text: "") == true
// isPalindrome(text: "aba") == true
// isPalindrome(text: "aaaaa") == true
// isPalindrome(text: "zbcd") == false
func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```

func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```swift
// Checks if given string is a palindrome
// isPalindrome(text: "") == true
// isPalindrome(text: "aba") == true
// isPalindrome(text: "aaaaa") == true
// isPalindrome(text: "zbcd") == false
func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```

func isPalindrome(text: String) -> Bool {
    // Convert string to array of characters
    let chars = Array(text)
    
    // Check if array is empty
    if chars.isEmpty {
        return true
    }
    
    // Check if array has only one character
    if chars.count == 1 {
        return true
    }
    
    // Check if array has even number of characters
    if chars.count % 2 == 0 {
        // Split array into two halves
        let mid = chars.count / 2
        let left = Array(chars[0..<mid])
        let right = Array(chars[mid..<chars.count])
        
        // Check if left half is equal to reversed right half
        return left == right.reversed()
    } else {
        // Split array into two halves
        let mid = chars.count / 2
        let left = Array(chars[0..<mid])
        let right = Array(chars[mid+1..<chars.count])
        
        // Check if left half is equal to reversed right half
        return left == right.reversed()
    }
}
```swift
// Checks if given string is a palindrome
// isPalindrome(text: "") == true
// isPalindrome(text: "aba") == true
// isPalindrome(text: "aaaaa") == true
// isPalindrome(text: "zbcd") == false
func isPalindrome(text: String) -> Bool {
    // Convert string to array of characters
    let chars = Array(text)
    
    // Check if array is empty
    if chars.isEmpty {
        return true
    }
    
    // Check if array has only one character
    if chars.count == 1 {
        return true
    }
    
    // Check if array has even number of characters
    if chars.count % 2 == 0 {
        // Split array into two halves
        let mid = chars.count / 2
        let left = Array(chars[0..<mid])
        let right = Array(chars[mid..<chars.count])
        
        // Check if left half is equal to reversed right half
        return left == right.reversed()
    } else {
        // Split array into two halves
        let mid = chars.count / 2
        let left = Array(chars[0..<mid])
        let right = Array(chars[mid+1..<chars.count])
        
        // Check if left half is equal to reversed right half
        return left == right.reversed()
    }
}
```

func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```swift
// Checks if given string is a palindrome
// isPalindrome(text: "") == true
// isPalindrome(text: "aba") == true
// isPalindrome(text: "aaaaa") == true
// isPalindrome(text: "zbcd") == false
func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```

func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```swift
// Checks if given string is a palindrome
// isPalindrome(text: "") == true
// isPalindrome(text: "aba") == true
// isPalindrome(text: "aaaaa") == true
// isPalindrome(text: "zbcd") == false
func isPalindrome(text: String) -> Bool {
    let reversedText = String(text.reversed())
    return text == reversedText
}
```

func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```swift
// Return 2^n modulo p (be aware of numerics).
// modp(n: 3, p: 5) == 3
// modp(n: 1101, p: 101) == 2
// modp(n: 0, p: 101) == 1
// modp(n: 3, p: 11) == 8
// modp(n: 100, p: 101) == 1
func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```

 // XCTAssertTrue failed

func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```swift
// Return 2^n modulo p (be aware of numerics).
// modp(n: 3, p: 5) == 3
// modp(n: 1101, p: 101) == 2
// modp(n: 0, p: 101) == 1
// modp(n: 3, p: 11) == 8
// modp(n: 100, p: 101) == 1
func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```

 // XCTAssertTrue failed

func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```swift
// Return 2^n modulo p (be aware of numerics).
// modp(n: 3, p: 5) == 3
// modp(n: 1101, p: 101) == 2
// modp(n: 0, p: 101) == 1
// modp(n: 3, p: 11) == 8
// modp(n: 100, p: 101) == 1
func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```

 // XCTAssertTrue failed

func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```swift
// Return 2^n modulo p (be aware of numerics).
// modp(n: 3, p: 5) == 3
// modp(n: 1101, p: 101) == 2
// modp(n: 0, p: 101) == 1
// modp(n: 3, p: 11) == 8
// modp(n: 100, p: 101) == 1
func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```

 // XCTAssertTrue failed

func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}

func modinv(n: Int, p: Int) -> Int? {
    if n == 0 || n >= p {
        return nil
    }
    return modp(n: n, p: p)
}
```swift
// Return 2^n modulo p (be aware of numerics).
// modp(n: 3, p: 5) == 3
// modp(n: 1101, p: 101) == 2
// modp(n: 0, p: 101) == 1
// modp(n: 3, p: 11) == 8
// modp(n: 100, p: 101) == 1
func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}

// Return the modular inverse of n modulo p (be aware of numerics).
// modinv(n: 3, p: 11) == 4
// modinv(n: 10, p: 17) == 12
// modinv(n: 0, p: 11) == nil
// modinv(n: 11, p: 11) == nil
func modinv(n: Int, p: Int) -> Int? {
    if n == 0 || n >= p {
        return nil
    }
    return modp(n: n, p: p)
}

// Return the modular inverse of n modulo p (be aware of numerics).
// modinv(n: 3, p: 11) == 4
// modinv(n: 10, p: 17) == 12
// modinv(n: 0, p: 11) == nil
// modinv(n: 11, p: 11) == nil
func modinv(n: Int, p: Int) -> Int? {
    if n == 0 || n >= p {
        return nil
    }
    return modp(n: n, p: p)
}

// Return the modular inverse of n modulo p (be aware of numerics).
// modinv(n: 3, p: 11) == 4
// modinv(n: 10, p: 17) == 12
// modinv(n: 0, p: 11) == nil
// modinv(n: 11, p: 11) == nil
func modinv(n: Int, p: Int) -> Int? {
    if n == 0 || n >= p {
        return nil
    }
    return modp(n: n, p: p)
}

// Return the modular inverse of n modulo p (be aware of numerics).
// modinv(n: 3, p: 11) == 4
// modinv(n: 10, p: 17) == 12
// modinv(n: 0, p: 11) == nil
// modinv(n: 11, p: 11) == nil
func modinv(n: Int, p: Int) -> Int? {
    if n == 0 || n >= p {
        return nil
    }
    return modp(n: n, p: p)
}

// Return the modular inverse of n modulo p (be aware of numerics).
// modinv(n: 3, p: 11) == 4
// modinv(n: 10, p: 17) == 12
// modinv(n: 0, p: 11) == nil
// modinv(n: 11, p: 11) == nil
func modinv(n: Int, p: Int) -> Int? {
    if n == 0 || n >= p {
        return nil
    }
    return modp(n: n, p: p)
}

// Return the modular inverse of n modulo p (be aware of numerics).
// modinv(n: 3, p: 11) == 4
// modinv(n: 10, p: 17) == 12
// modinv(n: 0, p: 11) == nil
// modinv(n: 11, p: 11) == nil
func modinv(n: Int, p: Int) -> Int? {
    if n == 0 || n >= p {
        return nil
    }
    return modp(n: n, p: p)
}

// Return the modular inverse of n modulo p (be aware of numerics).
// modinv(n: 3, p: 11) == 4
// modinv(n: 10, p: 17) == 12
// modinv(n: 0, p: 11) == nil
// modinv(n: 11, p: 11) == nil
func modinv(n: Int, p: Int) -> Int? {
    if n == 0 || n >= p {
        return nil
    }
    return modp(n: n, p: p)
}

// Return the modular inverse of n
 // XCTAssertTrue failed

func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = n
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```swift
// Return 2^n modulo p (be aware of numerics).
// modp(n: 3, p: 5) == 3
// modp(n: 1101, p: 101) == 2
// modp(n: 0, p: 101) == 1
// modp(n: 3, p: 11) == 8
// modp(n: 100, p: 101) == 1
func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = n
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```

 // XCTAssertTrue failed

func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = n
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```swift
// Return 2^n modulo p (be aware of numerics).
// modp(n: 3, p: 5) == 3
// modp(n: 1101, p: 101) == 2
// modp(n: 0, p: 101) == 1
// modp(n: 3, p: 11) == 8
// modp(n: 100, p: 101) == 1
func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = n
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```

 // XCTAssertTrue failed

func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = n
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```swift
// Return 2^n modulo p (be aware of numerics).
// modp(n: 3, p: 5) == 3
// modp(n: 1101, p: 101) == 2
// modp(n: 0, p: 101) == 1
// modp(n: 3, p: 11) == 8
// modp(n: 100, p: 101) == 1
func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = n
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```

 // XCTAssertTrue failed

func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```swift
// Return 2^n modulo p (be aware of numerics).
// modp(n: 3, p: 5) == 3
// modp(n: 1101, p: 101) == 2
// modp(n: 0, p: 101) == 1
// modp(n: 3, p: 11) == 8
// modp(n: 100, p: 101) == 1
func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```

 // XCTAssertTrue failed

func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```swift
// Return 2^n modulo p (be aware of numerics).
// modp(n: 3, p: 5) == 3
// modp(n: 1101, p: 101) == 2
// modp(n: 0, p: 101) == 1
// modp(n: 3, p: 11) == 8
// modp(n: 100, p: 101) == 1
func modp(n: Int, p: Int) -> Int {
    var result = 1
    var base = n % p
    var exponent = p - 2
    while exponent > 0 {
        if exponent % 2 == 1 {
            result = (result * base) % p
        }
        base = (base * base) % p
        exponent /= 2
    }
    return result
}
```

 // XCTAssertTrue failed

func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```swift
// remove_vowels is a function that takes string and returns string without vowels.
// removeVowels(text: "") == ""
// removeVowels(text: "abcdef") == "bcdf"
// removeVowels(text: "aaaaa") == ""
// removeVowels(text: "aaBAA") == "B"
// removeVowels(text: "zbcd") == "zbcd"
func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```

func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```swift
// remove_vowels is a function that takes string and returns string without vowels.
// removeVowels(text: "") == ""
// removeVowels(text: "abcdef") == "bcdf"
// removeVowels(text: "aaaaa") == ""
// removeVowels(text: "aaBAA") == "B"
// removeVowels(text: "zbcd") == "zbcd"
func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```

func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}

func check() {
    assert(removeVowels(text: "") == "", "Test case 1 failed")
    assert(removeVowels(text: "abcdef") == "bcdf", "Test case 2 failed")
    assert(removeVowels(text: "aaaaa") == "", "Test case 3 failed")
    assert(removeVowels(text: "aaBAA") == "B", "Test case 4 failed")
    assert(removeVowels(text: "zbcd") == "zbcd", "Test case 5 failed")
    print("All test cases passed!")
}
```swift
// remove_vowels is a function that takes string and returns string without vowels.
// removeVowels(text: "") == ""
// removeVowels(text: "abcdef") == "bcdf"
// removeVowels(text: "aaaaa") == ""
// removeVowels(text: "aaBAA") == "B"
// removeVowels(text: "zbcd") == "zbcd"
func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}

// check function to verify the correctness of the removeVowels function.
func check() {
    assert(removeVowels(text: "") == "", "Test case 1 failed")
    assert(removeVowels(text: "abcdef") == "bcdf", "Test case 2 failed")
    assert(removeVowels(text: "aaaaa") == "", "Test case 3 failed")
    assert(removeVowels(text: "aaBAA") == "B", "Test case 4 failed")
    assert(removeVowels(text: "zbcd") == "zbcd", "Test case 5 failed")
    print("All test cases passed!")
}

check()
```

func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}

func check() {
    assert(removeVowels(text: "") == "", "Test case 1 failed")
    assert(removeVowels(text: "abcdef") == "bcdf", "Test case 2 failed")
    assert(removeVowels(text: "aaaaa") == "", "Test case 3 failed")
    assert(removeVowels(text: "aaBAA") == "B", "Test case 4 failed")
    assert(removeVowels(text: "zbcd") == "zbcd", "Test case 5 failed")
    print("All test cases passed!")
}
```swift
// remove_vowels is a function that takes string and returns string without vowels.
// removeVowels(text: "") == ""
// removeVowels(text: "abcdef") == "bcdf"
// removeVowels(text: "aaaaa") == ""
// removeVowels(text: "aaBAA") == "B"
// removeVowels(text: "zbcd") == "zbcd"
func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}

// check function to verify the correctness of the remove_vowels function
func check() {
    assert(removeVowels(text: "") == "", "Test case 1 failed")
    assert(removeVowels(text: "abcdef") == "bcdf", "Test case 2 failed")
    assert(removeVowels(text: "aaaaa") == "", "Test case 3 failed")
    assert(removeVowels(text: "aaBAA") == "B", "Test case 4 failed")
    assert(removeVowels(text: "zbcd") == "zbcd", "Test case 5 failed")
    print("All test cases passed!")
}

// Run the check function to verify the solution
check()
```

func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}

func check() {
    assert(removeVowels(text: "") == "", "Test case 1 failed")
    assert(removeVowels(text: "abcdef") == "bcdf", "Test case 2 failed")
    assert(removeVowels(text: "aaaaa") == "", "Test case 3 failed")
    assert(removeVowels(text: "aaBAA") == "B", "Test case 4 failed")
    assert(removeVowels(text: "zbcd") == "zbcd", "Test case 5 failed")
    print("All test cases passed!")
}
```swift
// remove_vowels is a function that takes string and returns string without vowels.
// removeVowels(text: "") == ""
// removeVowels(text: "abcdef") == "bcdf"
// removeVowels(text: "aaaaa") == ""
// removeVowels(text: "aaBAA") == "B"
// removeVowels(text: "zbcd") == "zbcd"
func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}

// check function to verify the correctness of the removeVowels function
func check() {
    assert(removeVowels(text: "") == "", "Test case 1 failed")
    assert(removeVowels(text: "abcdef") == "bcdf", "Test case 2 failed")
    assert(removeVowels(text: "aaaaa") == "", "Test case 3 failed")
    assert(removeVowels(text: "aaBAA") == "B", "Test case 4 failed")
    assert(removeVowels(text: "zbcd") == "zbcd", "Test case 5 failed")
    print("All test cases passed!")
}

// Run the check function to verify the solution
check()
```

func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```swift
// remove_vowels is a function that takes string and returns string without vowels.
// removeVowels(text: "") == ""
// removeVowels(text: "abcdef") == "bcdf"
// removeVowels(text: "aaaaa") == ""
// removeVowels(text: "aaBAA") == "B"
// removeVowels(text: "zbcd") == "zbcd"
func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```

func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```swift
// remove_vowels is a function that takes string and returns string without vowels.
// removeVowels(text: "") == ""
// removeVowels(text: "abcdef") == "bcdf"
// removeVowels(text: "aaaaa") == ""
// removeVowels(text: "aaBAA") == "B"
// removeVowels(text: "zbcd") == "zbcd"
func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```

func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```swift
// remove_vowels is a function that takes string and returns string without vowels.
// removeVowels(text: "") == ""
// removeVowels(text: "abcdef") == "bcdf"
// removeVowels(text: "aaaaa") == ""
// removeVowels(text: "aaBAA") == "B"
// removeVowels(text: "zbcd") == "zbcd"
func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```

func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```swift
// remove_vowels is a function that takes string and returns string without vowels.
// removeVowels(text: "") == ""
// removeVowels(text: "abcdef") == "bcdf"
// removeVowels(text: "aaaaa") == ""
// removeVowels(text: "aaBAA") == "B"
// removeVowels(text: "zbcd") == "zbcd"
func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}
```

func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}

func check() {
    assert(removeVowels(text: "") == "", "Test case 1 failed")
    assert(removeVowels(text: "abcdef") == "bcdf", "Test case 2 failed")
    assert(removeVowels(text: "aaaaa") == "", "Test case 3 failed")
    assert(removeVowels(text: "aaBAA") == "B", "Test case 4 failed")
    assert(removeVowels(text: "zbcd") == "zbcd", "Test case 5 failed")
    print("All test cases passed!")
}
```swift
// remove_vowels is a function that takes string and returns string without vowels.
// removeVowels(text: "") == ""
// removeVowels(text: "abcdef") == "bcdf"
// removeVowels(text: "aaaaa") == ""
// removeVowels(text: "aaBAA") == "B"
// removeVowels(text: "zbcd") == "zbcd"
func removeVowels(text: String) -> String {
    let vowels: Set<Character> = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    return String(text.filter { !vowels.contains($0) })
}

// check function to verify the correctness of the removeVowels function
func check() {
    assert(removeVowels(text: "") == "", "Test case 1 failed")
    assert(removeVowels(text: "abcdef") == "bcdf", "Test case 2 failed")
    assert(removeVowels(text: "aaaaa") == "", "Test case 3 failed")
    assert(removeVowels(text: "aaBAA") == "B", "Test case 4 failed")
    assert(removeVowels(text: "zbcd") == "zbcd", "Test case 5 failed")
    print("All test cases passed!")
}

check()
```

func belowThreshold(l: [Int], t: Int) -> Bool {
    // Your code here
}
```swift
// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func belowThreshold(l: [Int], t: Int) -> Bool {
    // Your code here
}
```swift
// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    // Your code here
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func belowThreshold(l: [Int], t: Int) -> Bool {
    // Your code here
}
```swift
// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    // Your code here
}

// Test cases
print(belowThreshold(l: [1, 2, 4, 10], t: 100)) // true
print(belowThreshold(l: [1, 20, 4, 10], t: 5)) // false
```

} // missing return in global function expected to return 'Bool'

func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}
```swift
// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the

func belowThreshold(l: [Int], t: Int) -> Bool {
    // Your code here
}
```swift
// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}
```swift
// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}
```

func belowThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 < t }
}
```swift
// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 < t }
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 < t }
}
```

func belowThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 < t }
}

func aboveThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 > t }
}

func equalToThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 == t }
}

func notEqualToThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 != t }
}

func greaterThanOrEqualToThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 >= t }
}

func lessThanOrEqualToThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 <= t }
}
```swift
// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 < t }
}

// Return true if all numbers in the array l are above threshold t.
// aboveThreshold(l: [1, 2, 4, 10], t: 0) == true
// aboveThreshold(l: [1, 20, 4, 10], t: 15) == false
func aboveThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 > t }
}

// Return true if all numbers in the array l are equal to threshold t.
// equalToThreshold(l: [1, 2, 4, 10], t: 10) == false
// equalToThreshold(l: [10, 10, 10, 10], t: 10) == true
func equalToThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 == t }
}

// Return true if all numbers in the array l are not equal to threshold t.
// notEqualToThreshold(l: [1, 2, 4, 10], t: 10) == true
// notEqualToThreshold(l: [10, 10, 10, 10], t: 10) == false
func notEqualToThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 != t }
}

// Return true if all numbers in the array l are greater than or equal to threshold t.
// greaterThanOrEqualToThreshold(l: [1, 2, 4, 10], t: 0) == true
// greaterThanOrEqualToThreshold(l: [1, 20, 4, 10], t: 15) == false
func greaterThanOrEqualToThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 >= t }
}

// Return true if all numbers in the array l are less than or equal to threshold t.
// lessThanOrEqualToThreshold(l: [1, 2, 4, 10], t: 100) == true
// lessThanOrEqualToThreshold(l: [1, 20, 4, 10], t: 5) == false
func lessThanOrEqualToThreshold(l: [Int], t: Int) -> Bool {
    return l.allSatisfy { $0 <= t }
}
```

func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}
```swift
// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}
```

func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}
```swift
// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}

// Return true if all numbers in the array l are below threshold t.
// belowThreshold(l: [1, 2, 4, 10], t: 100) == true
// belowThreshold(l: [1, 20, 4, 10], t: 5) == false
func belowThreshold(l: [Int], t: Int) -> Bool {
    for num in l {
        if num >= t {
            return false
        }
    }
    return true
}
```

func add(x: Int, y: Int) -> Int {
    return x + y
}

func subtract(x: Int, y: Int) -> Int {
    return x - y
}

func multiply(x: Int, y: Int) -> Int {
    return x * y
}

func divide(x: Int, y: Int) -> Int {
    return x / y
}

func squareRoot(x: Int) -> Int {
    return Int(sqrt(Double(x)))
}

func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

func power(x: Int, y: Int) -> Int {
    return Int(pow(Double(x), Double(y)))
}

func absoluteValue(x: Int) -> Int {
    return abs(x)
}

func average(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

func median(numbers: [Int]) -> Double {
    let sortedNumbers = numbers.sorted()
    let count = sortedNumbers.count
    if count % 2 == 0 {
        return Double(sortedNumbers[count / 2 - 1] + sortedNumbers[count / 2]) / 2
    } else {
        return Double(sortedNumbers[count / 2])
    }
}

func mode(numbers: [Int]) -> Int {
    var frequency: [Int: Int] = [:]
    for number in numbers {
        frequency[number, default: 0] += 1
    }
    var maxFrequency = 0
    var mode = 0
    for (number, frequency) in frequency {
        if frequency > maxFrequency {
            maxFrequency = frequency
            mode = number
        }
    }
    return mode
}

func standardDeviation(numbers: [Int]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0, +) / count
    let variance = numbers.reduce(0) { $0 + pow(Double($1) - mean, 2) } / count
    return sqrt(variance)
}
```swift
// Add two numbers x and y
// add(x: 2, y: 3) == 5
// add(x: 5, y: 7) == 12
func add(x: Int, y: Int) -> Int {
    return x + y
}

// Subtract two numbers x and y
// subtract(x: 5, y: 3) == 2
// subtract(x: 10, y: 4) == 6
func subtract(x: Int, y: Int) -> Int {
    return x - y
}

// Multiply two numbers x and y
// multiply(x: 2, y: 3) == 6
// multiply(x: 5, y: 7) == 35
func multiply(x: Int, y: Int) -> Int {
    return x * y
}

// Divide two numbers x and y
// divide(x: 10, y: 2) == 5
// divide(x: 15, y: 3) == 5
func divide(x: Int, y: Int) -> Int {
    return x / y
}

// Calculate the square root of a number x
// squareRoot(x: 9) == 3
// squareRoot(x: 16) == 4
func squareRoot(x: Int) -> Int {
    return Int(sqrt(Double(x)))
}

// Calculate the factorial of a number x
// factorial(x: 5) == 120
// factorial(x: 7) == 5040
func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

// Calculate the power of a number x raised to the power of y
// power(x: 2, y: 3) == 8
// power(x: 5, y: 2) == 25
func power(x: Int, y: Int) -> Int {
    return Int(pow(Double(x), Double(y)))
}

// Calculate the absolute value of a number x
// absoluteValue(x: -5) == 5
// absoluteValue(x: 10) == 10
func absoluteValue(x: Int) -> Int {
    return abs(x)
}

// Calculate the average of two numbers x and y
// average(x: 5, y: 10) == 7.5
// average(x: 2, y: 8) == 5
func average(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

// Calculate the median of an array of numbers
// median(numbers: [1, 2, 3, 4, 5]) == 3
// median(numbers: [1, 2, 3, 4, 5, 6]) == 3.5
func median(numbers: [Int]) -> Double {
    let sortedNumbers = numbers.sorted()
    let count = sortedNumbers.count
    if count % 2 == 0 {
        return Double(sortedNumbers[count / 2 - 1] + sortedNumbers[count / 2]) / 2
    } else {
        return Double(sortedNumbers[count / 2])
    }
}

// Calculate the mode of an array of numbers
// mode(numbers: [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]) == 4
// mode(numbers: [1, 2, 3, 4, 5]) == 1
func mode(numbers: [Int]) -> Int {
    var frequency: [Int: Int] = [:]
    for number in numbers {
        frequency[number, default: 0] += 1
    }
    var maxFrequency = 0
    var mode = 0
    for (number, frequency) in frequency {
        if frequency > maxFrequency {
            maxFrequency = frequency
            mode = number
        }
    }
    return mode
}

// Calculate the standard deviation of an array of numbers
// standardDeviation(numbers: [1, 2, 3, 4, 5]) == 1.4142135623730951
// standardDeviation(numbers: [1, 2, 3, 4, 5, 6]) == 1.8708286933869707
func standardDeviation(numbers: [Int]) -> Double {
    let count = Double(numbers.count)
    let mean = numbers.reduce(0, +) / count
    let variance = numbers.reduce(0) { $0 + pow(Double($1) - mean, 2) } / count
    return sqrt(variance)
}

// Calculate the correlation coefficient between two arrays of numbers
// correlationCoefficient(x: [1, 2, 3, 4, 5], y: [2, 4,
let mean = numbers.reduce(0, +) / count // cannot convert value of type '(Double) -> Double' to expected argument type '(Double, Int) throws -> Double'

func add(x: Int, y: Int) -> Int {
    return x + y
}

func subtract(x: Int, y: Int) -> Int {
    return x - y
}

func multiply(x: Int, y: Int) -> Int {
    return x * y
}

func divide(x: Int, y: Int) -> Int {
    return x / y
}

func squareRoot(x: Int) -> Int {
    return Int(sqrt(Double(x)))
}

func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

func power(x: Int, y: Int) -> Int {
    return Int(pow(Double(x), Double(y)))
}

func absoluteValue(x: Int) -> Int {
    return abs(x)
}

func maximum(x: Int, y: Int) -> Int {
    return max(x, y)
}

func minimum(x: Int, y: Int) -> Int {
    return min(x, y)
}

func average(x: Int, y: Int) -> Int {
    return (x + y) / 2
}

func median(x: Int, y: Int) -> Int {
    return (x + y) / 2
}

func mode(x: Int, y: Int) -> Int {
    return max(x, y)
}

func range(x: Int, y: Int) -> Int {
    return abs(x - y)
}

func standardDeviation(x: Int, y: Int) -> Double {
    let mean = Double(average(x: x, y: y))
    let variance = Double(range(x: x, y: y)) / 2.0
    return sqrt(variance)
}
```swift
// Add two numbers x and y
// add(x: 2, y: 3) == 5
// add(x: 5, y: 7) == 12
func add(x: Int, y: Int) -> Int {
    return x + y
}

// Subtract two numbers x and y
// subtract(x: 5, y: 3) == 2
// subtract(x: 10, y: 4) == 6
func subtract(x: Int, y: Int) -> Int {
    return x - y
}

// Multiply two numbers x and y
// multiply(x: 2, y: 3) == 6
// multiply(x: 5, y: 7) == 35
func multiply(x: Int, y: Int) -> Int {
    return x * y
}

// Divide two numbers x and y
// divide(x: 10, y: 2) == 5
// divide(x: 15, y: 3) == 5
func divide(x: Int, y: Int) -> Int {
    return x / y
}

// Calculate the square root of a number x
// squareRoot(x: 9) == 3
// squareRoot(x: 16) == 4
func squareRoot(x: Int) -> Int {
    return Int(sqrt(Double(x)))
}

// Calculate the factorial of a number x
// factorial(x: 5) == 120
// factorial(x: 7) == 5040
func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

// Calculate the power of a number x raised to the power of y
// power(x: 2, y: 3) == 8
// power(x: 5, y: 2) == 25
func power(x: Int, y: Int) -> Int {
    return Int(pow(Double(x), Double(y)))
}

// Calculate the absolute value of a number x
// absoluteValue(x: -5) == 5
// absoluteValue(x: 10) == 10
func absoluteValue(x: Int) -> Int {
    return abs(x)
}

// Calculate the maximum of two numbers x and y
// maximum(x: 5, y: 3) == 5
// maximum(x: 10, y: 4) == 10
func maximum(x: Int, y: Int) -> Int {
    return max(x, y)
}

// Calculate the minimum of two numbers x and y
// minimum(x: 5, y: 3) == 3
// minimum(x: 10, y: 4) == 4
func minimum(x: Int, y: Int) -> Int {
    return min(x, y)
}

// Calculate the average of two numbers x and y
// average(x: 5, y: 3) == 4
// average(x: 10, y: 4) == 7
func average(x: Int, y: Int) -> Int {
    return (x + y) / 2
}

// Calculate the median of two numbers x and y
// median(x: 5, y: 3) == 4
// median(x: 10, y: 4) == 7
func median(x: Int, y: Int) -> Int {
    return (x + y) / 2
}

// Calculate the mode of two numbers x and y
// mode(x: 5, y: 3) == 5
// mode(x: 10, y: 4) == 10
func mode(x: Int, y: Int) -> Int {
    return max(x, y)
}

// Calculate the range of two numbers x and y
// range(x: 5, y: 3) == 2
// range(x: 10, y: 4) == 6
func range(x: Int, y: Int) -> Int {
    return abs(x - y)
}

// Calculate the standard deviation of two numbers x and y
// standardDeviation(x: 5, y: 3) == 1.4142135623730951
// standardDeviation(x: 10, y: 4) == 3.1622776601683795
func standardDeviation(x: Int, y: Int) -> Double {
    let mean = Double(average(x: x, y: y))
    let variance = Double(range(x: x, y: y)) / 2.0
    return sqrt(variance)
}

// Calculate the variance of two numbers x and y
// variance(x: 5, y: 3) == 1.0
// variance(x: 10, y: 4)
let mean = Double(average(x: x, y: y)) // initialization of immutable value 'mean' was never used; consider replacing with assignment to '_' or removing it

func add(x: Int, y: Int) -> Int {
    return x + y
}
```swift
// Add two numbers x and y
// add(x: 2, y: 3) == 5
// add(x: 5, y: 7) == 12
func add(x: Int, y: Int) -> Int {
    return x + y
}
```

func add(x: Int, y: Int) -> Int {
    return x + y
}

func subtract(x: Int, y: Int) -> Int {
    return x - y
}

func multiply(x: Int, y: Int) -> Int {
    return x * y
}

func divide(x: Int, y: Int) -> Int {
    return x / y
}
```swift
// Add two numbers x and y
// add(x: 2, y: 3) == 5
// add(x: 5, y: 7) == 12
func add(x: Int, y: Int) -> Int {
    return x + y
}

// Subtract two numbers x and y
// subtract(x: 5, y: 3) == 2
// subtract(x: 10, y: 7) == 3
func subtract(x: Int, y: Int) -> Int {
    return x - y
}

// Multiply two numbers x and y
// multiply(x: 2, y: 3) == 6
// multiply(x: 5, y: 7) == 35
func multiply(x: Int, y: Int) -> Int {
    return x * y
}

// Divide two numbers x and y
// divide(x: 10, y: 2) == 5
// divide(x: 15, y: 3) == 5
func divide(x: Int, y: Int) -> Int {
    return x / y
}
```

func add(x: Int, y: Int) -> Int {
    return x + y
}

func subtract(x: Int, y: Int) -> Int {
    return x - y
}

func multiply(x: Int, y: Int) -> Int {
    return x * y
}

func divide(x: Int, y: Int) -> Int {
    return x / y
}

func square(x: Int) -> Int {
    return x * x
}

func cube(x: Int) -> Int {
    return x * x * x
}

func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

func power(x: Int, y: Int) -> Int {
    var result = 1
    for _ in 1...y {
        result *= x
    }
    return result
}

func squareRoot(x: Int) -> Double {
    return sqrt(Double(x))
}

func log(x: Int, y: Int) -> Double {
    return log(Double(x)) / log(Double(y))
}

func sin(x: Double) -> Double {
    return sin(x)
}

func cos(x: Double) -> Double {
    return cos(x)
}

func tan(x: Double) -> Double {
    return tan(x)
}

func asin(x: Double) -> Double {
    return asin(x)
}

func acos(x: Double) -> Double {
    return acos(x)
}

func atan(x: Double) -> Double {
    return atan(x)
}

func sinh(x: Double) -> Double {
    return sinh(x)
}
```swift
// Add two numbers x and y
// add(x: 2, y: 3) == 5
// add(x: 5, y: 7) == 12
func add(x: Int, y: Int) -> Int {
    return x + y
}

// Subtract two numbers x and y
// subtract(x: 5, y: 3) == 2
// subtract(x: 10, y: 7) == 3
func subtract(x: Int, y: Int) -> Int {
    return x - y
}

// Multiply two numbers x and y
// multiply(x: 2, y: 3) == 6
// multiply(x: 5, y: 7) == 35
func multiply(x: Int, y: Int) -> Int {
    return x * y
}

// Divide two numbers x and y
// divide(x: 10, y: 2) == 5
// divide(x: 15, y: 3) == 5
func divide(x: Int, y: Int) -> Int {
    return x / y
}

// Calculate the square of a number x
// square(x: 2) == 4
// square(x: 5) == 25
func square(x: Int) -> Int {
    return x * x
}

// Calculate the cube of a number x
// cube(x: 2) == 8
// cube(x: 5) == 125
func cube(x: Int) -> Int {
    return x * x * x
}

// Calculate the factorial of a number x
// factorial(x: 3) == 6
// factorial(x: 5) == 120
func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

// Calculate the power of a number x raised to the power of y
// power(x: 2, y: 3) == 8
// power(x: 5, y: 2) == 25
func power(x: Int, y: Int) -> Int {
    var result = 1
    for _ in 1...y {
        result *= x
    }
    return result
}

// Calculate the square root of a number x
// squareRoot(x: 9) == 3
// squareRoot(x: 16) == 4
func squareRoot(x: Int) -> Double {
    return sqrt(Double(x))
}

// Calculate the logarithm of a number x with base y
// log(x: 10, y: 2) == 3.321928094887362
// log(x: 100, y: 10) == 2
func log(x: Int, y: Int) -> Double {
    return log(Double(x)) / log(Double(y))
}

// Calculate the sine of an angle x in radians
// sin(x: 0) == 0
// sin(x: Double.pi / 2) == 1
func sin(x: Double) -> Double {
    return sin(x)
}

// Calculate the cosine of an angle x in radians
// cos(x: 0) == 1
// cos(x: Double.pi / 2) == 0
func cos(x: Double) -> Double {
    return cos(x)
}

// Calculate the tangent of an angle x in radians
// tan(x: 0) == 0
// tan(x: Double.pi / 4) == 1
func tan(x: Double) -> Double {
    return tan(x)
}

// Calculate the arc sine of a number x
// asin(x: 0) == 0
// asin(x: 1) == Double.pi / 2
func asin(x: Double) -> Double {
    return asin(x)
}

// Calculate the arc cosine of a number x
// acos(x: 0) == Double.pi / 2
// acos(x: 1) == 0
func acos(x: Double) -> Double {
    return acos(x)
}

// Calculate the arc tangent of a number x
// atan(x: 0) == 0
// atan(x: 1) == Double.pi / 4
func atan(x: Double) -> Double {
    return atan(x)
}

// Calculate the hyperbolic sine of a number x
// sinh(x: 0) == 0
// sinh(x: 1) == 1.1752011936438014
func sinh(x: Double) -> Double {
    return sinh(x)
}

// Calculate the hyperbolic cosine of a number x
// cosh(x: 0) == 1
// cosh(x: 1) == 1.5430806348152437
func cosh(x: Double

func add(x: Int, y: Int) -> Int {
    return x + y
}

func subtract(x: Int, y: Int) -> Int {
    return x - y
}

func multiply(x: Int, y: Int) -> Int {
    return x * y
}

func divide(x: Int, y: Int) -> Int {
    return x / y
}

func square(x: Int) -> Int {
    return x * x
}

func cube(x: Int) -> Int {
    return x * x * x
}

func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

func squareRoot(x: Int) -> Int {
    return Int(sqrt(Double(x)))
}

func power(x: Int, y: Int) -> Int {
    return Int(pow(Double(x), Double(y)))
}

func absoluteValue(x: Int) -> Int {
    return abs(x)
}

func maximum(x: Int, y: Int) -> Int {
    return max(x, y)
}

func minimum(x: Int, y: Int) -> Int {
    return min(x, y)
}

func average(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

func median(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

func mode(x: Int, y: Int) -> Int {
    return x == y ? x : (x > y ? x : y)
}

func range(x: Int, y: Int) -> Int {
    return abs(x - y)
}
```swift
// Add two numbers x and y
// add(x: 2, y: 3) == 5
// add(x: 5, y: 7) == 12
func add(x: Int, y: Int) -> Int {
    return x + y
}

// Subtract two numbers x and y
// subtract(x: 5, y: 3) == 2
// subtract(x: 10, y: 7) == 3
func subtract(x: Int, y: Int) -> Int {
    return x - y
}

// Multiply two numbers x and y
// multiply(x: 2, y: 3) == 6
// multiply(x: 5, y: 7) == 35
func multiply(x: Int, y: Int) -> Int {
    return x * y
}

// Divide two numbers x and y
// divide(x: 10, y: 2) == 5
// divide(x: 15, y: 3) == 5
func divide(x: Int, y: Int) -> Int {
    return x / y
}

// Calculate the square of a number x
// square(x: 2) == 4
// square(x: 5) == 25
func square(x: Int) -> Int {
    return x * x
}

// Calculate the cube of a number x
// cube(x: 2) == 8
// cube(x: 5) == 125
func cube(x: Int) -> Int {
    return x * x * x
}

// Calculate the factorial of a number x
// factorial(x: 5) == 120
// factorial(x: 7) == 5040
func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

// Calculate the square root of a number x
// squareRoot(x: 4) == 2
// squareRoot(x: 9) == 3
func squareRoot(x: Int) -> Int {
    return Int(sqrt(Double(x)))
}

// Calculate the power of a number x raised to the power of y
// power(x: 2, y: 3) == 8
// power(x: 5, y: 2) == 25
func power(x: Int, y: Int) -> Int {
    return Int(pow(Double(x), Double(y)))
}

// Calculate the absolute value of a number x
// absoluteValue(x: -5) == 5
// absoluteValue(x: 7) == 7
func absoluteValue(x: Int) -> Int {
    return abs(x)
}

// Calculate the maximum of two numbers x and y
// maximum(x: 5, y: 3) == 5
// maximum(x: 10, y: 7) == 10
func maximum(x: Int, y: Int) -> Int {
    return max(x, y)
}

// Calculate the minimum of two numbers x and y
// minimum(x: 5, y: 3) == 3
// minimum(x: 10, y: 7) == 7
func minimum(x: Int, y: Int) -> Int {
    return min(x, y)
}

// Calculate the average of two numbers x and y
// average(x: 5, y: 3) == 4
// average(x: 10, y: 7) == 8.5
func average(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

// Calculate the median of two numbers x and y
// median(x: 5, y: 3) == 4
// median(x: 10, y: 7) == 8.5
func median(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

// Calculate the mode of two numbers x and y
// mode(x: 5, y: 3) == 5
// mode(x: 10, y: 7) == 7
func mode(x: Int, y: Int) -> Int {
    return x == y ? x : (x > y ? x : y)
}

// Calculate the range of two numbers x and y
// range(x: 5, y: 3) == 2
// range(x: 10, y: 7) == 3
func range(x: Int, y: Int) -> Int {
    return abs(x - y)
}

// Calculate the standard deviation of two numbers x and y
// standardDeviation(x: 5, y: 3) == 1.4142135623730951
// standardDeviation(x: 10, y: 7) == 1.7320508

func add(x: Int, y: Int) -> Int {
    return x + y
}

func subtract(x: Int, y: Int) -> Int {
    return x - y
}

func multiply(x: Int, y: Int) -> Int {
    return x * y
}

func divide(x: Int, y: Int) -> Int {
    return x / y
}

func square(x: Int) -> Int {
    return x * x
}

func cube(x: Int) -> Int {
    return x * x * x
}

func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

func power(x: Int, y: Int) -> Int {
    var result = 1
    for _ in 1...y {
        result *= x
    }
    return result
}

func squareRoot(x: Int) -> Int {
    var result = 1
    while result * result < x {
        result += 1
    }
    return result
}

func absolute(x: Int) -> Int {
    return x < 0 ? -x : x
}

func max(x: Int, y: Int) -> Int {
    return x > y ? x : y
}

func min(x: Int, y: Int) -> Int {
    return x < y ? x : y
}

func average(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

func median(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

func mode(x: Int, y: Int) -> Int {
    return x > y ? x : y
}

func range(x: Int, y: Int) -> Int {
    return abs(x - y)
}
```swift
// Add two numbers x and y
// add(x: 2, y: 3) == 5
// add(x: 5, y: 7) == 12
func add(x: Int, y: Int) -> Int {
    return x + y
}

// Subtract two numbers x and y
// subtract(x: 5, y: 3) == 2
// subtract(x: 10, y: 7) == 3
func subtract(x: Int, y: Int) -> Int {
    return x - y
}

// Multiply two numbers x and y
// multiply(x: 2, y: 3) == 6
// multiply(x: 5, y: 7) == 35
func multiply(x: Int, y: Int) -> Int {
    return x * y
}

// Divide two numbers x and y
// divide(x: 10, y: 2) == 5
// divide(x: 15, y: 3) == 5
func divide(x: Int, y: Int) -> Int {
    return x / y
}

// Calculate the square of a number x
// square(x: 2) == 4
// square(x: 5) == 25
func square(x: Int) -> Int {
    return x * x
}

// Calculate the cube of a number x
// cube(x: 2) == 8
// cube(x: 3) == 27
func cube(x: Int) -> Int {
    return x * x * x
}

// Calculate the factorial of a number x
// factorial(x: 3) == 6
// factorial(x: 5) == 120
func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

// Calculate the power of a number x raised to the power of y
// power(x: 2, y: 3) == 8
// power(x: 5, y: 2) == 25
func power(x: Int, y: Int) -> Int {
    var result = 1
    for _ in 1...y {
        result *= x
    }
    return result
}

// Calculate the square root of a number x
// squareRoot(x: 9) == 3
// squareRoot(x: 16) == 4
func squareRoot(x: Int) -> Int {
    var result = 1
    while result * result < x {
        result += 1
    }
    return result
}

// Calculate the absolute value of a number x
// absolute(x: -5) == 5
// absolute(x: 3) == 3
func absolute(x: Int) -> Int {
    return x < 0 ? -x : x
}

// Calculate the maximum of two numbers x and y
// max(x: 5, y: 3) == 5
// max(x: 10, y: 7) == 10
func max(x: Int, y: Int) -> Int {
    return x > y ? x : y
}

// Calculate the minimum of two numbers x and y
// min(x: 5, y: 3) == 3
// min(x: 10, y: 7) == 7
func min(x: Int, y: Int) -> Int {
    return x < y ? x : y
}

// Calculate the average of two numbers x and y
// average(x: 5, y: 3) == 4
// average(x: 10, y: 7) == 8.5
func average(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

// Calculate the median of two numbers x and y
// median(x: 5, y: 3) == 4
// median(x: 10, y: 7) == 8.5
func median(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

// Calculate the mode of two numbers x and y
// mode(x: 5, y: 3) == 5
// mode(x: 10, y: 7) == 10
func mode(x: Int, y: Int) -> Int {
    return x > y ? x : y
}

// Calculate the range of two numbers x and y
// range(x: 5, y: 3) == 2
// range(x: 10, y: 7) == 3
func range(x: Int, y: Int) -> Int {
    return abs(x - y)
}

// Calculate the standard deviation of two numbers x and y
// standardDeviation(x: 5, y: 3) == 1.41421

func add(x: Int, y: Int) -> Int {
    return x + y
}

func subtract(x: Int, y: Int) -> Int {
    return x - y
}

func multiply(x: Int, y: Int) -> Int {
    return x * y
}

func divide(x: Int, y: Int) -> Int {
    return x / y
}

func square(x: Int) -> Int {
    return x * x
}

func cube(x: Int) -> Int {
    return x * x * x
}

func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

func sum(x: Int) -> Int {
    var result = 0
    for i in 1...x {
        result += i
    }
    return result
}

func average(x: Int) -> Double {
    return Double(sum(x: x)) / Double(x)
}

func median(x: Int) -> Double {
    let numbers = Array(1...x)
    let middleIndex = numbers.count / 2
    if numbers.count % 2 == 0 {
        return Double(numbers[middleIndex - 1] + numbers[middleIndex]) / 2.0
    } else {
        return Double(numbers[middleIndex])
    }
}

func mode(x: Int) -> Int {
    let numbers = Array(1...x)
    var counts: [Int: Int] = [:]
    for number in numbers {
        counts[number, default: 0] += 1
    }
    var maxCount = 0
    var mode = 0
    for (number, count) in counts {
        if count > maxCount {
            maxCount = count
            mode = number
        }
    }
    return mode
}

func range(x: Int) -> Int {
    return x - 1
}

func standardDeviation(x: Int) -> Double {
    let numbers = Array(1...x)
    let mean = average(x: x)
    var sumOfSquares = 0.0
    for number in numbers {
        sumOfSquares += pow(Double(number) - mean, 2)
    }
    return sqrt(sumOfSquares / Double(x))
}

func variance(x: Int) -> Double {
    return pow(standardDeviation(x: x), 2)
}
```swift
// Add two numbers x and y
// add(x: 2, y: 3) == 5
// add(x: 5, y: 7) == 12
func add(x: Int, y: Int) -> Int {
    return x + y
}

// Subtract two numbers x and y
// subtract(x: 5, y: 3) == 2
// subtract(x: 10, y: 7) == 3
func subtract(x: Int, y: Int) -> Int {
    return x - y
}

// Multiply two numbers x and y
// multiply(x: 2, y: 3) == 6
// multiply(x: 5, y: 7) == 35
func multiply(x: Int, y: Int) -> Int {
    return x * y
}

// Divide two numbers x and y
// divide(x: 10, y: 2) == 5
// divide(x: 15, y: 3) == 5
func divide(x: Int, y: Int) -> Int {
    return x / y
}

// Calculate the square of a number x
// square(x: 2) == 4
// square(x: 5) == 25
func square(x: Int) -> Int {
    return x * x
}

// Calculate the cube of a number x
// cube(x: 2) == 8
// cube(x: 5) == 125
func cube(x: Int) -> Int {
    return x * x * x
}

// Calculate the factorial of a number x
// factorial(x: 3) == 6
// factorial(x: 5) == 120
func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

// Calculate the sum of all numbers from 1 to x
// sum(x: 3) == 6
// sum(x: 5) == 15
func sum(x: Int) -> Int {
    var result = 0
    for i in 1...x {
        result += i
    }
    return result
}

// Calculate the average of all numbers from 1 to x
// average(x: 3) == 2
// average(x: 5) == 3
func average(x: Int) -> Double {
    return Double(sum(x: x)) / Double(x)
}

// Calculate the median of all numbers from 1 to x
// median(x: 3) == 2
// median(x: 5) == 3
func median(x: Int) -> Double {
    let numbers = Array(1...x)
    let middleIndex = numbers.count / 2
    if numbers.count % 2 == 0 {
        return Double(numbers[middleIndex - 1] + numbers[middleIndex]) / 2.0
    } else {
        return Double(numbers[middleIndex])
    }
}

// Calculate the mode of all numbers from 1 to x
// mode(x: 3) == 1
// mode(x: 5) == 1
func mode(x: Int) -> Int {
    let numbers = Array(1...x)
    var counts: [Int: Int] = [:]
    for number in numbers {
        counts[number, default: 0] += 1
    }
    var maxCount = 0
    var mode = 0
    for (number, count) in counts {
        if count > maxCount {
            maxCount = count
            mode = number
        }
    }
    return mode
}

// Calculate the range of all numbers from 1 to x
// range(x: 3) == 2
// range(x: 5) == 4
func range(x: Int) -> Int {
    return x - 1
}

// Calculate the standard deviation of all numbers from 1 to x
// standardDeviation(x: 3) == 1.0
// standardDeviation(x: 5) == 1.4142135623730951
func standardDeviation(x: Int) -> Double {
    let numbers = Array(1...x)
    let mean = average(x: x)
    var sumOfSquares = 0.0
    for number in numbers {
        sumOfSquares += pow(Double(number) - mean, 2)
    }
    return sqrt(sumOfSquares / Double(x))
}

// Calculate the variance of all numbers from 1 to x
// variance(x: 3) == 1.0
// variance(x: 5) == 2.0
func variance(x: Int) -> Double {
    return pow(standardDeviation(x: x), 2)
}

// Calculate the interquartile range of all numbers from 1 to x
// interquartileRange(x: 3)

func add(x: Int, y: Int) -> Int {
    return x + y
}

func subtract(x: Int, y: Int) -> Int {
    return x - y
}

func multiply(x: Int, y: Int) -> Int {
    return x * y
}

func divide(x: Int, y: Int) -> Int {
    return x / y
}

func remainder(x: Int, y: Int) -> Int {
    return x % y
}

func square(x: Int) -> Int {
    return x * x
}

func cube(x: Int) -> Int {
    return x * x * x
}

func squareRoot(x: Int) -> Double {
    return Double(x).squareRoot()
}

func factorial(x: Int) -> Int {
    if x == 0 {
        return 1
    } else {
        return x * factorial(x: x - 1)
    }
}

func power(x: Int, y: Int) -> Int {
    if y == 0 {
        return 1
    } else {
        return x * power(x: x, y: y - 1)
    }
}

func absoluteValue(x: Int) -> Int {
    return abs(x)
}

func maximum(x: Int, y: Int) -> Int {
    return max(x, y)
}

func minimum(x: Int, y: Int) -> Int {
    return min(x, y)
}

func average(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

func median(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

func mode(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}
```swift
// Add two numbers x and y
// add(x: 2, y: 3) == 5
// add(x: 5, y: 7) == 12
func add(x: Int, y: Int) -> Int {
    return x + y
}

// Subtract two numbers x and y
// subtract(x: 5, y: 3) == 2
// subtract(x: 10, y: 7) == 3
func subtract(x: Int, y: Int) -> Int {
    return x - y
}

// Multiply two numbers x and y
// multiply(x: 2, y: 3) == 6
// multiply(x: 5, y: 7) == 35
func multiply(x: Int, y: Int) -> Int {
    return x * y
}

// Divide two numbers x and y
// divide(x: 10, y: 2) == 5
// divide(x: 15, y: 3) == 5
func divide(x: Int, y: Int) -> Int {
    return x / y
}

// Calculate the remainder of dividing x by y
// remainder(x: 10, y: 3) == 1
// remainder(x: 15, y: 4) == 3
func remainder(x: Int, y: Int) -> Int {
    return x % y
}

// Calculate the square of a number x
// square(x: 2) == 4
// square(x: 5) == 25
func square(x: Int) -> Int {
    return x * x
}

// Calculate the cube of a number x
// cube(x: 2) == 8
// cube(x: 3) == 27
func cube(x: Int) -> Int {
    return x * x * x
}

// Calculate the square root of a number x
// squareRoot(x: 4) == 2
// squareRoot(x: 9) == 3
func squareRoot(x: Int) -> Double {
    return Double(x).squareRoot()
}

// Calculate the factorial of a number x
// factorial(x: 3) == 6
// factorial(x: 5) == 120
func factorial(x: Int) -> Int {
    if x == 0 {
        return 1
    } else {
        return x * factorial(x: x - 1)
    }
}

// Calculate the power of a number x raised to the power of y
// power(x: 2, y: 3) == 8
// power(x: 5, y: 2) == 25
func power(x: Int, y: Int) -> Int {
    if y == 0 {
        return 1
    } else {
        return x * power(x: x, y: y - 1)
    }
}

// Calculate the absolute value of a number x
// absoluteValue(x: -5) == 5
// absoluteValue(x: 10) == 10
func absoluteValue(x: Int) -> Int {
    return abs(x)
}

// Calculate the maximum of two numbers x and y
// maximum(x: 5, y: 3) == 5
// maximum(x: 10, y: 7) == 10
func maximum(x: Int, y: Int) -> Int {
    return max(x, y)
}

// Calculate the minimum of two numbers x and y
// minimum(x: 5, y: 3) == 3
// minimum(x: 10, y: 7) == 7
func minimum(x: Int, y: Int) -> Int {
    return min(x, y)
}

// Calculate the average of two numbers x and y
// average(x: 5, y: 3) == 4
// average(x: 10, y: 7) == 8.5
func average(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

// Calculate the median of two numbers x and y
// median(x: 5, y: 3) == 4
// median(x: 10, y: 7) == 8.5
func median(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

// Calculate the mode of two numbers x and y
// mode(x: 5, y: 3) == 4
// mode(x: 10, y: 7) == 8.5
func mode(x: Int, y: Int) -> Double {
    return Double(x + y) / 2
}

// Calculate the range of two numbers x and y
// range(x: 5, y: 3) == 2
// range(x: 10, y: 7) == 3
func range(x: Int, y:

func add(x: Int, y: Int) -> Int {
    return x + y
}

func subtract(x: Int, y: Int) -> Int {
    return x - y
}

func multiply(x: Int, y: Int) -> Int {
    return x * y
}

func divide(x: Int, y: Int) -> Int {
    return x / y
}

func squareRoot(x: Int) -> Int {
    return Int(sqrt(Double(x)))
}

func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

func power(x: Int, y: Int) -> Int {
    return Int(pow(Double(x), Double(y)))
}

func absoluteValue(x: Int) -> Int {
    return abs(x)
}

func maximum(x: Int, y: Int) -> Int {
    return max(x, y)
}

func minimum(x: Int, y: Int) -> Int {
    return min(x, y)
}

func average(x: Int, y: Int) -> Int {
    return (x + y) / 2
}

func median(x: Int, y: Int) -> Int {
    return (x + y) / 2
}

func mode(x: Int, y: Int) -> Int {
    return max(x, y)
}

func range(x: Int, y: Int) -> Int {
    return abs(x - y)
}

func standardDeviation(x: Int, y: Int) -> Double {
    let mean = Double((x + y) / 2)
    let variance = Double((x - mean) * (x - mean) + (y - mean) * (y - mean)) / 2
    return sqrt(variance)
}
```swift
// Add two numbers x and y
// add(x: 2, y: 3) == 5
// add(x: 5, y: 7) == 12
func add(x: Int, y: Int) -> Int {
    return x + y
}

// Subtract two numbers x and y
// subtract(x: 5, y: 3) == 2
// subtract(x: 10, y: 4) == 6
func subtract(x: Int, y: Int) -> Int {
    return x - y
}

// Multiply two numbers x and y
// multiply(x: 2, y: 3) == 6
// multiply(x: 5, y: 7) == 35
func multiply(x: Int, y: Int) -> Int {
    return x * y
}

// Divide two numbers x and y
// divide(x: 10, y: 2) == 5
// divide(x: 15, y: 3) == 5
func divide(x: Int, y: Int) -> Int {
    return x / y
}

// Calculate the square root of a number x
// squareRoot(x: 9) == 3
// squareRoot(x: 16) == 4
func squareRoot(x: Int) -> Int {
    return Int(sqrt(Double(x)))
}

// Calculate the factorial of a number x
// factorial(x: 5) == 120
// factorial(x: 7) == 5040
func factorial(x: Int) -> Int {
    var result = 1
    for i in 1...x {
        result *= i
    }
    return result
}

// Calculate the power of a number x raised to the power of y
// power(x: 2, y: 3) == 8
// power(x: 5, y: 2) == 25
func power(x: Int, y: Int) -> Int {
    return Int(pow(Double(x), Double(y)))
}

// Calculate the absolute value of a number x
// absoluteValue(x: -5) == 5
// absoluteValue(x: 10) == 10
func absoluteValue(x: Int) -> Int {
    return abs(x)
}

// Calculate the maximum of two numbers x and y
// maximum(x: 5, y: 3) == 5
// maximum(x: 10, y: 4) == 10
func maximum(x: Int, y: Int) -> Int {
    return max(x, y)
}

// Calculate the minimum of two numbers x and y
// minimum(x: 5, y: 3) == 3
// minimum(x: 10, y: 4) == 4
func minimum(x: Int, y: Int) -> Int {
    return min(x, y)
}

// Calculate the average of two numbers x and y
// average(x: 5, y: 3) == 4
// average(x: 10, y: 4) == 7
func average(x: Int, y: Int) -> Int {
    return (x + y) / 2
}

// Calculate the median of two numbers x and y
// median(x: 5, y: 3) == 4
// median(x: 10, y: 4) == 7
func median(x: Int, y: Int) -> Int {
    return (x + y) / 2
}

// Calculate the mode of two numbers x and y
// mode(x: 5, y: 3) == 5
// mode(x: 10, y: 4) == 10
func mode(x: Int, y: Int) -> Int {
    return max(x, y)
}

// Calculate the range of two numbers x and y
// range(x: 5, y: 3) == 2
// range(x: 10, y: 4) == 6
func range(x: Int, y: Int) -> Int {
    return abs(x - y)
}

// Calculate the standard deviation of two numbers x and y
// standardDeviation(x: 5, y: 3) == 1.4142135623730951
// standardDeviation(x: 10, y: 4) == 3.1622776601683795
func standardDeviation(x: Int, y: Int) -> Double {
    let mean = Double((x + y) / 2)
    let variance = Double((x - mean) * (x - mean) + (y - mean) * (y - mean)) / 2
    return sqrt(variance)
}

// Calculate the variance of two numbers x and y
// variance(x: 5, y: 3) == 1.5
// variance

func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```swift
// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```

func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```swift
// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1:

func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```swift
// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz",

func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```swift
// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```

func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```swift
// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```

func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```swift
// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```

func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```swift
// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz",

func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```swift
// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```

func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```swift
// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```

func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```swift
// Check if two words have the same characters.
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "dddddddabc", s1: "abcd") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}

// Check if two words have the same characters.
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddeddabc") == true
// sameChars(s0: "abcd", s1: "dddddddabc") == true
// sameChars(s0: "eabcd", s1: "dddddddabc") == false
// sameChars(s0: "abcd", s1: "dddddddabce") == false
// sameChars(s0: "eabcdzzzz", s1: "dddzzzzzzzddddabc") == false
func sameChars(s0: String, s1: String) -> Bool {
    let s0Chars = Set(s0)
    let s1Chars = Set(s1)
    return s0Chars == s1Chars
}
```

func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}
```swift
// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n <= 1 {
        return n
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}

// Return n-th Fibonacci number.

func fib(n: Int) -> Int {
    var a = 0, b = 1
    for _ in 0..<n {
        (a, b) = (b, a + b)
    }
    return a
}
```swift
// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    var a = 0, b = 1
    for _ in 0..<n {
        (a, b) = (b, a + b)
    }
    return a
}
```

func fib(n: Int) -> Int {
    if n < 2 {
        return n
    }
    return fib(n: n - 1) + fib(n: n - 2)
}
```swift
// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n < 2 {
        return n
    }
    return fib(n: n - 1) + fib(n: n - 2)
}
```

func fib(n: Int) -> Int {
    if n == 1 || n == 2 {
        return 1
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}
```swift
// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n == 1 || n == 2 {
        return 1
    } else {
        return fib(n: n - 1) + fib(n: n - 2)
    }
}
```

func fib(n: Int) -> Int {
    if n == 0 { return 0 }
    if n == 1 { return 1 }
    return fib(n: n - 1) + fib(n: n - 2)
}
```swift
// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n == 0 { return 0 }
    if n == 1 { return 1 }
    return fib(n: n - 1) + fib(n: n - 2)
}
```

func fib(n: Int) -> Int {
    if n == 1 || n == 2 {
        return 1
    }
    return fib(n: n - 1) + fib(n: n - 2)
}
```swift
// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n == 1 || n == 2 {
        return 1
    }
    return fib(n: n - 1) + fib(n: n - 2)
}
```

func fib(n: Int) -> Int {
    if n == 0 {
        return 0
    }
    if n == 1 {
        return 1
    }
    return fib(n: n - 1) + fib(n: n - 2)
}
```swift
// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    if n == 0 {
        return 0
    }
    if n == 1 {
        return 1
    }
    return fib(n: n - 1) + fib(n: n - 2)
}
```

func fib(n: Int) -> Int {
    var a = 0
    var b = 1
    for _ in 0..<n {
        let temp = a
        a = b
        b = temp + b
    }
    return a
}
```swift
// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    var a = 0
    var b = 1
    for _ in 0..<n {
        let temp = a
        a = b
        b = temp + b
    }
    return a
}
```

func fib(n: Int) -> Int {
    var a = 0
    var b = 1
    for _ in 0..<n {
        let temp = a
        a = b
        b = temp + b
    }
    return a
}
```swift
// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    var a = 0
    var b = 1
    for _ in 0..<n {
        let temp = a
        a = b
        b = temp + b
    }
    return a
}
```

func fib(n: Int) -> Int {
    var a = 0
    var b = 1
    for _ in 0..<n {
        (a, b) = (b, a + b)
    }
    return a
}
```swift
// Return n-th Fibonacci number.
// fib(n: 10) == 55
// fib(n: 1) == 1
// fib(n: 8) == 21
func fib(n: Int) -> Int {
    var a = 0
    var b = 1
    for _ in 0..<n {
        (a, b) = (b, a + b)
    }
    return a
}
```

func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}
```swift
// brackets is a string of "<" and ">".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "<") == false
// correctBracketing(brackets: "<>") == true
// correctBracketing(brackets: "<<><>>") == true
// correctBracketing(brackets: "><<>") == false
func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}
```

func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "<" {
            stack.append(bracket)
        } else if bracket == ">" {
            if stack.isEmpty || stack.popLast() != "<" {
                return false
            }
        }
    }
    return stack.isEmpty
}
```swift
// brackets is a string of "<" and ">".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "<") == false
// correctBracketing(brackets: "<>") == true
// correctBracketing(brackets: "<<><>>") == true
// correctBracketing(brackets: "><<>") == false
func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "<" {
            stack.append(bracket)
        } else if bracket == ">" {
            if stack.isEmpty || stack.popLast() != "<" {
                return false
            }
        }
    }
    return stack.isEmpty
}
```

func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "<" {
            stack.append(bracket)
        } else if bracket == ">" {
            if stack.isEmpty || stack.popLast() != "<" {
                return false
            }
        }
    }
    return stack.isEmpty
}
```swift
// brackets is a string of "<" and ">".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "<") == false
// correctBracketing(brackets: "<>") == true
// correctBracketing(brackets: "<<><>>") == true
// correctBracketing(brackets: "><<>") == false
func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "<" {
            stack.append(bracket)
        } else if bracket == ">" {
            if stack.isEmpty || stack.popLast() != "<" {
                return false
            }
        }
    }
    return stack.isEmpty
}
```

func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
        }
        if openBrackets < 0 {
            return false
        }
    }
    return openBrackets == 0
}
```swift
// brackets is a string of "<" and ">".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "<") == false
// correctBracketing(brackets: "<>") == true
// correctBracketing(brackets: "<<><>>") == true
// correctBracketing(brackets: "><<>") == false
func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
        }
        if openBrackets < 0 {
            return false
        }
    }
    return openBrackets == 0
}
```

func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}
```swift
// brackets is a string of "<" and ">".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "<") == false
// correctBracketing(brackets: "<>") == true
// correctBracketing(brackets: "<<><>>") == true
// correctBracketing(brackets: "><<>") == false
func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}
```

func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
        }
        if openBrackets < 0 {
            return false
        }
    }
    return openBrackets == 0
}
```swift
// brackets is a string of "<" and ">".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "<") == false
// correctBracketing(brackets: "<>") == true
// correctBracketing(brackets: "<<><>>") == true
// correctBracketing(brackets: "><<>") == false
func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
        }
        if openBrackets < 0 {
            return false
        }
    }
    return openBrackets == 0
}

// test cases
print(correctBracketing(brackets: "<")) // false
print(correctBracketing(brackets: "<>")) // true
print(correctBracketing(brackets: "<<><>>")) // true
print(correctBracketing(brackets: "><<>")) // false
```

func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
        }
        if openBrackets < 0 {
            return false
        }
    }
    return openBrackets == 0
}
```swift
// brackets is a string of "<" and ">".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "<") == false
// correctBracketing(brackets: "<>") == true
// correctBracketing(brackets: "<<><>>") == true
// correctBracketing(brackets: "><<>") == false
func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
        }
        if openBrackets < 0 {
            return false
        }
    }
    return openBrackets == 0
}
```

func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "<" {
            stack.append(bracket)
        } else if bracket == ">" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty
}
```swift
// brackets is a string of "<" and ">".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "<") == false
// correctBracketing(brackets: "<>") == true
// correctBracketing(brackets: "<<><>>") == true
// correctBracketing(brackets: "><<>") == false
func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "<" {
            stack.append(bracket)
        } else if bracket == ">" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty
}
```

func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
        }
        if openBrackets < 0 {
            return false
        }
    }
    return openBrackets == 0
}
```swift
// brackets is a string of "<" and ">".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "<") == false
// correctBracketing(brackets: "<>") == true
// correctBracketing(brackets: "<<><>>") == true
// correctBracketing(brackets: "><<>") == false
func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "<" {
            openBrackets += 1
        } else if bracket == ">" {
            openBrackets -= 1
        }
        if openBrackets < 0 {
            return false
        }
    }
    return openBrackets == 0
}
```

func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "<" {
            stack.append(bracket)
        } else if bracket == ">" {
            if stack.isEmpty || stack.removeLast() != "<" {
                return false
            }
        }
    }
    return stack.isEmpty
}
```swift
// brackets is a string of "<" and ">".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "<") == false
// correctBracketing(brackets: "<>") == true
// correctBracketing(brackets: "<<><>>") == true
// correctBracketing(brackets: "><<>") == false
func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "<" {
            stack.append(bracket)
        } else if bracket == ">" {
            if stack.isEmpty || stack.removeLast() != "<" {
                return false
            }
        }
    }
    return stack.isEmpty
}

// Test cases
print(correctBracketing(brackets: "<")) // false
print(correctBracketing(brackets: "<>")) // true
print(correctBracketing(brackets: "<<><>>")) // true
print(correctBracketing(brackets: "><<>")) // false
```

func monotonic(l: [Int]) -> Bool {
    if l.isEmpty {
        return true
    }
    let first = l[0]
    let last = l[l.count - 1]
    if first > last {
        for i in 1..<l.count {
            if l[i] > l[i - 1] {
                return false
            }
        }
    } else {
        for i in 1..<l.count {
            if l[i] < l[i - 1] {
                return false
            }
        }
    }
    return true
}
```swift
// Return true is array elements are monotonically increasing or decreasing.
// monotonic(l: [1, 2, 4, 20]) == true
// monotonic(l: [1, 20, 4, 10]) == false
// monotonic(l: [4, 1, 0, -10]) == true
func monotonic(l: [Int]) -> Bool {
    if l.isEmpty {
        return true
    }
    let first = l[0]
    let last = l[l.count - 1]
    if first > last {
        for i in 1..<l.count {
            if l[i] > l[i - 1] {
                return false
            }
        }
    } else {
        for i in 1..<l.count {
            if l[i] < l[i - 1] {
                return false
            }
        }
    }
    return true
}
```

func monotonic(l: [Int]) -> Bool {
    if l.isEmpty || l.count == 1 {
        return true
    }
    let first = l[0]
    let last = l[l.count - 1]
    if first < last {
        for i in 1..<l.count {
            if l[i] < l[i - 1] {
                return false
            }
        }
    } else {
        for i in 1..<l.count {
            if l[i] > l[i - 1] {
                return false
            }
        }
    }
    return true
}
```swift
// Return true is array elements are monotonically increasing or decreasing.
// monotonic(l: [1, 2, 4, 20]) == true
// monotonic(l: [1, 20, 4, 10]) == false
// monotonic(l: [4, 1, 0, -10]) == true
func monotonic(l: [Int]) -> Bool {
    if l.isEmpty || l.count == 1 {
        return true
    }
    let first = l[0]
    let last = l[l.count - 1]
    if first < last {
        for i in 1..<l.count {
            if l[i] < l[i - 1] {
                return false
            }
        }
    } else {
        for i in 1..<l.count {
            if l[i] > l[i - 1] {
                return false
            }
        }
    }
    return true
}
```

func monotonic(l: [Int]) -> Bool {
    var increasing = true
    var decreasing = true
    
    for i in 1..<l.count {
        if l[i] < l[i-1] {
            increasing = false
        } else if l[i] > l[i-1] {
            decreasing = false
        }
    }
    
    return increasing || decreasing
}
```swift
// Return true is array elements are monotonically increasing or decreasing.
// monotonic(l: [1, 2, 4, 20]) == true
// monotonic(l: [1, 20, 4, 10]) == false
// monotonic(l: [4, 1, 0, -10]) == true
func monotonic(l: [Int]) -> Bool {
    var increasing = true
    var decreasing = true
    
    for i in 1..<l.count {
        if l[i] < l[i-1] {
            increasing = false
        } else if l[i] > l[i-1] {
            decreasing = false
        }
    }
    
    return increasing || decreasing
}
```

func monotonic(l: [Int]) -> Bool {
    if l.count < 2 { return true }
    let direction = l[1] - l[0]
    for i in 2..<l.count {
        let diff = l[i] - l[i-1]
        if diff * direction < 0 { return false }
    }
    return true
}
```swift
// Return true is array elements are monotonically increasing or decreasing.
// monotonic(l: [1, 2, 4, 20]) == true
// monotonic(l: [1, 20, 4, 10]) == false
// monotonic(l: [4, 1, 0, -10]) == true
func monotonic(l: [Int]) -> Bool {
    if l.count < 2 { return true }
    let direction = l[1] - l[0]
    for i in 2..<l.count {
        let diff = l[i] - l[i-1]
        if diff * direction < 0 { return false }
    }
    return true
}
```

func monotonic(l: [Int]) -> Bool {
    if l.isEmpty || l.count == 1 { return true }
    let first = l[0]
    let last = l[l.count - 1]
    if first < last {
        for i in 1..<l.count {
            if l[i] < l[i - 1] { return false }
        }
    } else {
        for i in 1..<l.count {
            if l[i] > l[i - 1] { return false }
        }
    }
    return true
}
```swift
// Return true is array elements are monotonically increasing or decreasing.
// monotonic(l: [1, 2, 4, 20]) == true
// monotonic(l: [1, 20, 4, 10]) == false
// monotonic(l: [4, 1, 0, -10]) == true
func monotonic(l: [Int]) -> Bool {
    if l.isEmpty || l.count == 1 { return true }
    let first = l[0]
    let last = l[l.count - 1]
    if first < last {
        for i in 1..<l.count {
            if l[i] < l[i - 1] { return false }
        }
    } else {
        for i in 1..<l.count {
            if l[i] > l[i - 1] { return false }
        }
    }
    return true
}
```

func monotonic(l: [Int]) -> Bool {
    if l.count < 2 { return true }
    let first = l[0]
    let last = l[l.count - 1]
    let isIncreasing = first < last
    for i in 1..<l.count {
        if isIncreasing && l[i] < l[i - 1] { return false }
        if !isIncreasing && l[i] > l[i - 1] { return false }
    }
    return true
}
```swift
// Return true is array elements are monotonically increasing or decreasing.
// monotonic(l: [1, 2, 4, 20]) == true
// monotonic(l: [1, 20, 4, 10]) == false
// monotonic(l: [4, 1, 0, -10]) == true
func monotonic(l: [Int]) -> Bool {
    if l.count < 2 { return true }
    let first = l[0]
    let last = l[l.count - 1]
    let isIncreasing = first < last
    for i in 1..<l.count {
        if isIncreasing && l[i] < l[i - 1] { return false }
        if !isIncreasing && l[i] > l[i - 1] { return false }
    }
    return true
}
```

func monotonic(l: [Int]) -> Bool {
    if l.isEmpty {
        return false
    }
    let first = l[0]
    var increasing = true
    var decreasing = true
    for i in 1..<l.count {
        if l[i] > first {
            decreasing = false
        } else if l[i] < first {
            increasing = false
        }
        if !increasing && !decreasing {
            return false
        }
    }
    return true
}
```swift
// Return true is array elements are monotonically increasing or decreasing.
// monotonic(l: [1, 2, 4, 20]) == true
// monotonic(l: [1, 20, 4, 10]) == false
// monotonic(l: [4, 1, 0, -10]) == true
func monotonic(l: [Int]) -> Bool {
    if l.isEmpty {
        return false
    }
    let first = l[0]
    var increasing = true
    var decreasing = true
    for i in 1..<l.count {
        if l[i] > first {
            decreasing = false
        } else if l[i] < first {
            increasing = false
        }
        if !increasing && !decreasing {
            return false
        }
    }
    return true
}
```

 // XCTAssertTrue failed

func monotonic(l: [Int]) -> Bool {
    var increasing = true
    var decreasing = true
    for i in 1..<l.count {
        if l[i] < l[i-1] {
            increasing = false
        }
        if l[i] > l[i-1] {
            decreasing = false
        }
    }
    return increasing || decreasing
}
```swift
// Return true is array elements are monotonically increasing or decreasing.
// monotonic(l: [1, 2, 4, 20]) == true
// monotonic(l: [1, 20, 4, 10]) == false
// monotonic(l: [4, 1, 0, -10]) == true
func monotonic(l: [Int]) -> Bool {
    var increasing = true
    var decreasing = true
    for i in 1..<l.count {
        if l[i] < l[i-1] {
            increasing = false
        }
        if l[i] > l[i-1] {
            decreasing = false
        }
    }
    return increasing || decreasing
}
```

func monotonic(l: [Int]) -> Bool {
    if l.count <= 2 { return true }
    let first = l[0]
    let last = l[l.count - 1]
    if first < last {
        for i in 1..<l.count {
            if l[i] < l[i - 1] { return false }
        }
    } else {
        for i in 1..<l.count {
            if l[i] > l[i - 1] { return false }
        }
    }
    return true
}
```swift
// Return true is array elements are monotonically increasing or decreasing.
// monotonic(l: [1, 2, 4, 20]) == true
// monotonic(l: [1, 20, 4, 10]) == false
// monotonic(l: [4, 1, 0, -10]) == true
func monotonic(l: [Int]) -> Bool {
    if l.count <= 2 { return true }
    let first = l[0]
    let last = l[l.count - 1]
    if first < last {
        for i in 1..<l.count {
            if l[i] < l[i - 1] { return false }
        }
    } else {
        for i in 1..<l.count {
            if l[i] > l[i - 1] { return false }
        }
    }
    return true
}
```

func monotonic(l: [Int]) -> Bool {
    if l.count < 2 { return true }
    let first = l[0]
    let last = l[l.count - 1]
    let isIncreasing = first < last
    for i in 1..<l.count {
        if isIncreasing && l[i] < l[i - 1] { return false }
        if !isIncreasing && l[i] > l[i - 1] { return false }
    }
    return true
}
```swift
// Return true is array elements are monotonically increasing or decreasing.
// monotonic(l: [1, 2, 4, 20]) == true
// monotonic(l: [1, 20, 4, 10]) == false
// monotonic(l: [4, 1, 0, -10]) == true
func monotonic(l: [Int]) -> Bool {
    if l.count < 2 { return true }
    let first = l[0]
    let last = l[l.count - 1]
    let isIncreasing = first < last
    for i in 1..<l.count {
        if isIncreasing && l[i] < l[i - 1] { return false }
        if !isIncreasing && l[i] > l[i - 1] { return false }
    }
    return true
}
```

func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    let commonElements = set1.intersection(set2)
    return Array(commonElements).sorted()
}
```swift
// Return sorted unique common elements for two arrays.
// common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121]) == [1, 5, 653]
// common(l1: [5, 3, 2, 8], l2: [3, 2]) == [2, 3]
func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    let commonElements = set1.intersection(set2)
    return Array(commonElements).sorted()
}
```

func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    let commonElements = set1.intersection(set2)
    return Array(commonElements).sorted()
}
```swift
// Return sorted unique common elements for two arrays.
// common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121]) == [1, 5, 653]
// common(l1: [5, 3, 2, 8], l2: [3, 2]) == [2, 3]
func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    let commonElements = set1.intersection(set2)
    return Array(commonElements).sorted()
}
```

func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    let commonElements = set1.intersection(set2)
    return Array(commonElements).sorted()
}
```swift
// Return sorted unique common elements for two arrays.
// common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121]) == [1, 5, 653]
// common(l1: [5, 3, 2, 8], l2: [3, 2]) == [2, 3]
func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    let commonElements = set1.intersection(set2)
    return Array(commonElements).sorted()
}
```

func common(l1: [Int], l2: [Int]) -> [Int] {
    return Array(Set(l1).intersection(Set(l2))).sorted()
}
```swift
// Return sorted unique common elements for two arrays.
// common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121]) == [1, 5, 653]
// common(l1: [5, 3, 2, 8], l2: [3, 2]) == [2, 3]
func common(l1: [Int], l2: [Int]) -> [Int] {
    return Array(Set(l1).intersection(Set(l2))).sorted()
}

// Test cases
print(common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121])) // [1, 5, 653]
print(common(l1: [5, 3, 2, 8], l2: [3, 2])) // [2, 3]
```

func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    let intersection = set1.intersection(set2)
    return Array(intersection).sorted()
}
```swift
// Return sorted unique common elements for two arrays.
// common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121]) == [1, 5, 653]
// common(l1: [5, 3, 2, 8], l2: [3, 2]) == [2, 3]
func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    let intersection = set1.intersection(set2)
    return Array(intersection).sorted()
}
```

func common(l1: [Int], l2: [Int]) -> [Int] {
    return Array(Set(l1).intersection(Set(l2))).sorted()
}
```swift
// Return sorted unique common elements for two arrays.
// common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121]) == [1, 5, 653]
// common(l1: [5, 3, 2, 8], l2: [3, 2]) == [2, 3]
func common(l1: [Int], l2: [Int]) -> [Int] {
    return Array(Set(l1).intersection(Set(l2))).sorted()
}

// Test cases
print(common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121])) // [1, 5, 653]
print(common(l1: [5, 3, 2, 8], l2: [3, 2])) // [2, 3]
```

func common(l1: [Int], l2: [Int]) -> [Int] {
    return Array(Set(l1).intersection(Set(l2))).sorted()
}
```swift
// Return sorted unique common elements for two arrays.
// common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121]) == [1, 5, 653]
// common(l1: [5, 3, 2, 8], l2: [3, 2]) == [2, 3]
func common(l1: [Int], l2: [Int]) -> [Int] {
    return Array(Set(l1).intersection(Set(l2))).sorted()
}
```

func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    let intersection = set1.intersection(set2)
    return Array(intersection).sorted()
}
```swift
// Return sorted unique common elements for two arrays.
// common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121]) == [1, 5, 653]
// common(l1: [5, 3, 2, 8], l2: [3, 2]) == [2, 3]
func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    let intersection = set1.intersection(set2)
    return Array(intersection).sorted()
}
```

func common(l1: [Int], l2: [Int]) -> [Int] {
    var commonElements = [Int]()
    var l1Set = Set(l1)
    var l2Set = Set(l2)
    
    for element in l1Set {
        if l2Set.contains(element) {
            commonElements.append(element)
        }
    }
    
    return commonElements.sorted()
}
```swift
// Return sorted unique common elements for two arrays.
// common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121]) == [1, 5, 653]
// common(l1: [5, 3, 2, 8], l2: [3, 2]) == [2, 3]
func common(l1: [Int], l2: [Int]) -> [Int] {
    var commonElements = [Int]()
    var l1Set = Set(l1)
    var l2Set = Set(l2)
    
    for element in l1Set {
        if l2Set.contains(element) {
            commonElements.append(element)
        }
    }
    
    return commonElements.sorted()
}

// Test cases
print(common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121])) // [1, 5, 653]
print(common(l1: [5, 3, 2, 8], l2: [3, 2])) // [2, 3]
```

var l1Set = Set(l1) // variable 'l1Set' was never mutated; consider changing to 'let' constant
var l2Set = Set(l2) // variable 'l2Set' was never mutated; consider changing to 'let' constant

func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    return Array(set1.intersection(set2)).sorted()
}
```swift
// Return sorted unique common elements for two arrays.
// common(l1: [1, 4, 3, 34, 653, 2, 5], l2: [5, 7, 1, 5, 9, 653, 121]) == [1, 5, 653]
// common(l1: [5, 3, 2, 8], l2: [3, 2]) == [2, 3]
func common(l1: [Int], l2: [Int]) -> [Int] {
    let set1 = Set(l1)
    let set2 = Set(l2)
    return Array(set1.intersection(set2)).sorted()
}
```

func largestPrimeFactor(n: Int) -> Int {
    var factor = 2
    var maxPrime = 2
    while factor * factor <= n {
        if n % factor == 0 {
            maxPrime = factor
            n /= factor
        } else {
            factor += 1
        }
    }
    if n > 1 {
        maxPrime = n
    }
    return maxPrime
}
```swift
// Return the largest prime factor of n. Assume n > 1 and is not a prime.
// largestPrimeFactor(n: 13195) == 29
// largestPrimeFactor(n: 2048) == 2
func largestPrimeFactor(n: Int) -> Int {
    var factor = 2
    var maxPrime = 2
    while factor * factor <= n {
        if n % factor == 0 {
            maxPrime = factor
            n /= factor
        } else {
            factor += 1
        }
    }
    if n > 1 {
        maxPrime = n
    }
    return maxPrime
}
```

n /= factor // left side of mutating operator isn't mutable: 'n' is a 'let' constant

func largestPrimeFactor(n: Int) -> Int {
    var factor = 2
    var maxPrime = 2
    while factor * factor <= n {
        if n % factor == 0 {
            maxPrime = factor
            n /= factor
        } else {
            factor += 1
        }
    }
    if n > 1 {
        maxPrime = n
    }
    return maxPrime
}
```swift
// Return the largest prime factor of n. Assume n > 1 and is not a prime.
// largestPrimeFactor(n: 13195) == 29
// largestPrimeFactor(n: 2048) == 2
func largestPrimeFactor(n: Int) -> Int {
    var factor = 2
    var maxPrime = 2
    while factor * factor <= n {
        if n % factor == 0 {
            maxPrime = factor
            n /= factor
        } else {
            factor += 1
        }
    }
    if n > 1 {
        maxPrime = n
    }
    return maxPrime
}
```

n /= factor // left side of mutating operator isn't mutable: 'n' is a 'let' constant

func largestPrimeFactor(n: Int) -> Int {
    var factor = 2
    var maxPrime = 2
    while factor * factor <= n {
        if n % factor == 0 {
            maxPrime = factor
            n /= factor
        } else {
            factor += 1
        }
    }
    if n > 1 {
        maxPrime = n
    }
    return maxPrime
}
```swift
// Return the largest prime factor of n. Assume n > 1 and is not a prime.
// largestPrimeFactor(n: 13195) == 29
// largestPrimeFactor(n: 2048) == 2
func largestPrimeFactor(n: Int) -> Int {
    var factor = 2
    var maxPrime = 2
    while factor * factor <= n {
        if n % factor == 0 {
            maxPrime = factor
            n /= factor
        } else {
            factor += 1
        }
    }
    if n > 1 {
        maxPrime = n
    }
    return maxPrime
}
```

n /= factor // left side of mutating operator isn't mutable: 'n' is a 'let' constant

func largestPrimeFactor(n: Int) -> Int {
    var largestPrime: Int = 2
    var number = n
    while number > largestPrime {
        if number % largestPrime == 0 {
            number /= largestPrime
        } else {
            largestPrime += 1
        }
    }
    return largestPrime
}
```swift
// Return the largest prime factor of n. Assume n > 1 and is not a prime.
// largestPrimeFactor(n: 13195) == 29
// largestPrimeFactor(n: 2048) == 2
func largestPrimeFactor(n: Int) -> Int {
    var largestPrime: Int = 2
    var number = n
    while number > largestPrime {
        if number % largestPrime == 0 {
            number /= largestPrime
        } else {
            largestPrime += 1
        }
    }
    return largestPrime
}
```

func largestPrimeFactor(n: Int) -> Int {
    var factor = 2
    var maxPrime = 2
    while factor * factor <= n {
        if n % factor == 0 {
            maxPrime = factor
            n /= factor
        } else {
            factor += 1
        }
    }
    if n > 1 {
        maxPrime = n
    }
    return maxPrime
}
```swift
// Return the largest prime factor of n. Assume n > 1 and is not a prime.
// largestPrimeFactor(n: 13195) == 29
// largestPrimeFactor(n: 2048) == 2
func largestPrimeFactor(n: Int) -> Int {
    var factor = 2
    var maxPrime = 2
    while factor * factor <= n {
        if n % factor == 0 {
            maxPrime = factor
            n /= factor
        } else {
            factor += 1
        }
    }
    if n > 1 {
        maxPrime = n
    }
    return maxPrime
}
```

n /= factor // left side of mutating operator isn't mutable: 'n' is a 'let' constant

func largestPrimeFactor(n: Int) -> Int {
    var factor = 2
    var maxPrime = 2
    while factor * factor <= n {
        if n % factor == 0 {
            maxPrime = factor
            n /= factor
        } else {
            factor += 1
        }
    }
    if n > 1 {
        maxPrime = n
    }
    return maxPrime
}
```swift
// Return the largest prime factor of n. Assume n > 1 and is not a prime.
// largestPrimeFactor(n: 13195) == 29
// largestPrimeFactor(n: 2048) == 2
func largestPrimeFactor(n: Int) -> Int {
    var factor = 2
    var maxPrime = 2
    while factor * factor <= n {
        if n % factor == 0 {
            maxPrime = factor
            n /= factor
        } else {
            factor += 1
        }
    }
    if n > 1 {
        maxPrime = n
    }
    return maxPrime
}
```

n /= factor // left side of mutating operator isn't mutable: 'n' is a 'let' constant

func largestPrimeFactor(n: Int) -> Int {
    var num = n
    var factor = 2
    var largestFactor = 1
    while num > 1 {
        if num % factor == 0 {
            largestFactor = factor
            num /= factor
            while num % factor == 0 {
                num /= factor
            }
        }
        factor += 1
    }
    return largestFactor
}
```swift
// Return the largest prime factor of n. Assume n > 1 and is not a prime.
// largestPrimeFactor(n: 13195) == 29
// largestPrimeFactor(n: 2048) == 2
func largestPrimeFactor(n: Int) -> Int {
    var num = n
    var factor = 2
    var largestFactor = 1
    while num > 1 {
        if num % factor == 0 {
            largestFactor = factor
            num /= factor
            while num % factor == 0 {
                num /= factor
            }
        }
        factor += 1
    }
    return largestFactor
}
```

func largestPrimeFactor(n: Int) -> Int {
    var num = n
    var factor = 2
    var largestFactor = 0
    while num > 1 {
        if num % factor == 0 {
            largestFactor = factor
            num /= factor
            while num % factor == 0 {
                num /= factor
            }
        }
        factor += 1
    }
    return largestFactor
}
```swift
// Return the largest prime factor of n. Assume n > 1 and is not a prime.
// largestPrimeFactor(n: 13195) == 29
// largestPrimeFactor(n: 2048) == 2
func largestPrimeFactor(n: Int) -> Int {
    var num = n
    var factor = 2
    var largestFactor = 0
    while num > 1 {
        if num % factor == 0 {
            largestFactor = factor
            num /= factor
            while num % factor == 0 {
                num /= factor
            }
        }
        factor += 1
    }
    return largestFactor
}
```

func largestPrimeFactor(n: Int) -> Int {
    var divisor = 2
    var number = n
    var largestPrime = 1

    while number > 1 {
        if number % divisor == 0 {
            largestPrime = divisor
            number /= divisor
        } else {
            divisor += 1
        }
    }

    return largestPrime
}
```swift
// Return the largest prime factor of n. Assume n > 1 and is not a prime.
// largestPrimeFactor(n: 13195) == 29
// largestPrimeFactor(n: 2048) == 2
func largestPrimeFactor(n: Int) -> Int {
    var divisor = 2
    var number = n
    var largestPrime = 1

    while number > 1 {
        if number % divisor == 0 {
            largestPrime = divisor
            number /= divisor
        } else {
            divisor += 1
        }
    }

    return largestPrime
}
```

func largestPrimeFactor(n: Int) -> Int {
    var largestPrime: Int = 2
    var number = n
    while number > largestPrime {
        if number % largestPrime == 0 {
            number /= largestPrime
        } else {
            largestPrime += 1
        }
    }
    return largestPrime
}

func checkLargestPrimeFactor() {
    assert(largestPrimeFactor(n: 13195) == 29, "Test case 1 failed")
    assert(largestPrimeFactor(n: 2048) == 2, "Test case 2 failed")
    assert(largestPrimeFactor(n: 600851475143) == 6857, "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Return the largest prime factor of n. Assume n > 1 and is not a prime.
// largestPrimeFactor(n: 13195) == 29
// largestPrimeFactor(n: 2048) == 2
func largestPrimeFactor(n: Int) -> Int {
    var largestPrime: Int = 2
    var number = n
    while number > largestPrime {
        if number % largestPrime == 0 {
            number /= largestPrime
        } else {
            largestPrime += 1
        }
    }
    return largestPrime
}

// Check function to verify the correctness of the largestPrimeFactor function
func checkLargestPrimeFactor() {
    assert(largestPrimeFactor(n: 13195) == 29, "Test case 1 failed")
    assert(largestPrimeFactor(n: 2048) == 2, "Test case 2 failed")
    assert(largestPrimeFactor(n: 600851475143) == 6857, "Test case 3 failed")
    print("All test cases passed!")
}

// Run the check function to verify the solution
checkLargestPrimeFactor()
```

func sumToN(n: Int) -> Int {
    // Your code here
}
```swift
// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    // Your code here
}
```

} // missing return in global function expected to return 'Int'

func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}
```swift
// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55

func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}
```swift
// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}
```

func sumToN(n: Int) -> Int {
    return (n * (n + 1)) / 2
}

func sumOfSquares(n: Int) -> Int {
    return (n * (n + 1) * (2 * n + 1)) / 6
}

func sumOfCubes(n: Int) -> Int {
    return (n * (n + 1) / 2) * (n * (n + 1) / 2)
}
```swift
// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    return (n * (n + 1)) / 2
}

// sum_of_squares is a function that sums the squares of numbers from 1 to n.
// sumOfSquares(n: 3) == 14
// sumOfSquares(n: 5) == 55
// sumOfSquares(n: 10) == 385
// sumOfSquares(n: 1) == 1
func sumOfSquares(n: Int) -> Int {
    return (n * (n + 1) * (2 * n + 1)) / 6
}

// sum_of_cubes is a function that sums the cubes of numbers from 1 to n.
// sumOfCubes(n: 3) == 36
// sumOfCubes(n: 5) == 225
// sumOfCubes(n: 10) == 3025
// sumOfCubes(n: 1) == 1
func sumOfCubes(n: Int) -> Int {
    return (n * (n + 1) / 2) * (n * (n + 1) / 2)
}
```

func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}
```swift
// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}
```

func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}
```swift
// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}
```

func sumToN(n: Int) -> Int {
    return (n * (n + 1)) / 2
}
```swift
// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    return (n * (n + 1)) / 2
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    return (n * (n + 1)) / 2
}
```

func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}
```swift
// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}

// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55

func sumToN(n: Int) -> Int {
    return (n * (n + 1)) / 2
}
```swift
// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    return (n * (n + 1)) / 2
}
```

func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}
```swift
// sum_to_n is a function that sums numbers from 1 to n.
// sumToN(n: 30) == 465
// sumToN(n: 100) == 5050
// sumToN(n: 5) == 15
// sumToN(n: 10) == 55
// sumToN(n: 1) == 1
func sumToN(n: Int) -> Int {
    var sum = 0
    for i in 1...n {
        sum += i
    }
    return sum
}
```

func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for char in brackets {
        if char == "(" {
            openBrackets += 1
        } else if char == ")" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}
```swift
// brackets is a string of "(" and ")".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "(") == false
// correctBracketing(brackets: "()") == true
// correctBracketing(brackets: "(()())") == true
// correctBracketing(brackets: ")(()") == false
func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for char in brackets {
        if char == "(" {
            openBrackets += 1
        } else if char == ")" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}
```

func correctBracketing(brackets: String) -> Bool {
    var count = 0
    for bracket in brackets {
        if bracket == "(" {
            count += 1
        } else if bracket == ")" {
            count -= 1
        }
        if count < 0 {
            return false
        }
    }
    return count == 0
}
```swift
// brackets is a string of "(" and ")".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "(") == false
// correctBracketing(brackets: "()") == true
// correctBracketing(brackets: "(()())") == true
// correctBracketing(brackets: ")(()") == false
func correctBracketing(brackets: String) -> Bool {
    var count = 0
    for bracket in brackets {
        if bracket == "(" {
            count += 1
        } else if bracket == ")" {
            count -= 1
        }
        if count < 0 {
            return false
        }
    }
    return count == 0
}

// test cases
assert(correctBracketing(brackets: "(") == false)
assert(correctBracketing(brackets: "()") == true)
assert(correctBracketing(brackets: "(()())") == true)
assert(correctBracketing(brackets: ")(()") == false)
```

func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "(" {
            stack.append(bracket)
        } else if bracket == ")" {
            if stack.isEmpty || stack.removeLast() != "(" {
                return false
            }
        }
    }
    return stack.isEmpty
}
```swift
// brackets is a string of "(" and ")".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "(") == false
// correctBracketing(brackets: "()") == true
// correctBracketing(brackets: "(()())") == true
// correctBracketing(brackets: ")(()") == false
func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "(" {
            stack.append(bracket)
        } else if bracket == ")" {
            if stack.isEmpty || stack.removeLast() != "(" {
                return false
            }
        }
    }
    return stack.isEmpty
}
```

func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "(" {
            openBrackets += 1
        } else if bracket == ")" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}
```swift
// brackets is a string of "(" and ")".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "(") == false
// correctBracketing(brackets: "()") == true
// correctBracketing(brackets: "(()())") == true
// correctBracketing(brackets: ")(()") == false
func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "(" {
            openBrackets += 1
        } else if bracket == ")" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}
```

func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for char in brackets {
        if char == "(" {
            stack.append(char)
        } else if char == ")" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty
}
```swift
// brackets is a string of "(" and ")".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "(") == false
// correctBracketing(brackets: "()") == true
// correctBracketing(brackets: "(()())") == true
// correctBracketing(brackets: ")(()") == false
func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for char in brackets {
        if char == "(" {
            stack.append(char)
        } else if char == ")" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty
}
```

func correctBracketing(brackets: String) -> Bool {
    var count = 0
    for bracket in brackets {
        if bracket == "(" {
            count += 1
        } else if bracket == ")" {
            count -= 1
        }
        if count < 0 {
            return false
        }
    }
    return count == 0
}
```swift
// brackets is a string of "(" and ")".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "(") == false
// correctBracketing(brackets: "()") == true
// correctBracketing(brackets: "(()())") == true
// correctBracketing(brackets: ")(()") == false
func correctBracketing(brackets: String) -> Bool {
    var count = 0
    for bracket in brackets {
        if bracket == "(" {
            count += 1
        } else if bracket == ")" {
            count -= 1
        }
        if count < 0 {
            return false
        }
    }
    return count == 0
}
```

func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for char in brackets {
        if char == "(" {
            stack.append(char)
        } else if char == ")" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty
}
```swift
// brackets is a string of "(" and ")".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "(") == false
// correctBracketing(brackets: "()") == true
// correctBracketing(brackets: "(()())") == true
// correctBracketing(brackets: ")(()") == false
func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for char in brackets {
        if char == "(" {
            stack.append(char)
        } else if char == ")" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty
}
```

func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "(" {
            openBrackets += 1
        } else if bracket == ")" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}
```swift
// brackets is a string of "(" and ")".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "(") == false
// correctBracketing(brackets: "()") == true
// correctBracketing(brackets: "(()())") == true
// correctBracketing(brackets: ")(()") == false
func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "(" {
            openBrackets += 1
        } else if bracket == ")" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}
```

func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "(" {
            stack.append(bracket)
        } else if bracket == ")" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty
}
```swift
// brackets is a string of "(" and ")".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "(") == false
// correctBracketing(brackets: "()") == true
// correctBracketing(brackets: "(()())") == true
// correctBracketing(brackets: ")(()") == false
func correctBracketing(brackets: String) -> Bool {
    var stack = [Character]()
    for bracket in brackets {
        if bracket == "(" {
            stack.append(bracket)
        } else if bracket == ")" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty
}
```

func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "(" {
            openBrackets += 1
        } else if bracket == ")" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}
```swift
// brackets is a string of "(" and ")".
// return true if every opening bracket has a corresponding closing bracket.
// correctBracketing(brackets: "(") == false
// correctBracketing(brackets: "()") == true
// correctBracketing(brackets: "(()())") == true
// correctBracketing(brackets: ")(()") == false
func correctBracketing(brackets: String) -> Bool {
    var openBrackets = 0
    for bracket in brackets {
        if bracket == "(" {
            openBrackets += 1
        } else if bracket == ")" {
            openBrackets -= 1
            if openBrackets < 0 {
                return false
            }
        }
    }
    return openBrackets == 0
}

// Test cases
print(correctBracketing(brackets: "(")) // false
print(correctBracketing(brackets: "()")) // true
print(correctBracketing(brackets: "(()())")) // true
print(correctBracketing(brackets: ")(()")) // false
```

func derivative(xs: [Int]) -> [Int] {
    return xs.enumerated().dropFirst().map { $0.offset * $0.element }
}
```swift
// xs represent coefficients of a polynomial.
// xs[0] + xs[1] * x + xs[2] * x^2 + ....
// Return derivative of this polynomial in the same form.
// derivative(xs: [3, 1, 2, 4, 5]) == [1, 4, 12, 20]
// derivative(xs: [1, 2, 3]) == [2, 6]
func derivative(xs: [Int]) -> [Int] {
    return xs.enumerated().dropFirst().map { $0.offset * $0.element }
}
```

func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```swift
// xs represent coefficients of a polynomial.
// xs[0] + xs[1] * x + xs[2] * x^2 + ....
// Return derivative of this polynomial in the same form.
// derivative(xs: [3, 1, 2, 4, 5]) == [1, 4, 12, 20]
// derivative(xs: [1, 2, 3]) == [2, 6]
func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```

func derivative(xs: [Int]) -> [Int] {
    return xs.enumerated().dropFirst().map { $0.offset * $0.element }
}
```swift
// xs represent coefficients of a polynomial.
// xs[0] + xs[1] * x + xs[2] * x^2 + ....
// Return derivative of this polynomial in the same form.
// derivative(xs: [3, 1, 2, 4, 5]) == [1, 4, 12, 20]
// derivative(xs: [1, 2, 3]) == [2, 6]
func derivative(xs: [Int]) -> [Int] {
    return xs.enumerated().dropFirst().map { $0.offset * $0.element }
}
```

func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```swift
// xs represent coefficients of a polynomial.
// xs[0] + xs[1] * x + xs[2] * x^2 + ....
// Return derivative of this polynomial in the same form.
// derivative(xs: [3, 1, 2, 4, 5]) == [1, 4, 12, 20]
// derivative(xs: [1, 2, 3]) == [2, 6]
func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```

func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```swift
// xs represent coefficients of a polynomial.
// xs[0] + xs[1] * x + xs[2] * x^2 + ....
// Return derivative of this polynomial in the same form.
// derivative(xs: [3, 1, 2, 4, 5]) == [1, 4, 12, 20]
// derivative(xs: [1, 2, 3]) == [2, 6]
func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```

func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```swift
// xs represent coefficients of a polynomial.
// xs[0] + xs[1] * x + xs[2] * x^2 + ....
// Return derivative of this polynomial in the same form.
// derivative(xs: [3, 1, 2, 4, 5]) == [1, 4, 12, 20]
// derivative(xs: [1, 2, 3]) == [2, 6]
func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```

func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```swift
// xs represent coefficients of a polynomial.
// xs[0] + xs[1] * x + xs[2] * x^2 + ....
// Return derivative of this polynomial in the same form.
// derivative(xs: [3, 1, 2, 4, 5]) == [1, 4, 12, 20]
// derivative(xs: [1, 2, 3]) == [2, 6]
func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}

// Test cases
print(derivative(xs: [3, 1, 2, 4, 5])) // [1, 4, 12, 20]
print(derivative(xs: [1, 2, 3])) // [2, 6]
```

func derivative(xs: [Int]) -> [Int] {
    return xs.enumerated().dropFirst().map { $0.offset * $0.element }
}
```swift
// xs represent coefficients of a polynomial.
// xs[0] + xs[1] * x + xs[2] * x^2 + ....
// Return derivative of this polynomial in the same form.
// derivative(xs: [3, 1, 2, 4, 5]) == [1, 4, 12, 20]
// derivative(xs: [1, 2, 3]) == [2, 6]
func derivative(xs: [Int]) -> [Int] {
    return xs.enumerated().dropFirst().map { $0.offset * $0.element }
}
```

func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```swift
// xs represent coefficients of a polynomial.
// xs[0] + xs[1] * x + xs[2] * x^2 + ....
// Return derivative of this polynomial in the same form.
// derivative(xs: [3, 1, 2, 4, 5]) == [1, 4, 12, 20]
// derivative(xs: [1, 2, 3]) == [2, 6]
func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```

func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```swift
// xs represent coefficients of a polynomial.
// xs[0] + xs[1] * x + xs[2] * x^2 + ....
// Return derivative of this polynomial in the same form.
// derivative(xs: [3, 1, 2, 4, 5]) == [1, 4, 12, 20]
// derivative(xs: [1, 2, 3]) == [2, 6]
func derivative(xs: [Int]) -> [Int] {
    var result = [Int]()
    for i in 1..<xs.count {
        result.append(xs[i] * i)
    }
    return result
}
```

func fibfib(n: Int) -> Int {
    // Your code here
}
```swift
// The FibFib number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fibfib(0) == 0
// fibfib(1) == 0
// fibfib(2) == 1
// fibfib(n) == fibfib(n-1) + fibfib(n-2) + fibfib(n-3).
// Please write a function to efficiently compute the n-th element of the fibfib number sequence.
// fibfib(n: 1) == 0
// fibfib(n: 5) == 4
// fibfib(n: 8) == 24
func fibfib(n: Int) -> Int {
    // Your code here
}
```

} // missing return in global function expected to return 'Int'

func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```swift
// The FibFib number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fibfib(0) == 0
// fibfib(1) == 0
// fibfib(2) == 1
// fibfib(n) == fibfib(n-1) + fibfib(n-2) + fibfib(n-3).
// Please write a function to efficiently compute the n-th element of the fibfib number sequence.
// fibfib(n: 1) == 0
// fibfib(n: 5) == 4
// fibfib(n: 8) == 24
func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```

func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```swift
// The FibFib number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fibfib(0) == 0
// fibfib(1) == 0
// fibfib(2) == 1
// fibfib(n) == fibfib(n-1) + fibfib(n-2) + fibfib(n-3).
// Please write a function to efficiently compute the n-th element of the fibfib number sequence.
// fibfib(n: 1) == 0
// fibfib(n: 5) == 4
// fibfib(n: 8) == 24
func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```

func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```swift
// The FibFib number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fibfib(0) == 0
// fibfib(1) == 0
// fibfib(2) == 1
// fibfib(n) == fibfib(n-1) + fibfib(n-2) + fibfib(n-3).
// Please write a function to efficiently compute the n-th element of the fibfib number sequence.
// fibfib(n: 1) == 0
// fibfib(n: 5) == 4
// fibfib(n: 8) == 24
func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```

func fibfib(n: Int) -> Int {
    if n < 2 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```swift
// The FibFib number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fibfib(0) == 0
// fibfib(1) == 0
// fibfib(2) == 1
// fibfib(n) == fibfib(n-1) + fibfib(n-2) + fibfib(n-3).
// Please write a function to efficiently compute the n-th element of the fibfib number sequence.
// fibfib(n: 1) == 0
// fibfib(n: 5) == 4
// fibfib(n: 8) == 24
func fibfib(n: Int) -> Int {
    if n < 2 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```

func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```swift
// The FibFib number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fibfib(0) == 0
// fibfib(1) == 0
// fibfib(2) == 1
// fibfib(n) == fibfib(n-1) + fibfib(n-2) + fibfib(n-3).
// Please write a function to efficiently compute the n-th element of the fibfib number sequence.
// fibfib(n: 1) == 0
// fibfib(n: 5) == 4
// fibfib(n: 8) == 24
func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```

func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```swift
// The FibFib number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fibfib(0) == 0
// fibfib(1) == 0
// fibfib(2) == 1
// fibfib(n) == fibfib(n-1) + fibfib(n-2) + fibfib(n-3).
// Please write a function to efficiently compute the n-th element of the fibfib number sequence.
// fibfib(n: 1) == 0
// fibfib(n: 5) == 4
// fibfib(n: 8) == 24
func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```

func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```swift
// The FibFib number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fibfib(0) == 0
// fibfib(1) == 0
// fibfib(2) == 1
// fibfib(n) == fibfib(n-1) + fibfib(n-2) + fibfib(n-3).
// Please write a function to efficiently compute the n-th element of the fibfib number sequence.
// fibfib(n: 1) == 0
// fibfib(n: 5) == 4
// fibfib(n: 8) == 24
func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```

func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            let nextFibfib = fibfib[i-1] + fibfib[i-2] + fibfib[i-3]
            fibfib.append(nextFibfib)
        }
        return fibfib[n]
    }
}
```swift
// The FibFib number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fibfib(0) == 0
// fibfib(1) == 0
// fibfib(2) == 1
// fibfib(n) == fibfib(n-1) + fibfib(n-2) + fibfib(n-3).
// Please write a function to efficiently compute the n-th element of the fibfib number sequence.
// fibfib(n: 1) == 0
// fibfib(n: 5) == 4
// fibfib(n: 8) == 24
func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            let nextFibfib = fibfib[i-1] + fibfib[i-2] + fibfib[i-3]
            fibfib.append(nextFibfib)
        }
        return fibfib[n]
    }
}
```

func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```swift
// The FibFib number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
// fibfib(0) == 0
// fibfib(1) == 0
// fibfib(2) == 1
// fibfib(n) == fibfib(n-1) + fibfib(n-2) + fibfib(n-3).
// Please write a function to efficiently compute the n-th element of the fibfib number sequence.
// fibfib(n: 1) == 0
// fibfib(n: 5) == 4
// fibfib(n: 8) == 24
func fibfib(n: Int) -> Int {
    if n == 0 || n == 1 {
        return 0
    } else if n == 2 {
        return 1
    } else {
        var fibfib = [0, 0, 1]
        for i in 3...n {
            fibfib.append(fibfib[i-1] + fibfib[i-2] + fibfib[i-3])
        }
        return fibfib[n]
    }
}
```

func vowelsCount(s: String) -> Int {
    let vowels = Set("aeiouAEIOU")
    let endVowel = Set("yY")
    var count = 0
    for (index, char) in s.enumerated() {
        if vowels.contains(char) || (index == s.count - 1 && endVowel.contains(char)) {
            count += 1
        }
    }
    return count
}
```swift
// Write a function vowels_count which takes a string representing
// a word as input and returns the number of vowels in the string.
// Vowels in this case are 'a', 'e', 'i', 'o', 'u'. Here, 'y' is also a
// vowel, but only when it is at the end of the given word.
// Example:
// vowelsCount(s: "abcde") == 2
// vowelsCount(s: "ACEDY") == 3
func vowelsCount(s: String) -> Int {
    let vowels = Set("aeiouAEIOU")
    let endVowel = Set("yY")
    var count = 0
    for (index, char) in s.enumerated() {
        if vowels.contains(char) || (index == s.count - 1 && endVowel.contains(char)) {
            count += 1
        }
    }
    return count
}
```

func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```swift
// Write a function vowels_count which takes a string representing
// a word as input and returns the number of vowels in the string.
// Vowels in this case are 'a', 'e', 'i', 'o', 'u'. Here, 'y' is also a
// vowel, but only when it is at the end of the given word.
// Example:
// vowelsCount(s: "abcde") == 2
// vowelsCount(s: "ACEDY") == 3
func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```

func vowelsCount(s: String) -> Int {
    let vowels = Set("aeiouAEIOU")
    let yVowel = Set("yY")
    let word = s.lowercased()
    var count = 0
    for char in word {
        if vowels.contains(char) || (char == "y" && word.last == char) {
            count += 1
        }
    }
    return count
}
```swift
// Write a function vowels_count which takes a string representing
// a word as input and returns the number of vowels in the string.
// Vowels in this case are 'a', 'e', 'i', 'o', 'u'. Here, 'y' is also a
// vowel, but only when it is at the end of the given word.
// Example:
// vowelsCount(s: "abcde") == 2
// vowelsCount(s: "ACEDY") == 3
func vowelsCount(s: String) -> Int {
    let vowels = Set("aeiouAEIOU")
    let yVowel = Set("yY")
    let word = s.lowercased()
    var count = 0
    for char in word {
        if vowels.contains(char) || (char == "y" && word.last == char) {
            count += 1
        }
    }
    return count
}
```

let yVowel = Set("yY") // initialization of immutable value 'yVowel' was never used; consider replacing with assignment to '_' or removing it

func vowelsCount(s: String) -> Int {
    let vowels = "aeiouAEIOU"
    let vowelsAtEnd = "yY"
    var count = 0
    for char in s {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.last != nil && vowelsAtEnd.contains(s.last!) {
        count += 1
    }
    return count
}
```swift
// Write a function vowels_count which takes a string representing
// a word as input and returns the number of vowels in the string.
// Vowels in this case are 'a', 'e', 'i', 'o', 'u'. Here, 'y' is also a
// vowel, but only when it is at the end of the given word.
// Example:
// vowelsCount(s: "abcde") == 2
// vowelsCount(s: "ACEDY") == 3
func vowelsCount(s: String) -> Int {
    let vowels = "aeiouAEIOU"
    let vowelsAtEnd = "yY"
    var count = 0
    for char in s {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.last != nil && vowelsAtEnd.contains(s.last!) {
        count += 1
    }
    return count
}
```

func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```swift
// Write a function vowels_count which takes a string representing
// a word as input and returns the number of vowels in the string.
// Vowels in this case are 'a', 'e', 'i', 'o', 'u'. Here, 'y' is also a
// vowel, but only when it is at the end of the given word.
// Example:
// vowelsCount(s: "abcde") == 2
// vowelsCount(s: "ACEDY") == 3
func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```

func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```swift
// Write a function vowels_count which takes a string representing
// a word as input and returns the number of vowels in the string.
// Vowels in this case are 'a', 'e', 'i', 'o', 'u'. Here, 'y' is also a
// vowel, but only when it is at the end of the given word.
// Example:
// vowelsCount(s: "abcde") == 2
// vowelsCount(s: "ACEDY") == 3
func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```

func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```swift
// Write a function vowels_count which takes a string representing
// a word as input and returns the number of vowels in the string.
// Vowels in this case are 'a', 'e', 'i', 'o', 'u'. Here, 'y' is also a
// vowel, but only when it is at the end of the given word.
// Example:
// vowelsCount(s: "abcde") == 2
// vowelsCount(s: "ACEDY") == 3
func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```

func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```swift
// Write a function vowels_count which takes a string representing
// a word as input and returns the number of vowels in the string.
// Vowels in this case are 'a', 'e', 'i', 'o', 'u'. Here, 'y' is also a
// vowel, but only when it is at the end of the given word.
// Example:
// vowelsCount(s: "abcde") == 2
// vowelsCount(s: "ACEDY") == 3
func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```

func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```swift
// Write a function vowels_count which takes a string representing
// a word as input and returns the number of vowels in the string.
// Vowels in this case are 'a', 'e', 'i', 'o', 'u'. Here, 'y' is also a
// vowel, but only when it is at the end of the given word.
// Example:
// vowelsCount(s: "abcde") == 2
// vowelsCount(s: "ACEDY") == 3
func vowelsCount(s: String) -> Int {
    let vowels = "aeiou"
    var count = 0
    for char in s.lowercased() {
        if vowels.contains(char) {
            count += 1
        }
    }
    if s.lowercased().hasSuffix("y") {
        count += 1
    }
    return count
}
```

func vowelsCount(s: String) -> Int {
    let vowels = Set("aeiouAEIOU")
    let endVowel = Set("yY")
    let characters = Array(s.lowercased())
    var count = 0
    for i in 0..<characters.count {
        if vowels.contains(characters[i]) {
            count += 1
        }
        if i == characters.count - 1 && endVowel.contains(characters[i]) {
            count += 1
        }
    }
    return count
}
```swift
// Write a function vowels_count which takes a string representing
// a word as input and returns the number of vowels in the string.
// Vowels in this case are 'a', 'e', 'i', 'o', 'u'. Here, 'y' is also a
// vowel, but only when it is at the end of the given word.
// Example:
// vowelsCount(s: "abcde") == 2
// vowelsCount(s: "ACEDY") == 3
func vowelsCount(s: String) -> Int {
    let vowels = Set("aeiouAEIOU")
    let endVowel = Set("yY")
    let characters = Array(s.lowercased())
    var count = 0
    for i in 0..<characters.count {
        if vowels.contains(characters[i]) {
            count += 1
        }
        if i == characters.count - 1 && endVowel.contains(characters[i]) {
            count += 1
        }
    }
    return count
}

// Test cases
print(vowelsCount(s: "abcde")) // 2
print(vowelsCount(s: "ACEDY")) // 3
print(vowelsCount(s: "rhythm")) // 1
print(vowelsCount(s: "AEIOU")) // 5
print(vowelsCount(s: "y")) // 1
```

func circularShift(x: Int, shift: Int) -> String {
    var str = String(x)
    let len = str.count
    var shift = shift % len
    if shift == 0 {
        return str.reversed()
    }
    let index = str.index(str.startIndex, offsetBy: shift)
    str = String(str[index...]) + String(str[str.startIndex..<index])
    return str
}
```swift
// Circular shift the digits of the integer x, shift the digits right by shift
// and return the result as a string.
// If shift > number of digits, return digits reversed.
// circularShift(x: 12, shift: 1) == "21"
// circularShift(x: 12, shift: 2) == "12"
func circularShift(x: Int, shift: Int) -> String {
    var str = String(x)
    let len = str.count
    var shift = shift % len
    if shift == 0 {
        return str.reversed()
    }
    let index = str.index(str.startIndex, offsetBy: shift)
    str = String(str[index...]) + String(str[str.startIndex..<index])
    return str
}
```

return str.reversed() // no 'reversed' candidates produce the expected contextual result type 'String'

func circularShift(x: Int, shift: Int) -> String {
    let digits = String(x)
    let shift = shift % digits.count
    if shift == 0 {
        return digits
    }
    let index = digits.index(digits.startIndex, offsetBy: shift)
    let shifted = String(digits[index...]) + String(digits[digits.startIndex..<index])
    return String(shifted.reversed())
}
```swift
// Circular shift the digits of the integer x, shift the digits right by shift
// and return the result as a string.
// If shift > number of digits, return digits reversed.
// circularShift(x: 12, shift: 1) == "21"
// circularShift(x: 12, shift: 2) == "12"
func circularShift(x: Int, shift: Int) -> String {
    let digits = String(x)
    let shift = shift % digits.count
    if shift == 0 {
        return digits
    }
    let index = digits.index(digits.startIndex, offsetBy: shift)
    let shifted = String(digits[index...]) + String(digits[digits.startIndex..<index])
    return String(shifted.reversed())
}
```

 // XCTAssertTrue failed

func circularShift(x: Int, shift: Int) -> String {
    var digits = String(x)
    let count = digits.count
    if shift >= count {
        return String(digits.reversed())
    }
    let shift = shift % count
    let index = digits.index(digits.startIndex, offsetBy: shift)
    return String(digits[index...]) + String(digits[digits.startIndex..<index])
}

func check() {
    assert(circularShift(x: 12, shift: 1) == "21")
    assert(circularShift(x: 12, shift: 2) == "12")
    assert(circularShift(x: 123, shift: 1) == "312")
    assert(circularShift(x: 123, shift: 2) == "231")
    assert(circularShift(x: 123, shift: 3) == "123")
    assert(circularShift(x: 123, shift: 4) == "321")
    print("All tests passed!")
}
```swift
// Circular shift the digits of the integer x, shift the digits right by shift
// and return the result as a string.
// If shift > number of digits, return digits reversed.
// circularShift(x: 12, shift: 1) == "21"
// circularShift(x: 12, shift: 2) == "12"
func circularShift(x: Int, shift: Int) -> String {
    var digits = String(x)
    let count = digits.count
    if shift >= count {
        return String(digits.reversed())
    }
    let shift = shift % count
    let index = digits.index(digits.startIndex, offsetBy: shift)
    return String(digits[index...]) + String(digits[digits.startIndex..<index])
}

// Check function to verify the correctness of the circularShift function.
func check() {
    assert(circularShift(x: 12, shift: 1) == "21")
    assert(circularShift(x: 12, shift: 2) == "12")
    assert(circularShift(x: 123, shift: 1) == "312")
    assert(circularShift(x: 123, shift: 2) == "231")
    assert(circularShift(x: 123, shift: 3) == "123")
    assert(circularShift(x: 123, shift: 4) == "321")
    print("All tests passed!")
}

check()
```

var digits = String(x) // variable 'digits' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func circularShift(x: Int, shift: Int) -> String {
    var digits = String(x)
    let count = digits.count
    if shift >= count {
        return String(digits.reversed())
    }
    let shift = shift % count
    let index = digits.index(digits.startIndex, offsetBy: shift)
    return String(digits[index...]) + String(digits[digits.startIndex..<index])
}
```swift
// Circular shift the digits of the integer x, shift the digits right by shift
// and return the result as a string.
// If shift > number of digits, return digits reversed.
// circularShift(x: 12, shift: 1) == "21"
// circularShift(x: 12, shift: 2) == "12"
func circularShift(x: Int, shift: Int) -> String {
    var digits = String(x)
    let count = digits.count
    if shift >= count {
        return String(digits.reversed())
    }
    let shift = shift % count
    let index = digits.index(digits.startIndex, offsetBy: shift)
    return String(digits[index...]) + String(digits[digits.startIndex..<index])
}
```

var digits = String(x) // variable 'digits' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func circularShift(x: Int, shift: Int) -> String {
    var str = String(x)
    let len = str.count
    if shift >= len {
        return String(str.reversed())
    }
    let shift = shift % len
    let index = str.index(str.startIndex, offsetBy: shift)
    str = String(str[index...]) + String(str[str.startIndex..<index])
    return str
}
```swift
// Circular shift the digits of the integer x, shift the digits right by shift
// and return the result as a string.
// If shift > number of digits, return digits reversed.
// circularShift(x: 12, shift: 1) == "21"
// circularShift(x: 12, shift: 2) == "12"
func circularShift(x: Int, shift: Int) -> String {
    var str = String(x)
    let len = str.count
    if shift >= len {
        return String(str.reversed())
    }
    let shift = shift % len
    let index = str.index(str.startIndex, offsetBy: shift)
    str = String(str[index...]) + String(str[str.startIndex..<index])
    return str
}
```

 // XCTAssertTrue failed

func circularShift(x: Int, shift: Int) -> String {
    var digits = String(x)
    let count = digits.count
    if shift >= count {
        return String(digits.reversed())
    }
    let shift = shift % count
    let index = digits.index(digits.startIndex, offsetBy: shift)
    return String(digits[index...]) + String(digits[digits.startIndex..<index])
}
```swift
// Circular shift the digits of the integer x, shift the digits right by shift
// and return the result as a string.
// If shift > number of digits, return digits reversed.
// circularShift(x: 12, shift: 1) == "21"
// circularShift(x: 12, shift: 2) == "12"
func circularShift(x: Int, shift: Int) -> String {
    var digits = String(x)
    let count = digits.count
    if shift >= count {
        return String(digits.reversed())
    }
    let shift = shift % count
    let index = digits.index(digits.startIndex, offsetBy: shift)
    return String(digits[index...]) + String(digits[digits.startIndex..<index])
}
```

var digits = String(x) // variable 'digits' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func circularShift(x: Int, shift: Int) -> String {
    let digits = String(x)
    let shift = shift % digits.count
    if shift == 0 {
        return digits
    }
    let index = digits.index(digits.startIndex, offsetBy: shift)
    let shifted = String(digits[index...]) + String(digits[digits.startIndex..<index])
    return shifted
}

func check() {
    assert(circularShift(x: 12, shift: 1) == "21")
    assert(circularShift(x: 12, shift: 2) == "12")
    assert(circularShift(x: 12345, shift: 4) == "54321")
    assert(circularShift(x: 12345, shift: 5) == "12345")
    assert(circularShift(x: 12345, shift: 6) == "54321")
    print("All tests passed!")
}
```swift
// Circular shift the digits of the integer x, shift the digits right by shift
// and return the result as a string.
// If shift > number of digits, return digits reversed.
// circularShift(x: 12, shift: 1) == "21"
// circularShift(x: 12, shift: 2) == "12"
func circularShift(x: Int, shift: Int) -> String {
    let digits = String(x)
    let shift = shift % digits.count
    if shift == 0 {
        return digits
    }
    let index = digits.index(digits.startIndex, offsetBy: shift)
    let shifted = String(digits[index...]) + String(digits[digits.startIndex..<index])
    return shifted
}

// Check function to verify the correctness of the circularShift function
func check() {
    assert(circularShift(x: 12, shift: 1) == "21")
    assert(circularShift(x: 12, shift: 2) == "12")
    assert(circularShift(x: 12345, shift: 4) == "54321")
    assert(circularShift(x: 12345, shift: 5) == "12345")
    assert(circularShift(x: 12345, shift: 6) == "54321")
    print("All tests passed!")
}

check()
```

 // XCTAssertTrue failed

func circularShift(x: Int, shift: Int) -> String {
    var str = String(x)
    let len = str.count
    if shift >= len {
        return String(str.reversed())
    }
    let shift = shift % len
    let index = str.index(str.startIndex, offsetBy: shift)
    return String(str[index...]) + String(str[str.startIndex..<index])
}
```swift
// Circular shift the digits of the integer x, shift the digits right by shift
// and return the result as a string.
// If shift > number of digits, return digits reversed.
// circularShift(x: 12, shift: 1) == "21"
// circularShift(x: 12, shift: 2) == "12"
func circularShift(x: Int, shift: Int) -> String {
    var str = String(x)
    let len = str.count
    if shift >= len {
        return String(str.reversed())
    }
    let shift = shift % len
    let index = str.index(str.startIndex, offsetBy: shift)
    return String(str[index...]) + String(str[str.startIndex..<index])
}
```

var str = String(x) // variable 'str' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func circularShift(x: Int, shift: Int) -> String {
    var digits = String(x)
    let count = digits.count
    if shift >= count {
        return String(digits.reversed())
    }
    let shift = shift % count
    let index = digits.index(digits.startIndex, offsetBy: shift)
    return String(digits[index...]) + String(digits[digits.startIndex..<index])
}
```swift
// Circular shift the digits of the integer x, shift the digits right by shift
// and return the result as a string.
// If shift > number of digits, return digits reversed.
// circularShift(x: 12, shift: 1) == "21"
// circularShift(x: 12, shift: 2) == "12"
func circularShift(x: Int, shift: Int) -> String {
    var digits = String(x)
    let count = digits.count
    if shift >= count {
        return String(digits.reversed())
    }
    let shift = shift % count
    let index = digits.index(digits.startIndex, offsetBy: shift)
    return String(digits[index...]) + String(digits[digits.startIndex..<index])
}
```

var digits = String(x) // variable 'digits' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func circularShift(x: Int, shift: Int) -> String {
    var str = String(x)
    let len = str.count
    if shift >= len {
        return String(str.reversed())
    }
    let shift = shift % len
    let index = str.index(str.startIndex, offsetBy: shift)
    let firstPart = String(str[str.startIndex..<index])
    let secondPart = String(str[index..<str.endIndex])
    return secondPart + firstPart
}

func check() {
    assert(circularShift(x: 12, shift: 1) == "21")
    assert(circularShift(x: 12, shift: 2) == "12")
    assert(circularShift(x: 123, shift: 1) == "312")
    assert(circularShift(x: 123, shift: 2) == "231")
    assert(circularShift(x: 123, shift: 3) == "123")
    assert(circularShift(x: 123, shift: 4) == "321")
    print("All tests passed!")
}
```swift
// Circular shift the digits of the integer x, shift the digits right by shift
// and return the result as a string.
// If shift > number of digits, return digits reversed.
// circularShift(x: 12, shift: 1) == "21"
// circularShift(x: 12, shift: 2) == "12"
func circularShift(x: Int, shift: Int) -> String {
    var str = String(x)
    let len = str.count
    if shift >= len {
        return String(str.reversed())
    }
    let shift = shift % len
    let index = str.index(str.startIndex, offsetBy: shift)
    let firstPart = String(str[str.startIndex..<index])
    let secondPart = String(str[index..<str.endIndex])
    return secondPart + firstPart
}

// Check function to verify the correctness of the circularShift function
func check() {
    assert(circularShift(x: 12, shift: 1) == "21")
    assert(circularShift(x: 12, shift: 2) == "12")
    assert(circularShift(x: 123, shift: 1) == "312")
    assert(circularShift(x: 123, shift: 2) == "231")
    assert(circularShift(x: 123, shift: 3) == "123")
    assert(circularShift(x: 123, shift: 4) == "321")
    print("All tests passed!")
}

check()
```

var str = String(x) // variable 'str' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue!)
        }
    }
    return sum
}
```swift
// Task
// Write a function that takes a string as input and returns the sum of the upper characters only'
// ASCII codes.
// Examples:
// digitSum(s: "") == 0
// digitSum(s: "abAB") == 131
// digitSum(s: "abcCd") == 67
// digitSum(s: "helloE") == 69
// digitSum(s: "woArBld") == 131
// digitSum(s: "aAaaaXa") == 153
func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue!)
        }
    }
    return sum
}
```

func digitSum(s: String) -> Int {
    return s.reduce(0) { $0 + ($1.isUppercase ? Int($1.asciiValue!) : 0) }
}
```swift
// Task
// Write a function that takes a string as input and returns the sum of the upper characters only'
// ASCII codes.
// Examples:
// digitSum(s: "") == 0
// digitSum(s: "abAB") == 131
// digitSum(s: "abcCd") == 67
// digitSum(s: "helloE") == 69
// digitSum(s: "woArBld") == 131
// digitSum(s: "aAaaaXa") == 153
func digitSum(s: String) -> Int {
    return s.reduce(0) { $0 + ($1.isUppercase ? Int($1.asciiValue!) : 0) }
}
```

func digitSum(s: String) -> Int {
    return s.unicodeScalars.reduce(0) { $0 + ($1.isUppercase ? Int($1.value) : 0) }
}
```swift
// Task
// Write a function that takes a string as input and returns the sum of the upper characters only'
// ASCII codes.
// Examples:
// digitSum(s: "") == 0
// digitSum(s: "abAB") == 131
// digitSum(s: "abcCd") == 67
// digitSum(s: "helloE") == 69
// digitSum(s: "woArBld") == 131
// digitSum(s: "aAaaaXa") == 153
func digitSum(s: String) -> Int {
    return s.unicodeScalars.reduce(0) { $0 + ($1.isUppercase ? Int($1.value) : 0) }
}
```

return s.unicodeScalars.reduce(0) { $0 + ($1.isUppercase ? Int($1.value) : 0) } // value of type 'String.UnicodeScalarView.Element' (aka 'Unicode.Scalar') has no member 'isUppercase'

func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue!)
        }
    }
    return sum
}
```swift
// Task
// Write a function that takes a string as input and returns the sum of the upper characters only'
// ASCII codes.
// Examples:
// digitSum(s: "") == 0
// digitSum(s: "abAB") == 131
// digitSum(s: "abcCd") == 67
// digitSum(s: "helloE") == 69
// digitSum(s: "woArBld") == 131
// digitSum(s: "aAaaaXa") == 153
func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue!)
        }
    }
    return sum
}
```

func digitSum(s: String) -> Int {
    return s.reduce(0) { $0 + ($1.isUppercase ? Int($1.asciiValue!) : 0) }
}
```swift
// Task
// Write a function that takes a string as input and returns the sum of the upper characters only'
// ASCII codes.
// Examples:
// digitSum(s: "") == 0
// digitSum(s: "abAB") == 131
// digitSum(s: "abcCd") == 67
// digitSum(s: "helloE") == 69
// digitSum(s: "woArBld") == 131
// digitSum(s: "aAaaaXa") == 153
func digitSum(s: String) -> Int {
    return s.reduce(0) { $0 + ($1.isUppercase ? Int($1.asciiValue!) : 0) }
}
```

func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue ?? 0)
        }
    }
    return sum
}
```swift
// Task
// Write a function that takes a string as input and returns the sum of the upper characters only'
// ASCII codes.
// Examples:
// digitSum(s: "") == 0
// digitSum(s: "abAB") == 131
// digitSum(s: "abcCd") == 67
// digitSum(s: "helloE") == 69
// digitSum(s: "woArBld") == 131
// digitSum(s: "aAaaaXa") == 153
func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue ?? 0)
        }
    }
    return sum
}
```

func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue!)
        }
    }
    return sum
}
```swift
// Task
// Write a function that takes a string as input and returns the sum of the upper characters only'
// ASCII codes.
// Examples:
// digitSum(s: "") == 0
// digitSum(s: "abAB") == 131
// digitSum(s: "abcCd") == 67
// digitSum(s: "helloE") == 69
// digitSum(s: "woArBld") == 131
// digitSum(s: "aAaaaXa") == 153
func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue!)
        }
    }
    return sum
}
```

func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue ?? 0)
        }
    }
    return sum
}
```swift
// Task
// Write a function that takes a string as input and returns the sum of the upper characters only'
// ASCII codes.
// Examples:
// digitSum(s: "") == 0
// digitSum(s: "abAB") == 131
// digitSum(s: "abcCd") == 67
// digitSum(s: "helloE") == 69
// digitSum(s: "woArBld") == 131
// digitSum(s: "aAaaaXa") == 153
func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue ?? 0)
        }
    }
    return sum
}
```

func digitSum(s: String) -> Int {
    return s.reduce(0) { $0 + ($1.isUppercase ? Int($1.asciiValue!) : 0) }
}
```swift
// Task
// Write a function that takes a string as input and returns the sum of the upper characters only'
// ASCII codes.
// Examples:
// digitSum(s: "") == 0
// digitSum(s: "abAB") == 131
// digitSum(s: "abcCd") == 67
// digitSum(s: "helloE") == 69
// digitSum(s: "woArBld") == 131
// digitSum(s: "aAaaaXa") == 153
func digitSum(s: String) -> Int {
    return s.reduce(0) { $0 + ($1.isUppercase ? Int($1.asciiValue!) : 0) }
}
```

func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue!)
        }
    }
    return sum
}
```swift
// Task
// Write a function that takes a string as input and returns the sum of the upper characters only'
// ASCII codes.
// Examples:
// digitSum(s: "") == 0
// digitSum(s: "abAB") == 131
// digitSum(s: "abcCd") == 67
// digitSum(s: "helloE") == 69
// digitSum(s: "woArBld") == 131
// digitSum(s: "aAaaaXa") == 153
func digitSum(s: String) -> Int {
    var sum = 0
    for char in s {
        if char.isUppercase {
            sum += Int(char.asciiValue!)
        }
    }
    return sum
}
```

func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let totalFruits = apples + oranges + n
    return totalFruits - (apples + oranges)
}
```swift
// In this task, you will be given a string that represents a number of apples and oranges 
// that are distributed in a basket of fruit this basket contains 
// apples, oranges, and mango fruits. Given the string that represents the total number of 
// the oranges and apples and an integer that represent the total number of the fruits 
// in the basket return the number of the mango fruits in the basket.
// for examble:
// fruitDistribution(s: "5 apples and 6 oranges", n: 19) == 8
// fruitDistribution(s: "0 apples and 1 oranges", n: 3) == 2
// fruitDistribution(s: "2 apples and 3 oranges", n: 100) == 95
// fruitDistribution(s: "100 apples and 1 oranges", n: 120) == 19
func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let totalFruits = apples + oranges + n
    return totalFruits - (apples + oranges)
}
```

 // XCTAssertTrue failed

func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let mangoes = n - (apples + oranges)
    return mangoes
}
```swift
// In this task, you will be given a string that represents a number of apples and oranges 
// that are distributed in a basket of fruit this basket contains 
// apples, oranges, and mango fruits. Given the string that represents the total number of 
// the oranges and apples and an integer that represent the total number of the fruits 
// in the basket return the number of the mango fruits in the basket.
// for examble:
// fruitDistribution(s: "5 apples and 6 oranges", n: 19) == 8
// fruitDistribution(s: "0 apples and 1 oranges", n: 3) == 2
// fruitDistribution(s: "2 apples and 3 oranges", n: 100) == 95
// fruitDistribution(s: "100 apples and 1 oranges", n: 120) == 19
func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let mangoes = n - (apples + oranges)
    return mangoes
}
```

func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let mangoes = n - apples - oranges
    return mangoes
}
```swift
// In this task, you will be given a string that represents a number of apples and oranges 
// that are distributed in a basket of fruit this basket contains 
// apples, oranges, and mango fruits. Given the string that represents the total number of 
// the oranges and apples and an integer that represent the total number of the fruits 
// in the basket return the number of the mango fruits in the basket.
// for examble:
// fruitDistribution(s: "5 apples and 6 oranges", n: 19) == 8
// fruitDistribution(s: "0 apples and 1 oranges", n: 3) == 2
// fruitDistribution(s: "2 apples and 3 oranges", n: 100) == 95
// fruitDistribution(s: "100 apples and 1 oranges", n: 120) == 19
func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let mangoes = n - apples - oranges
    return mangoes
}
```

func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    return n - apples - oranges
}
```swift
// In this task, you will be given a string that represents a number of apples and oranges 
// that are distributed in a basket of fruit this basket contains 
// apples, oranges, and mango fruits. Given the string that represents the total number of 
// the oranges and apples and an integer that represent the total number of the fruits 
// in the basket return the number of the mango fruits in the basket.
// for examble:
// fruitDistribution(s: "5 apples and 6 oranges", n: 19) == 8
// fruitDistribution(s: "0 apples and 1 oranges", n: 3) == 2
// fruitDistribution(s: "2 apples and 3 oranges", n: 100) == 95
// fruitDistribution(s: "100 apples and 1 oranges", n: 120) == 19
func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    return n - apples - oranges
}
```

func fruitDistribution(s: String, n: Int) -> Int { 
    let fruitCount = s.components(separatedBy: " ")
    let apples = Int(fruitCount[0]) ?? 0
    let oranges = Int(fruitCount[3]) ?? 0
    let mangoes = n - (apples + oranges)
    return mangoes
}
```swift
// In this task, you will be given a string that represents a number of apples and oranges 
// that are distributed in a basket of fruit this basket contains 
// apples, oranges, and mango fruits. Given the string that represents the total number of 
// the oranges and apples and an integer that represent the total number of the fruits 
// in the basket return the number of the mango fruits in the basket.
// for examble:
// fruitDistribution(s: "5 apples and 6 oranges", n: 19) == 8
// fruitDistribution(s: "0 apples and 1 oranges", n: 3) == 2
// fruitDistribution(s: "2 apples and 3 oranges", n: 100) == 95
// fruitDistribution(s: "100 apples and 1 oranges", n: 120) == 19
func fruitDistribution(s: String, n: Int) -> Int { 
    let fruitCount = s.components(separatedBy: " ")
    let apples = Int(fruitCount[0]) ?? 0
    let oranges = Int(fruitCount[3]) ?? 0
    let mangoes = n - (apples + oranges)
    return mangoes
}
```

func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let mangoes = n - apples - oranges
    return mangoes
}
```swift
// In this task, you will be given a string that represents a number of apples and oranges 
// that are distributed in a basket of fruit this basket contains 
// apples, oranges, and mango fruits. Given the string that represents the total number of 
// the oranges and apples and an integer that represent the total number of the fruits 
// in the basket return the number of the mango fruits in the basket.
// for examble:
// fruitDistribution(s: "5 apples and 6 oranges", n: 19) == 8
// fruitDistribution(s: "0 apples and 1 oranges", n: 3) == 2
// fruitDistribution(s: "2 apples and 3 oranges", n: 100) == 95
// fruitDistribution(s: "100 apples and 1 oranges", n: 120) == 19
func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let mangoes = n - apples - oranges
    return mangoes
}
```

func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let totalFruits = apples + oranges + n
    return totalFruits - apples - oranges
}
```swift
// In this task, you will be given a string that represents a number of apples and oranges 
// that are distributed in a basket of fruit this basket contains 
// apples, oranges, and mango fruits. Given the string that represents the total number of 
// the oranges and apples and an integer that represent the total number of the fruits 
// in the basket return the number of the mango fruits in the basket.
// for examble:
// fruitDistribution(s: "5 apples and 6 oranges", n: 19) == 8
// fruitDistribution(s: "0 apples and 1 oranges", n: 3) == 2
// fruitDistribution(s: "2 apples and 3 oranges", n: 100) == 95
// fruitDistribution(s: "100 apples and 1 oranges", n: 120) == 19
func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let totalFruits = apples + oranges + n
    return totalFruits - apples - oranges
}
```

 // XCTAssertTrue failed

func fruitDistribution(s: String, n: Int) -> Int { 
    let fruitCount = s.components(separatedBy: " ")
    let apples = Int(fruitCount[0]) ?? 0
    let oranges = Int(fruitCount[3]) ?? 0
    let mangoes = n - (apples + oranges)
    return mangoes
}
```swift
// In this task, you will be given a string that represents a number of apples and oranges 
// that are distributed in a basket of fruit this basket contains 
// apples, oranges, and mango fruits. Given the string that represents the total number of 
// the oranges and apples and an integer that represent the total number of the fruits 
// in the basket return the number of the mango fruits in the basket.
// for examble:
// fruitDistribution(s: "5 apples and 6 oranges", n: 19) == 8
// fruitDistribution(s: "0 apples and 1 oranges", n: 3) == 2
// fruitDistribution(s: "2 apples and 3 oranges", n: 100) == 95
// fruitDistribution(s: "100 apples and 1 oranges", n: 120) == 19
func fruitDistribution(s: String, n: Int) -> Int { 
    let fruitCount = s.components(separatedBy: " ")
    let apples = Int(fruitCount[0]) ?? 0
    let oranges = Int(fruitCount[3]) ?? 0
    let mangoes = n - (apples + oranges)
    return mangoes
}
```

func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let totalFruits = apples + oranges
    let mangoes = n - totalFruits
    return mangoes
}
```swift
// In this task, you will be given a string that represents a number of apples and oranges 
// that are distributed in a basket of fruit this basket contains 
// apples, oranges, and mango fruits. Given the string that represents the total number of 
// the oranges and apples and an integer that represent the total number of the fruits 
// in the basket return the number of the mango fruits in the basket.
// for examble:
// fruitDistribution(s: "5 apples and 6 oranges", n: 19) == 8
// fruitDistribution(s: "0 apples and 1 oranges", n: 3) == 2
// fruitDistribution(s: "2 apples and 3 oranges", n: 100) == 95
// fruitDistribution(s: "100 apples and 1 oranges", n: 120) == 19
func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let totalFruits = apples + oranges
    let mangoes = n - totalFruits
    return mangoes
}
```

func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let total = apples + oranges
    let mangoes = n - total
    return mangoes
}
```swift
// In this task, you will be given a string that represents a number of apples and oranges 
// that are distributed in a basket of fruit this basket contains 
// apples, oranges, and mango fruits. Given the string that represents the total number of 
// the oranges and apples and an integer that represent the total number of the fruits 
// in the basket return the number of the mango fruits in the basket.
// for examble:
// fruitDistribution(s: "5 apples and 6 oranges", n: 19) == 8
// fruitDistribution(s: "0 apples and 1 oranges", n: 3) == 2
// fruitDistribution(s: "2 apples and 3 oranges", n: 100) == 95
// fruitDistribution(s: "100 apples and 1 oranges", n: 120) == 19
func fruitDistribution(s: String, n: Int) -> Int { 
    let fruits = s.components(separatedBy: " ")
    let apples = Int(fruits[0]) ?? 0
    let oranges = Int(fruits[3]) ?? 0
    let total = apples + oranges
    let mangoes = n - total
    return mangoes
}
```

func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```swift
// "Given an array representing a branch of a tree that has non-negative integer nodes
// your task is to pluck one of the nodes and return it.
// The plucked node should be the node with the smallest even value.
// If multiple nodes with the same smallest even value are found return the node that has smallest index.
// The plucked node should be returned in an array, [ smalest_value, its index ],
// If there are no even values or the given array is empty, return [].
// Example 1:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 2:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 3:
// Example 4:
// Explanation: 0 is the smallest value, but  there are two zeros,
// so we will choose the first zero, which has the smallest index.
// Constraints:
// * 1 <= nodes.length <= 10000
// * 0 <= node.value
// pluck(arr: [4, 2, 3]) == [2, 1]
// pluck(arr: [1, 2, 3]) == [2, 1]
// pluck(arr: [] as [Int]) == [] as [Int]
// pluck(arr: [5, 0, 3, 0, 4, 2]) == [0, 1]
func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```

func pluck(arr: [Int]) -> [Int] {
    guard !arr.isEmpty else { return [] }
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex != -1 ? [smallestEvenValue, smallestEvenIndex] : []
}
```swift
// "Given an array representing a branch of a tree that has non-negative integer nodes
// your task is to pluck one of the nodes and return it.
// The plucked node should be the node with the smallest even value.
// If multiple nodes with the same smallest even value are found return the node that has smallest index.
// The plucked node should be returned in an array, [ smalest_value, its index ],
// If there are no even values or the given array is empty, return [].
// Example 1:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 2:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 3:
// Example 4:
// Explanation: 0 is the smallest value, but  there are two zeros,
// so we will choose the first zero, which has the smallest index.
// Constraints:
// * 1 <= nodes.length <= 10000
// * 0 <= node.value
// pluck(arr: [4, 2, 3]) == [2, 1]
// pluck(arr: [1, 2, 3]) == [2, 1]
// pluck(arr: [] as [Int]) == [] as [Int]
// pluck(arr: [5, 0, 3, 0, 4, 2]) == [0, 1]
func pluck(arr: [Int]) -> [Int] {
    guard !arr.isEmpty else { return [] }
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex != -1 ? [smallestEvenValue, smallestEvenIndex] : []
}
```

func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```swift
// "Given an array representing a branch of a tree that has non-negative integer nodes
// your task is to pluck one of the nodes and return it.
// The plucked node should be the node with the smallest even value.
// If multiple nodes with the same smallest even value are found return the node that has smallest index.
// The plucked node should be returned in an array, [ smalest_value, its index ],
// If there are no even values or the given array is empty, return [].
// Example 1:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 2:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 3:
// Example 4:
// Explanation: 0 is the smallest value, but  there are two zeros,
// so we will choose the first zero, which has the smallest index.
// Constraints:
// * 1 <= nodes.length <= 10000
// * 0 <= node.value
// pluck(arr: [4, 2, 3]) == [2, 1]
// pluck(arr: [1, 2, 3]) == [2, 1]
// pluck(arr: [] as [Int]) == [] as [Int]
// pluck(arr: [5, 0, 3, 0, 4, 2]) == [0, 1]
func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```

func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```swift
// "Given an array representing a branch of a tree that has non-negative integer nodes
// your task is to pluck one of the nodes and return it.
// The plucked node should be the node with the smallest even value.
// If multiple nodes with the same smallest even value are found return the node that has smallest index.
// The plucked node should be returned in an array, [ smalest_value, its index ],
// If there are no even values or the given array is empty, return [].
// Example 1:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 2:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 3:
// Example 4:
// Explanation: 0 is the smallest value, but  there are two zeros,
// so we will choose the first zero, which has the smallest index.
// Constraints:
// * 1 <= nodes.length <= 10000
// * 0 <= node.value
// pluck(arr: [4, 2, 3]) == [2, 1]
// pluck(arr: [1, 2, 3]) == [2, 1]
// pluck(arr: [] as [Int]) == [] as [Int]
// pluck(arr: [5, 0, 3, 0, 4, 2]) == [0, 1]
func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```

func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```swift
// "Given an array representing a branch of a tree that has non-negative integer nodes
// your task is to pluck one of the nodes and return it.
// The plucked node should be the node with the smallest even value.
// If multiple nodes with the same smallest even value are found return the node that has smallest index.
// The plucked node should be returned in an array, [ smalest_value, its index ],
// If there are no even values or the given array is empty, return [].
// Example 1:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 2:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 3:
// Example 4:
// Explanation: 0 is the smallest value, but  there are two zeros,
// so we will choose the first zero, which has the smallest index.
// Constraints:
// * 1 <= nodes.length <= 10000
// * 0 <= node.value
// pluck(arr: [4, 2, 3]) == [2, 1]
// pluck(arr: [1, 2, 3]) == [2, 1]
// pluck(arr: [] as [Int]) == [] as [Int]
// pluck(arr: [5, 0, 3, 0, 4, 2]) == [0, 1]
func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```

func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```swift
// "Given an array representing a branch of a tree that has non-negative integer nodes
// your task is to pluck one of the nodes and return it.
// The plucked node should be the node with the smallest even value.
// If multiple nodes with the same smallest even value are found return the node that has smallest index.
// The plucked node should be returned in an array, [ smalest_value, its index ],
// If there are no even values or the given array is empty, return [].
// Example 1:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 2:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 3:
// Example 4:
// Explanation: 0 is the smallest value, but  there are two zeros,
// so we will choose the first zero, which has the smallest index.
// Constraints:
// * 1 <= nodes.length <= 10000
// * 0 <= node.value
// pluck(arr: [4, 2, 3]) == [2, 1]
// pluck(arr: [1, 2, 3]) == [2, 1]
// pluck(arr: [] as [Int]) == [] as [Int]
// pluck(arr: [5, 0, 3, 0, 4, 2]) == [0, 1]
func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```

func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```swift
// "Given an array representing a branch of a tree that has non-negative integer nodes
// your task is to pluck one of the nodes and return it.
// The plucked node should be the node with the smallest even value.
// If multiple nodes with the same smallest even value are found return the node that has smallest index.
// The plucked node should be returned in an array, [ smalest_value, its index ],
// If there are no even values or the given array is empty, return [].
// Example 1:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 2:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 3:
// Example 4:
// Explanation: 0 is the smallest value, but  there are two zeros,
// so we will choose the first zero, which has the smallest index.
// Constraints:
// * 1 <= nodes.length <= 10000
// * 0 <= node.value
// pluck(arr: [4, 2, 3]) == [2, 1]
// pluck(arr: [1, 2, 3]) == [2, 1]
// pluck(arr: [] as [Int]) == [] as [Int]
// pluck(arr: [5, 0, 3, 0, 4, 2]) == [0, 1]
func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```

func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```swift
// "Given an array representing a branch of a tree that has non-negative integer nodes
// your task is to pluck one of the nodes and return it.
// The plucked node should be the node with the smallest even value.
// If multiple nodes with the same smallest even value are found return the node that has smallest index.
// The plucked node should be returned in an array, [ smalest_value, its index ],
// If there are no even values or the given array is empty, return [].
// Example 1:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 2:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 3:
// Example 4:
// Explanation: 0 is the smallest value, but  there are two zeros,
// so we will choose the first zero, which has the smallest index.
// Constraints:
// * 1 <= nodes.length <= 10000
// * 0 <= node.value
// pluck(arr: [4, 2, 3]) == [2, 1]
// pluck(arr: [1, 2, 3]) == [2, 1]
// pluck(arr: [] as [Int]) == [] as [Int]
// pluck(arr: [5, 0, 3, 0, 4, 2]) == [0, 1]
func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```

func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```swift
// "Given an array representing a branch of a tree that has non-negative integer nodes
// your task is to pluck one of the nodes and return it.
// The plucked node should be the node with the smallest even value.
// If multiple nodes with the same smallest even value are found return the node that has smallest index.
// The plucked node should be returned in an array, [ smalest_value, its index ],
// If there are no even values or the given array is empty, return [].
// Example 1:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 2:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 3:
// Example 4:
// Explanation: 0 is the smallest value, but  there are two zeros,
// so we will choose the first zero, which has the smallest index.
// Constraints:
// * 1 <= nodes.length <= 10000
// * 0 <= node.value
// pluck(arr: [4, 2, 3]) == [2, 1]
// pluck(arr: [1, 2, 3]) == [2, 1]
// pluck(arr: [] as [Int]) == [] as [Int]
// pluck(arr: [5, 0, 3, 0, 4, 2]) == [0, 1]
func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```

func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```swift
// "Given an array representing a branch of a tree that has non-negative integer nodes
// your task is to pluck one of the nodes and return it.
// The plucked node should be the node with the smallest even value.
// If multiple nodes with the same smallest even value are found return the node that has smallest index.
// The plucked node should be returned in an array, [ smalest_value, its index ],
// If there are no even values or the given array is empty, return [].
// Example 1:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 2:
// Explanation: 2 has the smallest even value, and 2 has the smallest index.
// Example 3:
// Example 4:
// Explanation: 0 is the smallest value, but  there are two zeros,
// so we will choose the first zero, which has the smallest index.
// Constraints:
// * 1 <= nodes.length <= 10000
// * 0 <= node.value
// pluck(arr: [4, 2, 3]) == [2, 1]
// pluck(arr: [1, 2, 3]) == [2, 1]
// pluck(arr: [] as [Int]) == [] as [Int]
// pluck(arr: [5, 0, 3, 0, 4, 2]) == [0, 1]
func pluck(arr: [Int]) -> [Int] {
    var smallestEvenValue = Int.max
    var smallestEvenIndex = -1
    for (index, value) in arr.enumerated() {
        if value % 2 == 0 && value < smallestEvenValue {
            smallestEvenValue = value
            smallestEvenIndex = index
        }
    }
    return smallestEvenIndex == -1 ? [] : [smallestEvenValue, smallestEvenIndex]
}
```

func search(lst: [Int]) -> Int {
    var freqDict = [Int: Int]()
    for num in lst {
        freqDict[num, default: 0] += 1
    }
    for (num, freq) in freqDict {
        if num <= freq {
            return num
        }
    }
    return -1
}
```swift
// You are given a non-empty array of positive integers. Return the greatest integer that is greater than 
// zero, and has a frequency greater than or equal to the value of the integer itself. 
// The frequency of an integer is the number of times it appears in the array.
// If no such a value exist, return -1.
// Examples:
// search(lst: [4, 1, 2, 2, 3, 1]) == 2
// search(lst: [1, 2, 2, 3, 3, 3, 4, 4, 4]) == 3
// search(lst: [5, 5, 4, 4, 4]) == -1
func search(lst: [Int]) -> Int {
    var freqDict = [Int: Int]()
    for num in lst {
        freqDict[num, default: 0] += 1
    }
    for (num, freq) in freqDict {
        if num <= freq {
            return num
        }
    }
    return -1
}

// Test cases
print(search(lst: [4, 1, 2, 2, 3, 1])) // 2
print(search(lst: [1, 2, 2, 3, 3, 3, 4, 4, 4])) // 3
print(search(lst: [5, 5, 4, 4, 4])) // -1
```

 // XCTAssertTrue failed

func search(lst: [Int]) -> Int {
    var frequencyDict: [Int: Int] = [:]
    for num in lst {
        frequencyDict[num, default: 0] += 1
    }
    for (key, value) in frequencyDict {
        if key <= value {
            return key
        }
    }
    return -1
}
```swift
// You are given a non-empty array of positive integers. Return the greatest integer that is greater than 
// zero, and has a frequency greater than or equal to the value of the integer itself. 
// The frequency of an integer is the number of times it appears in the array.
// If no such a value exist, return -1.
// Examples:
// search(lst: [4, 1, 2, 2, 3, 1]) == 2
// search(lst: [1, 2, 2, 3, 3, 3, 4, 4, 4]) == 3
// search(lst: [5, 5, 4, 4, 4]) == -1
func search(lst: [Int]) -> Int {
    var frequencyDict: [Int: Int] = [:]
    for num in lst {
        frequencyDict[num, default: 0] += 1
    }
    for (key, value) in frequencyDict {
        if key <= value {
            return key
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func search(lst: [Int]) -> Int {
    var frequencyDict = [Int: Int]()
    for num in lst {
        frequencyDict[num, default: 0] += 1
    }
    for (num, frequency) in frequencyDict {
        if frequency >= num {
            return num
        }
    }
    return -1
}
```swift
// You are given a non-empty array of positive integers. Return the greatest integer that is greater than 
// zero, and has a frequency greater than or equal to the value of the integer itself. 
// The frequency of an integer is the number of times it appears in the array.
// If no such a value exist, return -1.
// Examples:
// search(lst: [4, 1, 2, 2, 3, 1]) == 2
// search(lst: [1, 2, 2, 3, 3, 3, 4, 4, 4]) == 3
// search(lst: [5, 5, 4, 4, 4]) == -1
func search(lst: [Int]) -> Int {
    var frequencyDict = [Int: Int]()
    for num in lst {
        frequencyDict[num, default: 0] += 1
    }
    for (num, frequency) in frequencyDict {
        if frequency >= num {
            return num
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func search(lst: [Int]) -> Int {
    var frequencyDict = [Int: Int]()
    for num in lst {
        frequencyDict[num, default: 0] += 1
    }
    for (key, value) in frequencyDict {
        if key <= value {
            return key
        }
    }
    return -1
}
```swift
// You are given a non-empty array of positive integers. Return the greatest integer that is greater than 
// zero, and has a frequency greater than or equal to the value of the integer itself. 
// The frequency of an integer is the number of times it appears in the array.
// If no such a value exist, return -1.
// Examples:
// search(lst: [4, 1, 2, 2, 3, 1]) == 2
// search(lst: [1, 2, 2, 3, 3, 3, 4, 4, 4]) == 3
// search(lst: [5, 5, 4, 4, 4]) == -1
func search(lst: [Int]) -> Int {
    var frequencyDict = [Int: Int]()
    for num in lst {
        frequencyDict[num, default: 0] += 1
    }
    for (key, value) in frequencyDict {
        if key <= value {
            return key
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func search(lst: [Int]) -> Int {
    var freqDict: [Int: Int] = [:]
    for num in lst {
        freqDict[num, default: 0] += 1
    }
    for (num, freq) in freqDict {
        if num <= freq {
            return num
        }
    }
    return -1
}
```swift
// You are given a non-empty array of positive integers. Return the greatest integer that is greater than 
// zero, and has a frequency greater than or equal to the value of the integer itself. 
// The frequency of an integer is the number of times it appears in the array.
// If no such a value exist, return -1.
// Examples:
// search(lst: [4, 1, 2, 2, 3, 1]) == 2
// search(lst: [1, 2, 2, 3, 3, 3, 4, 4, 4]) == 3
// search(lst: [5, 5, 4, 4, 4]) == -1
func search(lst: [Int]) -> Int {
    var freqDict: [Int: Int] = [:]
    for num in lst {
        freqDict[num, default: 0] += 1
    }
    for (num, freq) in freqDict {
        if num <= freq {
            return num
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func search(lst: [Int]) -> Int {
    var freqMap: [Int: Int] = [:]
    for num in lst {
        freqMap[num, default: 0] += 1
    }
    for (num, freq) in freqMap {
        if num <= freq {
            return num
        }
    }
    return -1
}
```swift
// You are given a non-empty array of positive integers. Return the greatest integer that is greater than 
// zero, and has a frequency greater than or equal to the value of the integer itself. 
// The frequency of an integer is the number of times it appears in the array.
// If no such a value exist, return -1.
// Examples:
// search(lst: [4, 1, 2, 2, 3, 1]) == 2
// search(lst: [1, 2, 2, 3, 3, 3, 4, 4, 4]) == 3
// search(lst: [5, 5, 4, 4, 4]) == -1
func search(lst: [Int]) -> Int {
    var freqMap: [Int: Int] = [:]
    for num in lst {
        freqMap[num, default: 0] += 1
    }
    for (num, freq) in freqMap {
        if num <= freq {
            return num
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func search(lst: [Int]) -> Int {
    var freqDict = [Int: Int]()
    for num in lst {
        if let count = freqDict[num] {
            freqDict[num] = count + 1
        } else {
            freqDict[num] = 1
        }
    }
    for (num, freq) in freqDict {
        if num <= freq {
            return num
        }
    }
    return -1
}
```swift
// You are given a non-empty array of positive integers. Return the greatest integer that is greater than 
// zero, and has a frequency greater than or equal to the value of the integer itself. 
// The frequency of an integer is the number of times it appears in the array.
// If no such a value exist, return -1.
// Examples:
// search(lst: [4, 1, 2, 2, 3, 1]) == 2
// search(lst: [1, 2, 2, 3, 3, 3, 4, 4, 4]) == 3
// search(lst: [5, 5, 4, 4, 4]) == -1
func search(lst: [Int]) -> Int {
    var freqDict = [Int: Int]()
    for num in lst {
        if let count = freqDict[num] {
            freqDict[num] = count + 1
        } else {
            freqDict[num] = 1
        }
    }
    for (num, freq) in freqDict {
        if num <= freq {
            return num
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func search(lst: [Int]) -> Int {
    var freqDict = [Int: Int]()
    for num in lst {
        freqDict[num, default: 0] += 1
    }
    for (num, freq) in freqDict {
        if num <= freq {
            return num
        }
    }
    return -1
}
```swift
// You are given a non-empty array of positive integers. Return the greatest integer that is greater than 
// zero, and has a frequency greater than or equal to the value of the integer itself. 
// The frequency of an integer is the number of times it appears in the array.
// If no such a value exist, return -1.
// Examples:
// search(lst: [4, 1, 2, 2, 3, 1]) == 2
// search(lst: [1, 2, 2, 3, 3, 3, 4, 4, 4]) == 3
// search(lst: [5, 5, 4, 4, 4]) == -1
func search(lst: [Int]) -> Int {
    var freqDict = [Int: Int]()
    for num in lst {
        freqDict[num, default: 0] += 1
    }
    for (num, freq) in freqDict {
        if num <= freq {
            return num
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func search(lst: [Int]) -> Int {
    var freqDict = [Int: Int]()
    for num in lst {
        freqDict[num, default: 0] += 1
    }
    for (num, freq) in freqDict {
        if num <= freq {
            return num
        }
    }
    return -1
}
```swift
// You are given a non-empty array of positive integers. Return the greatest integer that is greater than 
// zero, and has a frequency greater than or equal to the value of the integer itself. 
// The frequency of an integer is the number of times it appears in the array.
// If no such a value exist, return -1.
// Examples:
// search(lst: [4, 1, 2, 2, 3, 1]) == 2
// search(lst: [1, 2, 2, 3, 3, 3, 4, 4, 4]) == 3
// search(lst: [5, 5, 4, 4, 4]) == -1
func search(lst: [Int]) -> Int {
    var freqDict = [Int: Int]()
    for num in lst {
        freqDict[num, default: 0] += 1
    }
    for (num, freq) in freqDict {
        if num <= freq {
            return num
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func search(lst: [Int]) -> Int {
    var frequencyDict = [Int: Int]()
    for num in lst {
        frequencyDict[num, default: 0] += 1
    }
    for (num, frequency) in frequencyDict {
        if num <= frequency {
            return num
        }
    }
    return -1
}
```swift
// You are given a non-empty array of positive integers. Return the greatest integer that is greater than 
// zero, and has a frequency greater than or equal to the value of the integer itself. 
// The frequency of an integer is the number of times it appears in the array.
// If no such a value exist, return -1.
// Examples:
// search(lst: [4, 1, 2, 2, 3, 1]) == 2
// search(lst: [1, 2, 2, 3, 3, 3, 4, 4, 4]) == 3
// search(lst: [5, 5, 4, 4, 4]) == -1
func search(lst: [Int]) -> Int {
    var frequencyDict = [Int: Int]()
    for num in lst {
        frequencyDict[num, default: 0] += 1
    }
    for (num, frequency) in frequencyDict {
        if num <= frequency {
            return num
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        if let min = sortedList.min() {
            result.append(min)
            sortedList.removeAll(where: { $0 == min })
        }
        if let max = sortedList.max() {
            result.append(max)
            sortedList.removeAll(where: { $0 == max })
        }
    }
    return result
}
```swift
// Given array of integers, return array in strange order.
// Strange sorting, is when you start with the minimum value,
// then maximum of the remaining integers, then minimum and so on.
// Examples:
// strangeSortList(lst: [1, 2, 3, 4]) == [1, 4, 2, 3]
// strangeSortList(lst: [5, 5, 5, 5]) == [5, 5, 5, 5]
// strangeSortList(lst: [] as [Int]) == [] as [Int]
func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        if let min = sortedList.min() {
            result.append(min)
            sortedList.removeAll(where: { $0 == min })
        }
        if let max = sortedList.max() {
            result.append(max)
            sortedList.removeAll(where: { $0 == max })
        }
    }
    return result
}
```

 // XCTAssertTrue failed

func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        result.append(sortedList.removeFirst())
        if !sortedList.isEmpty {
            result.append(sortedList.removeLast())
        }
    }
    return result
}
```swift
// Given array of integers, return array in strange order.
// Strange sorting, is when you start with the minimum value,
// then maximum of the remaining integers, then minimum and so on.
// Examples:
// strangeSortList(lst: [1, 2, 3, 4]) == [1, 4, 2, 3]
// strangeSortList(lst: [5, 5, 5, 5]) == [5, 5, 5, 5]
// strangeSortList(lst: [] as [Int]) == [] as [Int]
func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        result.append(sortedList.removeFirst())
        if !sortedList.isEmpty {
            result.append(sortedList.removeLast())
        }
    }
    return result
}
```

func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    var isMin = true
    
    while !sortedList.isEmpty {
        if isMin {
            result.append(sortedList.removeFirst())
        } else {
            result.append(sortedList.removeLast())
        }
        isMin.toggle()
    }
    
    return result
}
```swift
// Given array of integers, return array in strange order.
// Strange sorting, is when you start with the minimum value,
// then maximum of the remaining integers, then minimum and so on.
// Examples:
// strangeSortList(lst: [1, 2, 3, 4]) == [1, 4, 2, 3]
// strangeSortList(lst: [5, 5, 5, 5]) == [5, 5, 5, 5]
// strangeSortList(lst: [] as [Int]) == [] as [Int]
func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    var isMin = true
    
    while !sortedList.isEmpty {
        if isMin {
            result.append(sortedList.removeFirst())
        } else {
            result.append(sortedList.removeLast())
        }
        isMin.toggle()
    }
    
    return result
}
```

func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        if let min = sortedList.min() {
            result.append(min)
            sortedList.removeAll(where: { $0 == min })
        }
        if let max = sortedList.max() {
            result.append(max)
            sortedList.removeAll(where: { $0 == max })
        }
    }
    return result
}
```swift
// Given array of integers, return array in strange order.
// Strange sorting, is when you start with the minimum value,
// then maximum of the remaining integers, then minimum and so on.
// Examples:
// strangeSortList(lst: [1, 2, 3, 4]) == [1, 4, 2, 3]
// strangeSortList(lst: [5, 5, 5, 5]) == [5, 5, 5, 5]
// strangeSortList(lst: [] as [Int]) == [] as [Int]
func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        if let min = sortedList.min() {
            result.append(min)
            sortedList.removeAll(where: { $0 == min })
        }
        if let max = sortedList.max() {
            result.append(max)
            sortedList.removeAll(where: { $0 == max })
        }
    }
    return result
}
```

 // XCTAssertTrue failed

func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        if let min = sortedList.min() {
            result.append(min)
            sortedList.removeAll(where: { $0 == min })
        }
        if let max = sortedList.max() {
            result.append(max)
            sortedList.removeAll(where: { $0 == max })
        }
    }
    return result
}
```swift
// Given array of integers, return array in strange order.
// Strange sorting, is when you start with the minimum value,
// then maximum of the remaining integers, then minimum and so on.
// Examples:
// strangeSortList(lst: [1, 2, 3, 4]) == [1, 4, 2, 3]
// strangeSortList(lst: [5, 5, 5, 5]) == [5, 5, 5, 5]
// strangeSortList(lst: [] as [Int]) == [] as [Int]
func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        if let min = sortedList.min() {
            result.append(min)
            sortedList.removeAll(where: { $0 == min })
        }
        if let max = sortedList.max() {
            result.append(max)
            sortedList.removeAll(where: { $0 == max })
        }
    }
    return result
}
```

 // XCTAssertTrue failed

func strangeSortList(lst: [Int]) -> [Int] { 
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        result.append(sortedList.removeFirst())
        if !sortedList.isEmpty {
            result.append(sortedList.removeLast())
        }
    }
    return result
}
```swift
// Given array of integers, return array in strange order.
// Strange sorting, is when you start with the minimum value,
// then maximum of the remaining integers, then minimum and so on.
// Examples:
// strangeSortList(lst: [1, 2, 3, 4]) == [1, 4, 2, 3]
// strangeSortList(lst: [5, 5, 5, 5]) == [5, 5, 5, 5]
// strangeSortList(lst: [] as [Int]) == [] as [Int]
func strangeSortList(lst: [Int]) -> [Int] { 
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        result.append(sortedList.removeFirst())
        if !sortedList.isEmpty {
            result.append(sortedList.removeLast())
        }
    }
    return result
}
```

func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        result.append(sortedList.removeFirst())
        if !sortedList.isEmpty {
            result.append(sortedList.removeLast())
        }
    }
    return result
}
```swift
// Given array of integers, return array in strange order.
// Strange sorting, is when you start with the minimum value,
// then maximum of the remaining integers, then minimum and so on.
// Examples:
// strangeSortList(lst: [1, 2, 3, 4]) == [1, 4, 2, 3]
// strangeSortList(lst: [5, 5, 5, 5]) == [5, 5, 5, 5]
// strangeSortList(lst: [] as [Int]) == [] as [Int]
func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        result.append(sortedList.removeFirst())
        if !sortedList.isEmpty {
            result.append(sortedList.removeLast())
        }
    }
    return result
}
```

func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        result.append(sortedList.removeFirst())
        if !sortedList.isEmpty {
            result.append(sortedList.removeLast())
        }
    }
    return result
}
```swift
// Given array of integers, return array in strange order.
// Strange sorting, is when you start with the minimum value,
// then maximum of the remaining integers, then minimum and so on.
// Examples:
// strangeSortList(lst: [1, 2, 3, 4]) == [1, 4, 2, 3]
// strangeSortList(lst: [5, 5, 5, 5]) == [5, 5, 5, 5]
// strangeSortList(lst: [] as [Int]) == [] as [Int]
func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        result.append(sortedList.removeFirst())
        if !sortedList.isEmpty {
            result.append(sortedList.removeLast())
        }
    }
    return result
}
```

func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    var isMin = true
    while !sortedList.isEmpty {
        if isMin {
            result.append(sortedList.removeFirst())
        } else {
            result.append(sortedList.removeLast())
        }
        isMin = !isMin
    }
    return result
}
```swift
// Given array of integers, return array in strange order.
// Strange sorting, is when you start with the minimum value,
// then maximum of the remaining integers, then minimum and so on.
// Examples:
// strangeSortList(lst: [1, 2, 3, 4]) == [1, 4, 2, 3]
// strangeSortList(lst: [5, 5, 5, 5]) == [5, 5, 5, 5]
// strangeSortList(lst: [] as [Int]) == [] as [Int]
func strangeSortList(lst: [Int]) -> [Int] {
    var sortedList = lst.sorted()
    var result = [Int]()
    var isMin = true
    while !sortedList.isEmpty {
        if isMin {
            result.append(sortedList.removeFirst())
        } else {
            result.append(sortedList.removeLast())
        }
        isMin = !isMin
    }
    return result
}
```

func strangeSortList(lst: [Int]) -> [Int] { 
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        result.append(sortedList.removeFirst())
        if !sortedList.isEmpty {
            result.append(sortedList.removeLast())
        }
    }
    return result
}
```swift
// Given array of integers, return array in strange order.
// Strange sorting, is when you start with the minimum value,
// then maximum of the remaining integers, then minimum and so on.
// Examples:
// strangeSortList(lst: [1, 2, 3, 4]) == [1, 4, 2, 3]
// strangeSortList(lst: [5, 5, 5, 5]) == [5, 5, 5, 5]
// strangeSortList(lst: [] as [Int]) == [] as [Int]
func strangeSortList(lst: [Int]) -> [Int] { 
    var sortedList = lst.sorted()
    var result = [Int]()
    while !sortedList.isEmpty {
        result.append(sortedList.removeFirst())
        if !sortedList.isEmpty {
            result.append(sortedList.removeLast())
        }
    }
    return result
}
```

func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        return Double(round(100 * sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))) / 100)
    } else {
        return -1
    }
}

func check() {
    assert(triangleArea(a: 3, b: 4, c: 5) == 6.0)
    assert(triangleArea(a: 1, b: 2, c: 10) == -1)
    assert(triangleArea(a: 7, b: 8, c: 9) == 26.83)
    assert(triangleArea(a: 10, b: 10, c: 10) == 43.3)
    print("All tests passed!")
}
```swift
// Given the lengths of the three sides of a triangle. Return the area of
// the triangle rounded to 2 decimal points if the three sides form a valid triangle. 
// Otherwise return -1
// Three sides make a valid triangle when the sum of any two sides is greater 
// than the third side.
// Example:
// triangleArea(a: 3, b: 4, c: 5) == 6.0
// triangleArea(a: 1, b: 2, c: 10) == -1
func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        return Double(round(100 * sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))) / 100)
    } else {
        return -1
    }
}

// Check function to verify the correctness of the triangleArea function
func check() {
    assert(triangleArea(a: 3, b: 4, c: 5) == 6.0)
    assert(triangleArea(a: 1, b: 2, c: 10) == -1)
    assert(triangleArea(a: 7, b: 8, c: 9) == 26.83)
    assert(triangleArea(a: 10, b: 10, c: 10) == 43.3)
    print("All tests passed!")
}

check()
```

func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}
```swift
// Given the lengths of the three sides of a triangle. Return the area of
// the triangle rounded to 2 decimal points if the three sides form a valid triangle. 
// Otherwise return -1
// Three sides make a valid triangle when the sum of any two sides is greater 
// than the third side.
// Example:
// triangleArea(a: 3, b: 4, c: 5) == 6.0
// triangleArea(a: 1, b: 2, c: 10) == -1
func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}
```

func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}

func checkTriangleArea() {
    assert(triangleArea(a: 3, b: 4, c: 5) == 6.0, "Test case 1 failed")
    assert(triangleArea(a: 1, b: 2, c: 10) == -1, "Test case 2 failed")
    assert(triangleArea(a: 5, b: 12, c: 13) == 30.0, "Test case 3 failed")
    assert(triangleArea(a: 7, b: 24, c: 25) == 84.0, "Test case 4 failed")
    print("All test cases passed!")
}
```swift
// Given the lengths of the three sides of a triangle. Return the area of
// the triangle rounded to 2 decimal points if the three sides form a valid triangle. 
// Otherwise return -1
// Three sides make a valid triangle when the sum of any two sides is greater 
// than the third side.
// Example:
// triangleArea(a: 3, b: 4, c: 5) == 6.0
// triangleArea(a: 1, b: 2, c: 10) == -1
func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}

// Check function to verify the correctness of the triangleArea function
func checkTriangleArea() {
    assert(triangleArea(a: 3, b: 4, c: 5) == 6.0, "Test case 1 failed")
    assert(triangleArea(a: 1, b: 2, c: 10) == -1, "Test case 2 failed")
    assert(triangleArea(a: 5, b: 12, c: 13) == 30.0, "Test case 3 failed")
    assert(triangleArea(a: 7, b: 24, c: 25) == 84.0, "Test case 4 failed")
    print("All test cases passed!")
}

checkTriangleArea()
```

func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        return Double(round(100 * sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))) / 100)
    } else {
        return -1
    }
}
```swift
// Given the lengths of the three sides of a triangle. Return the area of
// the triangle rounded to 2 decimal points if the three sides form a valid triangle. 
// Otherwise return -1
// Three sides make a valid triangle when the sum of any two sides is greater 
// than the third side.
// Example:
// triangleArea(a: 3, b: 4, c: 5) == 6.0
// triangleArea(a: 1, b: 2, c: 10) == -1
func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        return Double(round(100 * sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))) / 100)
    } else {
        return -1
    }
}
```

func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}
```swift
// Given the lengths of the three sides of a triangle. Return the area of
// the triangle rounded to 2 decimal points if the three sides form a valid triangle. 
// Otherwise return -1
// Three sides make a valid triangle when the sum of any two sides is greater 
// than the third side.
// Example:
// triangleArea(a: 3, b: 4, c: 5) == 6.0
// triangleArea(a: 1, b: 2, c: 10) == -1
func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}
```

func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}
```swift
// Given the lengths of the three sides of a triangle. Return the area of
// the triangle rounded to 2 decimal points if the three sides form a valid triangle. 
// Otherwise return -1
// Three sides make a valid triangle when the sum of any two sides is greater 
// than the third side.
// Example:
// triangleArea(a: 3, b: 4, c: 5) == 6.0
// triangleArea(a: 1, b: 2, c: 10) == -1
func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}
```

func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}

func check() {
    assert(triangleArea(a: 3, b: 4, c: 5) == 6.0)
    assert(triangleArea(a: 1, b: 2, c: 10) == -1)
    assert(triangleArea(a: 7, b: 8, c: 9) == 26.83)
    assert(triangleArea(a: 10, b: 10, c: 10) == 43.3)
    print("All tests passed!")
}
```swift
// Given the lengths of the three sides of a triangle. Return the area of
// the triangle rounded to 2 decimal points if the three sides form a valid triangle. 
// Otherwise return -1
// Three sides make a valid triangle when the sum of any two sides is greater 
// than the third side.
// Example:
// triangleArea(a: 3, b: 4, c: 5) == 6.0
// triangleArea(a: 1, b: 2, c: 10) == -1
func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}

// Check function to verify the correctness of the triangleArea function
func check() {
    assert(triangleArea(a: 3, b: 4, c: 5) == 6.0)
    assert(triangleArea(a: 1, b: 2, c: 10) == -1)
    assert(triangleArea(a: 7, b: 8, c: 9) == 26.83)
    assert(triangleArea(a: 10, b: 10, c: 10) == 43.3)
    print("All tests passed!")
}

check()
```

func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}

func check() {
    assert(triangleArea(a: 3, b: 4, c: 5) == 6.0)
    assert(triangleArea(a: 1, b: 2, c: 10) == -1)
    assert(triangleArea(a: 7, b: 8, c: 9) == 26.83)
    assert(triangleArea(a: 10, b: 10, c: 10) == 43.3)
    print("All tests passed!")
}
```swift
// Given the lengths of the three sides of a triangle. Return the area of
// the triangle rounded to 2 decimal points if the three sides form a valid triangle. 
// Otherwise return -1
// Three sides make a valid triangle when the sum of any two sides is greater 
// than the third side.
// Example:
// triangleArea(a: 3, b: 4, c: 5) == 6.0
// triangleArea(a: 1, b: 2, c: 10) == -1
func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}

// Check function to verify the correctness of the solution
func check() {
    assert(triangleArea(a: 3, b: 4, c: 5) == 6.0)
    assert(triangleArea(a: 1, b: 2, c: 10) == -1)
    assert(triangleArea(a: 7, b: 8, c: 9) == 26.83)
    assert(triangleArea(a: 10, b: 10, c: 10) == 43.3)
    print("All tests passed!")
}

check()
```

func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}
```swift
// Given the lengths of the three sides of a triangle. Return the area of
// the triangle rounded to 2 decimal points if the three sides form a valid triangle. 
// Otherwise return -1
// Three sides make a valid triangle when the sum of any two sides is greater 
// than the third side.
// Example:
// triangleArea(a: 3, b: 4, c: 5) == 6.0
// triangleArea(a: 1, b: 2, c: 10) == -1
func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}
```

func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}
```swift
// Given the lengths of the three sides of a triangle. Return the area of
// the triangle rounded to 2 decimal points if the three sides form a valid triangle. 
// Otherwise return -1
// Three sides make a valid triangle when the sum of any two sides is greater 
// than the third side.
// Example:
// triangleArea(a: 3, b: 4, c: 5) == 6.0
// triangleArea(a: 1, b: 2, c: 10) == -1
func triangleArea(a: Int, b: Int, c: Int) -> Double {
    if a + b > c && a + c > b && b + c > a {
        let s = Double(a + b + c) / 2
        let area = sqrt(s * (s - Double(a)) * (s - Double(b)) * (s - Double(c)))
        return Double(round(100 * area) / 100)
    } else {
        return -1
    }
}
```

func willItFly(q: [Int], w: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that returns true if the object q will fly, and false otherwise.
// The object q will fly if it's balanced (it is a palindromic array) and the sum of its elements is less than or equal the maximum possible weight w.
// Example:
// # 1+2 is less than the maximum possible weight, but it's unbalanced.
// # it's balanced, but 3+2+3 is more than the maximum possible weight.
// # 3+2+3 is less than the maximum possible weight, and it's balanced.
// # 3 is less than the maximum possible weight, and it's balanced.
// willItFly(q: [1, 2], w: 5) == false
// willItFly(q: [3, 2, 3], w: 1) == false
// willItFly(q: [3, 2, 3], w: 9) == true
// willItFly(q: [3], w: 5) == true
func willItFly(q: [Int], w: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func willItFly(q: [Int], w: Int) -> Bool {
    let sum = q.reduce(0, +)
    let isBalanced = q == q.reversed()
    return isBalanced && sum <= w
}
```swift
// Write a function that returns true if the object q will fly, and false otherwise.
// The object q will fly if it's balanced (it is a palindromic array) and the sum of its elements is less than or equal the maximum possible weight w.
// Example:
// # 1+2 is less than the maximum possible weight, but it's unbalanced.
// # it's balanced, but 3+2+3 is more than the maximum possible weight.
// # 3+2+3 is less than the maximum possible weight, and it's balanced.
// # 3 is less than the maximum possible weight, and it's balanced.
// willItFly(q: [1, 2], w: 5) == false
// willItFly(q: [3, 2, 3], w: 1) == false
// willItFly(q: [3, 2, 3], w: 9) == true
// willItFly(q: [3], w: 5) == true
func willItFly(q: [Int], w: Int) -> Bool {
    let sum = q.reduce(0, +)
    let isBalanced = q == q.reversed()
    return isBalanced && sum <= w
}
```

func willItFly(q: [Int], w: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that returns true if the object q will fly, and false otherwise.
// The object q will fly if it's balanced (it is a palindromic array) and the sum of its elements is less than or equal the maximum possible weight w.
// Example:
// # 1+2 is less than the maximum possible weight, but it's unbalanced.
// # it's balanced, but 3+2+3 is more than the maximum possible weight.
// # 3+2+3 is less than the maximum possible weight, and it's balanced.
// # 3 is less than the maximum possible weight, and it's balanced.
// willItFly(q: [1, 2], w: 5) == false
// willItFly(q: [3, 2, 3], w: 1) == false
// willItFly(q: [3, 2, 3], w: 9) == true
// willItFly(q: [3], w: 5) == true
func willItFly(q: [Int], w: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func willItFly(q: [Int], w: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that returns true if the object q will fly, and false otherwise.
// The object q will fly if it's balanced (it is a palindromic array) and the sum of its elements is less than or equal the maximum possible weight w.
// Example:
// # 1+2 is less than the maximum possible weight, but it's unbalanced.
// # it's balanced, but 3+2+3 is more than the maximum possible weight.
// # 3+2+3 is less than the maximum possible weight, and it's balanced.
// # 3 is less than the maximum possible weight, and it's balanced.
// willItFly(q: [1, 2], w: 5) == false
// willItFly(q: [3, 2, 3], w: 1) == false
// willItFly(q: [3, 2, 3], w: 9) == true
// willItFly(q: [3], w: 5) == true
func willItFly(q: [Int], w: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the array is balanced (it is a palindromic array)
    if q != q.reversed() {
        return false
    }
    
    // Check if the sum of the elements is less than or equal the maximum possible weight
    let sum = q.reduce(0, +)
    if sum > w {
        return false
    }
    
    return true
}
```swift
// Write a function that returns true if the object q will fly, and false otherwise.
// The object q will fly if it's balanced (it is a palindromic array) and the sum of its elements is less than or equal the maximum possible weight w.
// Example:
// # 1+2 is less than the maximum possible weight, but it's unbalanced.
// # it's balanced, but 3+2+3 is more than the maximum possible weight.
// # 3+2+3 is less than the maximum possible weight, and it's balanced.
// # 3 is less than the maximum possible weight, and it's balanced.
// willItFly(q: [1, 2], w: 5) == false
// willItFly(q: [3, 2, 3], w: 1) == false
// willItFly(q: [3, 2, 3], w: 9) == true
// willItFly(q: [3], w: 5) == true
func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the array is balanced (it is a palindromic array)
    if q != q.reversed() {
        return false
    }
    
    // Check if the sum of the elements is less than or equal the maximum possible weight
    let sum = q.reduce(0, +)
    if sum > w {
        return false
    }
    
    return true
}
```

func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the array is balanced (palindromic)
    if q != q.reversed() {
        return false
    }
    
    // Calculate the sum of the elements in the array
    let sum = q.reduce(0, +)
    
    // Check if the sum is less than or equal to the maximum possible weight
    if sum <= w {
        return true
    } else {
        return false
    }
}
```swift
// Write a function that returns true if the object q will fly, and false otherwise.
// The object q will fly if it's balanced (it is a palindromic array) and the sum of its elements is less than or equal the maximum possible weight w.
// Example:
// # 1+2 is less than the maximum possible weight, but it's unbalanced.
// # it's balanced, but 3+2+3 is more than the maximum possible weight.
// # 3+2+3 is less than the maximum possible weight, and it's balanced.
// # 3 is less than the maximum possible weight, and it's balanced.
// willItFly(q: [1, 2], w: 5) == false
// willItFly(q: [3, 2, 3], w: 1) == false
// willItFly(q: [3, 2, 3], w: 9) == true
// willItFly(q: [3], w: 5) == true
func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the array is balanced (palindromic)
    if q != q.reversed() {
        return false
    }
    
    // Calculate the sum of the elements in the array
    let sum = q.reduce(0, +)
    
    // Check if the sum is less than or equal to the maximum possible weight
    if sum <= w {
        return true
    } else {
        return false
    }
}
```

func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the array is balanced (palindromic)
    let isBalanced = q == q.reversed()
    // Check if the sum of the array is less than or equal to the maximum possible weight
    let sum = q.reduce(0, +)
    return isBalanced && sum <= w
}
```swift
// Write a function that returns true if the object q will fly, and false otherwise.
// The object q will fly if it's balanced (it is a palindromic array) and the sum of its elements is less than or equal the maximum possible weight w.
// Example:
// # 1+2 is less than the maximum possible weight, but it's unbalanced.
// # it's balanced, but 3+2+3 is more than the maximum possible weight.
// # 3+2+3 is less than the maximum possible weight, and it's balanced.
// # 3 is less than the maximum possible weight, and it's balanced.
// willItFly(q: [1, 2], w: 5) == false
// willItFly(q: [3, 2, 3], w: 1) == false
// willItFly(q: [3, 2, 3], w: 9) == true
// willItFly(q: [3], w: 5) == true
func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the array is balanced (palindromic)
    let isBalanced = q == q.reversed()
    // Check if the sum of the array is less than or equal to the maximum possible weight
    let sum = q.reduce(0, +)
    return isBalanced && sum <= w
}
```

func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the object q is balanced
    if q != q.reversed() {
        return false
    }
    
    // Check if the sum of the elements of the object q is less than or equal to the maximum possible weight w
    let sum = q.reduce(0, +)
    if sum > w {
        return false
    }
    
    // If the object q is balanced and the sum of its elements is less than or equal to the maximum possible weight w, it will fly
    return true
}
```swift
// Write a function that returns true if the object q will fly, and false otherwise.
// The object q will fly if it's balanced (it is a palindromic array) and the sum of its elements is less than or equal the maximum possible weight w.
// Example:
// # 1+2 is less than the maximum possible weight, but it's unbalanced.
// # it's balanced, but 3+2+3 is more than the maximum possible weight.
// # 3+2+3 is less than the maximum possible weight, and it's balanced.
// # 3 is less than the maximum possible weight, and it's balanced.
// willItFly(q: [1, 2], w: 5) == false
// willItFly(q: [3, 2, 3], w: 1) == false
// willItFly(q: [3, 2, 3], w: 9) == true
// willItFly(q: [3], w: 5) == true
func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the object q is balanced
    if q != q.reversed() {
        return false
    }
    
    // Check if the sum of the elements of the object q is less than or equal to the maximum possible weight w
    let sum = q.reduce(0, +)
    if sum > w {
        return false
    }
    
    // If the object q is balanced and the sum of its elements is less than or equal to the maximum possible weight w, it will fly
    return true
}
```

func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the array is a palindrome
    if q != q.reversed() {
        return false
    }
    
    // Check if the sum of the elements is less than or equal to the maximum possible weight
    let sum = q.reduce(0, +)
    if sum > w {
        return false
    }
    
    return true
}
```swift
// Write a function that returns true if the object q will fly, and false otherwise.
// The object q will fly if it's balanced (it is a palindromic array) and the sum of its elements is less than or equal the maximum possible weight w.
// Example:
// # 1+2 is less than the maximum possible weight, but it's unbalanced.
// # it's balanced, but 3+2+3 is more than the maximum possible weight.
// # 3+2+3 is less than the maximum possible weight, and it's balanced.
// # 3 is less than the maximum possible weight, and it's balanced.
// willItFly(q: [1, 2], w: 5) == false
// willItFly(q: [3, 2, 3], w: 1) == false
// willItFly(q: [3, 2, 3], w: 9) == true
// willItFly(q: [3], w: 5) == true
func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the array is a palindrome
    if q != q.reversed() {
        return false
    }
    
    // Check if the sum of the elements is less than or equal to the maximum possible weight
    let sum = q.reduce(0, +)
    if sum > w {
        return false
    }
    
    return true
}
```

func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the array is balanced
    if q != q.reversed() {
        return false
    }
    // Check if the sum of the elements is less than or equal the maximum possible weight
    if q.reduce(0, +) > w {
        return false
    }
    return true
}
```swift
// Write a function that returns true if the object q will fly, and false otherwise.
// The object q will fly if it's balanced (it is a palindromic array) and the sum of its elements is less than or equal the maximum possible weight w.
// Example:
// # 1+2 is less than the maximum possible weight, but it's unbalanced.
// # it's balanced, but 3+2+3 is more than the maximum possible weight.
// # 3+2+3 is less than the maximum possible weight, and it's balanced.
// # 3 is less than the maximum possible weight, and it's balanced.
// willItFly(q: [1, 2], w: 5) == false
// willItFly(q: [3, 2, 3], w: 1) == false
// willItFly(q: [3, 2, 3], w: 9) == true
// willItFly(q: [3], w: 5) == true
func willItFly(q: [Int], w: Int) -> Bool {
    // Check if the array is balanced
    if q != q.reversed() {
        return false
    }
    // Check if the sum of the elements is less than or equal the maximum possible weight
    if q.reduce(0, +) > w {
        return false
    }
    return true
}
```

func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```swift
// Given an array arr of integers, find the minimum number of elements that
// need to be changed to make the array palindromic. A palindromic array is an array that
// is read the same backwards and forwards. In one change, you can change one element to any other element.
// For example:
// smallestChange(arr: [1, 2, 3, 5, 4, 7, 9, 6]) == 4
// smallestChange(arr: [1, 2, 3, 4, 3, 2, 2]) == 1
// smallestChange(arr: [1, 2, 3, 2, 1]) == 0
func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```

func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```swift
// Given an array arr of integers, find the minimum number of elements that
// need to be changed to make the array palindromic. A palindromic array is an array that
// is read the same backwards and forwards. In one change, you can change one element to any other element.
// For example:
// smallestChange(arr: [1, 2, 3, 5, 4, 7, 9, 6]) == 4
// smallestChange(arr: [1, 2, 3, 4, 3, 2, 2]) == 1
// smallestChange(arr: [1, 2, 3, 2, 1]) == 0
func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```

func smallestChange(arr: [Int]) -> Int {
    var count = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            count += 1
        }
        left += 1
        right -= 1
    }
    return count
}
```swift
// Given an array arr of integers, find the minimum number of elements that
// need to be changed to make the array palindromic. A palindromic array is an array that
// is read the same backwards and forwards. In one change, you can change one element to any other element.
// For example:
// smallestChange(arr: [1, 2, 3, 5, 4, 7, 9, 6]) == 4
// smallestChange(arr: [1, 2, 3, 4, 3, 2, 2]) == 1
// smallestChange(arr: [1, 2, 3, 2, 1]) == 0
func smallestChange(arr: [Int]) -> Int {
    var count = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            count += 1
        }
        left += 1
        right -= 1
    }
    return count
}
```

func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```swift
// Given an array arr of integers, find the minimum number of elements that
// need to be changed to make the array palindromic. A palindromic array is an array that
// is read the same backwards and forwards. In one change, you can change one element to any other element.
// For example:
// smallestChange(arr: [1, 2, 3, 5, 4, 7, 9, 6]) == 4
// smallestChange(arr: [1, 2, 3, 4, 3, 2, 2]) == 1
// smallestChange(arr: [1, 2, 3, 2, 1]) == 0
func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```

func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```swift
// Given an array arr of integers, find the minimum number of elements that
// need to be changed to make the array palindromic. A palindromic array is an array that
// is read the same backwards and forwards. In one change, you can change one element to any other element.
// For example:
// smallestChange(arr: [1, 2, 3, 5, 4, 7, 9, 6]) == 4
// smallestChange(arr: [1, 2, 3, 4, 3, 2, 2]) == 1
// smallestChange(arr: [1, 2, 3, 2, 1]) == 0
func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```

func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```swift
// Given an array arr of integers, find the minimum number of elements that
// need to be changed to make the array palindromic. A palindromic array is an array that
// is read the same backwards and forwards. In one change, you can change one element to any other element.
// For example:
// smallestChange(arr: [1, 2, 3, 5, 4, 7, 9, 6]) == 4
// smallestChange(arr: [1, 2, 3, 4, 3, 2, 2]) == 1
// smallestChange(arr: [1, 2, 3, 2, 1]) == 0
func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```

func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```swift
// Given an array arr of integers, find the minimum number of elements that
// need to be changed to make the array palindromic. A palindromic array is an array that
// is read the same backwards and forwards. In one change, you can change one element to any other element.
// For example:
// smallestChange(arr: [1, 2, 3, 5, 4, 7, 9, 6]) == 4
// smallestChange(arr: [1, 2, 3, 4, 3, 2, 2]) == 1
// smallestChange(arr: [1, 2, 3, 2, 1]) == 0
func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```

func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```swift
// Given an array arr of integers, find the minimum number of elements that
// need to be changed to make the array palindromic. A palindromic array is an array that
// is read the same backwards and forwards. In one change, you can change one element to any other element.
// For example:
// smallestChange(arr: [1, 2, 3, 5, 4, 7, 9, 6]) == 4
// smallestChange(arr: [1, 2, 3, 4, 3, 2, 2]) == 1
// smallestChange(arr: [1, 2, 3, 2, 1]) == 0
func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```

func smallestChange(arr: [Int]) -> Int {
    var count = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            count += 1
        }
        left += 1
        right -= 1
    }
    return count
}
```swift
// Given an array arr of integers, find the minimum number of elements that
// need to be changed to make the array palindromic. A palindromic array is an array that
// is read the same backwards and forwards. In one change, you can change one element to any other element.
// For example:
// smallestChange(arr: [1, 2, 3, 5, 4, 7, 9, 6]) == 4
// smallestChange(arr: [1, 2, 3, 4, 3, 2, 2]) == 1
// smallestChange(arr: [1, 2, 3, 2, 1]) == 0
func smallestChange(arr: [Int]) -> Int {
    var count = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            count += 1
        }
        left += 1
        right -= 1
    }
    return count
}
```

func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```swift
// Given an array arr of integers, find the minimum number of elements that
// need to be changed to make the array palindromic. A palindromic array is an array that
// is read the same backwards and forwards. In one change, you can change one element to any other element.
// For example:
// smallestChange(arr: [1, 2, 3, 5, 4, 7, 9, 6]) == 4
// smallestChange(arr: [1, 2, 3, 4, 3, 2, 2]) == 1
// smallestChange(arr: [1, 2, 3, 2, 1]) == 0
func smallestChange(arr: [Int]) -> Int {
    var changes = 0
    var left = 0
    var right = arr.count - 1
    while left < right {
        if arr[left] != arr[right] {
            changes += 1
        }
        left += 1
        right -= 1
    }
    return changes
}
```

func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    
    if totalChars1 < totalChars2 {
        return lst1
    } else {
        return lst2
    }
}
```swift
// Write a function that accepts two arrays of strings and returns the array that has 
// total number of chars in the all strings of the array less than the other array.
// if the two arrays have the same number of chars, return the first array.
// Examples
// totalMatch(lst1: [] as [String], lst2: [] as [String]) == [] as [String]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "Hi"]) == ["hI", "Hi"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hi", "hi", "admin", "project"]) == ["hi", "admin"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "hi", "hi"]) == ["hI", "hi", "hi"]
// totalMatch(lst1: ["4"], lst2: ["1", "2", "3", "4", "5"]) == ["4"]
func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    
    if totalChars1 < totalChars2 {
        return lst1
    } else {
        return lst2
    }
}
```

 // XCTAssertTrue failed

func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```swift
// Write a function that accepts two arrays of strings and returns the array that has 
// total number of chars in the all strings of the array less than the other array.
// if the two arrays have the same number of chars, return the first array.
// Examples
// totalMatch(lst1: [] as [String], lst2: [] as [String]) == [] as [String]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "Hi"]) == ["hI", "Hi"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hi", "hi", "admin", "project"]) == ["hi", "admin"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "hi", "hi"]) == ["hI", "hi", "hi"]
// totalMatch(lst1: ["4"], lst2: ["1", "2", "3", "4", "5"]) == ["4"]
func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```

 // XCTAssertTrue failed

func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```swift
// Write a function that accepts two arrays of strings and returns the array that has 
// total number of chars in the all strings of the array less than the other array.
// if the two arrays have the same number of chars, return the first array.
// Examples
// totalMatch(lst1: [] as [String], lst2: [] as [String]) == [] as [String]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "Hi"]) == ["hI", "Hi"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hi", "hi", "admin", "project"]) == ["hi", "admin"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "hi", "hi"]) == ["hI", "hi", "hi"]
// totalMatch(lst1: ["4"], lst2: ["1", "2", "3", "4", "5"]) == ["4"]
func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```

 // XCTAssertTrue failed

func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```swift
// Write a function that accepts two arrays of strings and returns the array that has 
// total number of chars in the all strings of the array less than the other array.
// if the two arrays have the same number of chars, return the first array.
// Examples
// totalMatch(lst1: [] as [String], lst2: [] as [String]) == [] as [String]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "Hi"]) == ["hI", "Hi"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hi", "hi", "admin", "project"]) == ["hi", "admin"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "hi", "hi"]) == ["hI", "hi", "hi"]
// totalMatch(lst1: ["4"], lst2: ["1", "2", "3", "4", "5"]) == ["4"]
func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```

 // XCTAssertTrue failed

func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    
    if totalChars1 < totalChars2 {
        return lst1
    } else {
        return lst2
    }
}
```swift
// Write a function that accepts two arrays of strings and returns the array that has 
// total number of chars in the all strings of the array less than the other array.
// if the two arrays have the same number of chars, return the first array.
// Examples
// totalMatch(lst1: [] as [String], lst2: [] as [String]) == [] as [String]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "Hi"]) == ["hI", "Hi"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hi", "hi", "admin", "project"]) == ["hi", "admin"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "hi", "hi"]) == ["hI", "hi", "hi"]
// totalMatch(lst1: ["4"], lst2: ["1", "2", "3", "4", "5"]) == ["4"]
func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    
    if totalChars1 < totalChars2 {
        return lst1
    } else {
        return lst2
    }
}
```

 // XCTAssertTrue failed

func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```swift
// Write a function that accepts two arrays of strings and returns the array that has 
// total number of chars in the all strings of the array less than the other array.
// if the two arrays have the same number of chars, return the first array.
// Examples
// totalMatch(lst1: [] as [String], lst2: [] as [String]) == [] as [String]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "Hi"]) == ["hI", "Hi"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hi", "hi", "admin", "project"]) == ["hi", "admin"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "hi", "hi"]) == ["hI", "hi", "hi"]
// totalMatch(lst1: ["4"], lst2: ["1", "2", "3", "4", "5"]) == ["4"]
func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```

 // XCTAssertTrue failed

func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```swift
// Write a function that accepts two arrays of strings and returns the array that has 
// total number of chars in the all strings of the array less than the other array.
// if the two arrays have the same number of chars, return the first array.
// Examples
// totalMatch(lst1: [] as [String], lst2: [] as [String]) == [] as [String]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "Hi"]) == ["hI", "Hi"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hi", "hi", "admin", "project"]) == ["hi", "admin"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "hi", "hi"]) == ["hI", "hi", "hi"]
// totalMatch(lst1: ["4"], lst2: ["1", "2", "3", "4", "5"]) == ["4"]
func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```

 // XCTAssertTrue failed

func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    
    if totalChars1 < totalChars2 {
        return lst1
    } else if totalChars1 > totalChars2 {
        return lst2
    } else {
        return lst1
    }
}
```swift
// Write a function that accepts two arrays of strings and returns the array that has 
// total number of chars in the all strings of the array less than the other array.
// if the two arrays have the same number of chars, return the first array.
// Examples
// totalMatch(lst1: [] as [String], lst2: [] as [String]) == [] as [String]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "Hi"]) == ["hI", "Hi"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hi", "hi", "admin", "project"]) == ["hi", "admin"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "hi", "hi"]) == ["hI", "hi", "hi"]
// totalMatch(lst1: ["4"], lst2: ["1", "2", "3", "4", "5"]) == ["4"]
func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    
    if totalChars1 < totalChars2 {
        return lst1
    } else if totalChars1 > totalChars2 {
        return lst2
    } else {
        return lst1
    }
}
```

func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```swift
// Write a function that accepts two arrays of strings and returns the array that has 
// total number of chars in the all strings of the array less than the other array.
// if the two arrays have the same number of chars, return the first array.
// Examples
// totalMatch(lst1: [] as [String], lst2: [] as [String]) == [] as [String]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "Hi"]) == ["hI", "Hi"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hi", "hi", "admin", "project"]) == ["hi", "admin"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "hi", "hi"]) == ["hI", "hi", "hi"]
// totalMatch(lst1: ["4"], lst2: ["1", "2", "3", "4", "5"]) == ["4"]
func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    return totalChars1 < totalChars2 ? lst1 : lst2
}
```

 // XCTAssertTrue failed

func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    
    if totalChars1 < totalChars2 {
        return lst1
    } else {
        return lst2
    }
}
```swift
// Write a function that accepts two arrays of strings and returns the array that has 
// total number of chars in the all strings of the array less than the other array.
// if the two arrays have the same number of chars, return the first array.
// Examples
// totalMatch(lst1: [] as [String], lst2: [] as [String]) == [] as [String]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "Hi"]) == ["hI", "Hi"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hi", "hi", "admin", "project"]) == ["hi", "admin"]
// totalMatch(lst1: ["hi", "admin"], lst2: ["hI", "hi", "hi"]) == ["hI", "hi", "hi"]
// totalMatch(lst1: ["4"], lst2: ["1", "2", "3", "4", "5"]) == ["4"]
func totalMatch(lst1: [String], lst2: [String]) -> [String] {
    let totalChars1 = lst1.reduce(0) { $0 + $1.count }
    let totalChars2 = lst2.reduce(0) { $0 + $1.count }
    
    if totalChars1 < totalChars2 {
        return lst1
    } else {
        return lst2
    }
}
```

 // XCTAssertTrue failed

func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that returns true if the given number is the multiplication of 3 prime numbers
// and false otherwise.
// Knowing that (a) is less then 100. 
// Example:
// 30 = 2 * 3 * 5
// isMultiplyPrime(a: 30) == true
func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that returns true if the given number is the multiplication of 3 prime numbers
// and false otherwise.
// Knowing that (a) is less then 100. 
// Example:
// 30 = 2 * 3 * 5
// isMultiplyPrime(a: 30) == true
func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that returns true if the given number is the multiplication of 3 prime numbers
// and false otherwise.
// Knowing that (a) is less then 100. 
// Example:
// 30 = 2 * 3 * 5
// isMultiplyPrime(a: 30) == true
func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isMultiplyPrime(a: Int) -> Bool { 
    // Your code here
}
```swift
// Write a function that returns true if the given number is the multiplication of 3 prime numbers
// and false otherwise.
// Knowing that (a) is less then 100. 
// Example:
// 30 = 2 * 3 * 5
// isMultiplyPrime(a: 30) == true
func isMultiplyPrime(a: Int) -> Bool { 
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that returns true if the given number is the multiplication of 3 prime numbers
// and false otherwise.
// Knowing that (a) is less then 100. 
// Example:
// 30 = 2 * 3 * 5
// isMultiplyPrime(a: 30) == true
func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isMultiplyPrime(a: Int) -> Bool { 
    // Your code here
}
```swift
// Write a function that returns true if the given number is the multiplication of 3 prime numbers
// and false otherwise.
// Knowing that (a) is less then 100. 
// Example:
// 30 = 2 * 3 * 5
// isMultiplyPrime(a: 30) == true
func isMultiplyPrime(a: Int) -> Bool { 
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that returns true if the given number is the multiplication of 3 prime numbers
// and false otherwise.
// Knowing that (a) is less then 100. 
// Example:
// 30 = 2 * 3 * 5
// isMultiplyPrime(a: 30) == true
func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that returns true if the given number is the multiplication of 3 prime numbers
// and false otherwise.
// Knowing that (a) is less then 100. 
// Example:
// 30 = 2 * 3 * 5
// isMultiplyPrime(a: 30) == true
func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that returns true if the given number is the multiplication of 3 prime numbers
// and false otherwise.
// Knowing that (a) is less then 100. 
// Example:
// 30 = 2 * 3 * 5
// isMultiplyPrime(a: 30) == true
func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that returns true if the given number is the multiplication of 3 prime numbers
// and false otherwise.
// Knowing that (a) is less then 100. 
// Example:
// 30 = 2 * 3 * 5
// isMultiplyPrime(a: 30) == true
func isMultiplyPrime(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isSimplePower(x: Int, n: Int) -> Bool {
    guard n > 1 else { return x == 1 }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```swift
// Your task is to write a function that returns true if a number x is a simple
// power of n and false in other cases.
// x is a simple power of n if n**int=x
// For example:
// isSimplePower(x: 1, n: 4) == true
// isSimplePower(x: 2, n: 2) == true
// isSimplePower(x: 8, n: 2) == true
// isSimplePower(x: 3, n: 2) == false
// isSimplePower(x: 3, n: 1) == false
// isSimplePower(x: 5, n: 3) == false
func isSimplePower(x: Int, n: Int) -> Bool {
    guard n > 1 else { return x == 1 }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```

 // XCTAssertTrue failed

func isSimplePower(x: Int, n: Int) -> Bool {
    if n == 1 {
        return x == 1
    }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```swift
// Your task is to write a function that returns true if a number x is a simple
// power of n and false in other cases.
// x is a simple power of n if n**int=x
// For example:
// isSimplePower(x: 1, n: 4) == true
// isSimplePower(x: 2, n: 2) == true
// isSimplePower(x: 8, n: 2) == true
// isSimplePower(x: 3, n: 2) == false
// isSimplePower(x: 3, n: 1) == false
// isSimplePower(x: 5, n: 3) == false
func isSimplePower(x: Int, n: Int) -> Bool {
    if n == 1 {
        return x == 1
    }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```

 // XCTAssertTrue failed

func isSimplePower(x: Int, n: Int) -> Bool {
    if x == 1 {
        return true
    }
    if n == 1 {
        return false
    }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```swift
// Your task is to write a function that returns true if a number x is a simple
// power of n and false in other cases.
// x is a simple power of n if n**int=x
// For example:
// isSimplePower(x: 1, n: 4) == true
// isSimplePower(x: 2, n: 2) == true
// isSimplePower(x: 8, n: 2) == true
// isSimplePower(x: 3, n: 2) == false
// isSimplePower(x: 3, n: 1) == false
// isSimplePower(x: 5, n: 3) == false
func isSimplePower(x: Int, n: Int) -> Bool {
    if x == 1 {
        return true
    }
    if n == 1 {
        return false
    }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```

func isSimplePower(x: Int, n: Int) -> Bool {
    guard x > 1 && n > 1 else { return x == n }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```swift
// Your task is to write a function that returns true if a number x is a simple
// power of n and false in other cases.
// x is a simple power of n if n**int=x
// For example:
// isSimplePower(x: 1, n: 4) == true
// isSimplePower(x: 2, n: 2) == true
// isSimplePower(x: 8, n: 2) == true
// isSimplePower(x: 3, n: 2) == false
// isSimplePower(x: 3, n: 1) == false
// isSimplePower(x: 5, n: 3) == false
func isSimplePower(x: Int, n: Int) -> Bool {
    guard x > 1 && n > 1 else { return x == n }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```

 // XCTAssertTrue failed

func isSimplePower(x: Int, n: Int) -> Bool {
    guard n > 1 else { return x == 1 }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```swift
// Your task is to write a function that returns true if a number x is a simple
// power of n and false in other cases.
// x is a simple power of n if n**int=x
// For example:
// isSimplePower(x: 1, n: 4) == true
// isSimplePower(x: 2, n: 2) == true
// isSimplePower(x: 8, n: 2) == true
// isSimplePower(x: 3, n: 2) == false
// isSimplePower(x: 3, n: 1) == false
// isSimplePower(x: 5, n: 3) == false
func isSimplePower(x: Int, n: Int) -> Bool {
    guard n > 1 else { return x == 1 }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```

 // XCTAssertTrue failed

func isSimplePower(x: Int, n: Int) -> Bool {
    if x == 1 { return true }
    if n == 1 { return false }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```swift
// Your task is to write a function that returns true if a number x is a simple
// power of n and false in other cases.
// x is a simple power of n if n**int=x
// For example:
// isSimplePower(x: 1, n: 4) == true
// isSimplePower(x: 2, n: 2) == true
// isSimplePower(x: 8, n: 2) == true
// isSimplePower(x: 3, n: 2) == false
// isSimplePower(x: 3, n: 1) == false
// isSimplePower(x: 5, n: 3) == false
func isSimplePower(x: Int, n: Int) -> Bool {
    if x == 1 { return true }
    if n == 1 { return false }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```

func isSimplePower(x: Int, n: Int) -> Bool {
    guard x != 1 else { return true }
    guard n != 1 else { return false }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```swift
// Your task is to write a function that returns true if a number x is a simple
// power of n and false in other cases.
// x is a simple power of n if n**int=x
// For example:
// isSimplePower(x: 1, n: 4) == true
// isSimplePower(x: 2, n: 2) == true
// isSimplePower(x: 8, n: 2) == true
// isSimplePower(x: 3, n: 2) == false
// isSimplePower(x: 3, n: 1) == false
// isSimplePower(x: 5, n: 3) == false
func isSimplePower(x: Int, n: Int) -> Bool {
    guard x != 1 else { return true }
    guard n != 1 else { return false }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```

func isSimplePower(x: Int, n: Int) -> Bool {
    if x == 1 { return true }
    if n == 1 { return x == 1 }
    var power = 1
    while power < x {
        power *= n
    }
    return power == x
}
```swift
// Your task is to write a function that returns true if a number x is a simple
// power of n and false in other cases.
// x is a simple power of n if n**int=x
// For example:
// isSimplePower(x: 1, n: 4) == true
// isSimplePower(x: 2, n: 2) == true
// isSimplePower(x: 8, n: 2) == true
// isSimplePower(x: 3, n: 2) == false
// isSimplePower(x: 3, n: 1) == false
// isSimplePower(x: 5, n: 3) == false
func isSimplePower(x: Int, n: Int) -> Bool {
    if x == 1 { return true }
    if n == 1 { return x == 1 }
    var power = 1
    while power < x {
        power *= n
    }
    return power == x
}
```

func isSimplePower(x: Int, n: Int) -> Bool {
    guard n > 1 else { return x == 1 }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```swift
// Your task is to write a function that returns true if a number x is a simple
// power of n and false in other cases.
// x is a simple power of n if n**int=x
// For example:
// isSimplePower(x: 1, n: 4) == true
// isSimplePower(x: 2, n: 2) == true
// isSimplePower(x: 8, n: 2) == true
// isSimplePower(x: 3, n: 2) == false
// isSimplePower(x: 3, n: 1) == false
// isSimplePower(x: 5, n: 3) == false
func isSimplePower(x: Int, n: Int) -> Bool {
    guard n > 1 else { return x == 1 }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```

 // XCTAssertTrue failed

func isSimplePower(x: Int, n: Int) -> Bool {
    if x == 1 {
        return true
    }
    if n == 1 {
        return false
    }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```swift
// Your task is to write a function that returns true if a number x is a simple
// power of n and false in other cases.
// x is a simple power of n if n**int=x
// For example:
// isSimplePower(x: 1, n: 4) == true
// isSimplePower(x: 2, n: 2) == true
// isSimplePower(x: 8, n: 2) == true
// isSimplePower(x: 3, n: 2) == false
// isSimplePower(x: 3, n: 1) == false
// isSimplePower(x: 5, n: 3) == false
func isSimplePower(x: Int, n: Int) -> Bool {
    if x == 1 {
        return true
    }
    if n == 1 {
        return false
    }
    var power = n
    while power < x {
        power *= n
    }
    return power == x
}
```

func iscube(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that takes an integer a and returns true 
// if this ingeger is a cube of some integer number.
// Note: you may assume the input is always valid.
// Examples:
// iscube(a: 1) == true
// iscube(a: 2) == false
// iscube(a: -1) == true
// iscube(a: 64) == true
// iscube(a: 0) == true
// iscube(a: 180) == false
func iscube(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func iscube(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that takes an integer a and returns true 
// if this ingeger is a cube of some integer number.
// Note: you may assume the input is always valid.
// Examples:
// iscube(a: 1) == true
// iscube(a: 2) == false
// iscube(a: -1) == true
// iscube(a: 64) == true
// iscube(a: 0) == true
// iscube(a: 180) == false
func iscube(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func iscube(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that takes an integer a and returns true 
// if this ingeger is a cube of some integer number.
// Note: you may assume the input is always valid.
// Examples:
// iscube(a: 1) == true
// iscube(a: 2) == false
// iscube(a: -1) == true
// iscube(a: 64) == true
// iscube(a: 0) == true
// iscube(a: 180) == false
func iscube(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func iscube(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that takes an integer a and returns true 
// if this ingeger is a cube of some integer number.
// Note: you may assume the input is always valid.
// Examples:
// iscube(a: 1) == true
// iscube(a: 2) == false
// iscube(a: -1) == true
// iscube(a: 64) == true
// iscube(a: 0) == true
// iscube(a: 180) == false
func iscube(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func iscube(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that takes an integer a and returns true 
// if this ingeger is a cube of some integer number.
// Note: you may assume the input is always valid.
// Examples:
// iscube(a: 1) == true
// iscube(a: 2) == false
// iscube(a: -1) == true
// iscube(a: 64) == true
// iscube(a: 0) == true
// iscube(a: 180) == false
func iscube(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func iscube(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that takes an integer a and returns true 
// if this ingeger is a cube of some integer number.
// Note: you may assume the input is always valid.
// Examples:
// iscube(a: 1) == true
// iscube(a: 2) == false
// iscube(a: -1) == true
// iscube(a: 64) == true
// iscube(a: 0) == true
// iscube(a: 180) == false
func iscube(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func iscube(a: Int) -> Bool {
    if a == 0 {
        return true
    }
    let cubeRoot = Int(pow(Double(abs(a)), 1.0/3.0))
    return cubeRoot * cubeRoot * cubeRoot == abs(a)
}
```swift
// Write a function that takes an integer a and returns true 
// if this ingeger is a cube of some integer number.
// Note: you may assume the input is always valid.
// Examples:
// iscube(a: 1) == true
// iscube(a: 2) == false
// iscube(a: -1) == true
// iscube(a: 64) == true
// iscube(a: 0) == true
// iscube(a: 180) == false
func iscube(a: Int) -> Bool {
    if a == 0 {
        return true
    }
    let cubeRoot = Int(pow(Double(abs(a)), 1.0/3.0))
    return cubeRoot * cubeRoot * cubeRoot == abs(a)
}
```

 // XCTAssertTrue failed

func iscube(a: Int) -> Bool {
    // your code here
}
```swift
// Write a function that takes an integer a and returns true 
// if this ingeger is a cube of some integer number.
// Note: you may assume the input is always valid.
// Examples:
// iscube(a: 1) == true
// iscube(a: 2) == false
// iscube(a: -1) == true
// iscube(a: 64) == true
// iscube(a: 0) == true
// iscube(a: 180) == false
func iscube(a: Int) -> Bool {
    // your code here
}
```

} // missing return in global function expected to return 'Bool'

func iscube(a: Int) -> Bool {
    // Your code here
}
```swift
// Write a function that takes an integer a and returns true 
// if this ingeger is a cube of some integer number.
// Note: you may assume the input is always valid.
// Examples:
// iscube(a: 1) == true
// iscube(a: 2) == false
// iscube(a: -1) == true
// iscube(a: 64) == true
// iscube(a: 0) == true
// iscube(a: 180) == false
func iscube(a: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func iscube(a: Int) -> Bool {
    // your code here
}
```swift
// Write a function that takes an integer a and returns true 
// if this ingeger is a cube of some integer number.
// Note: you may assume the input is always valid.
// Examples:
// iscube(a: 1) == true
// iscube(a: 2) == false
// iscube(a: -1) == true
// iscube(a: 64) == true
// iscube(a: 0) == true
// iscube(a: 180) == false
func iscube(a: Int) -> Bool {
    // your code here
}
```

} // missing return in global function expected to return 'Bool'

func hexKey(num: String) -> Int {
    let primes = Set(["2", "3", "5", "7", "B", "D"])
    return num.filter { primes.contains($0) }.count
}
```swift
// You have been tasked to write a function that receives 
// a hexadecimal number as a string and counts the number of hexadecimal 
// digits that are primes (prime number, or a prime, is a natural number 
// greater than 1 that is not a product of two smaller natural numbers).
// Hexadecimal digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
// Prime numbers are 2, 3, 5, 7, 11, 13, 17,...
// So you have to determine a number of the following digits: 2, 3, 5, 7, 
// B (=decimal 11), D (=decimal 13).
// Note: you may assume the input is always correct or empty string, 
// and symbols A,B,C,D,E,F are always uppercase.
// Examples:
// hexKey(num: "AB") == 1
// hexKey(num: "1077E") == 2
// hexKey(num: "ABED1A33") == 4
// hexKey(num: "123456789ABCDEF0") == 6
// hexKey(num: "2020") == 2
func hexKey(num: String) -> Int {
    let primes = Set(["2", "3", "5", "7", "B", "D"])
    return num.filter { primes.contains($0) }.count
}
```
return num.filter { primes.contains($0) }.count // cannot convert value of type 'String.Element' (aka 'Character') to expected argument type 'String'

func hexKey(num: String) -> Int {
    let primes = Set(["2", "3", "5", "7", "B", "D"])
    return num.filter { primes.contains($0) }.count
}
```swift
// You have been tasked to write a function that receives 
// a hexadecimal number as a string and counts the number of hexadecimal 
// digits that are primes (prime number, or a prime, is a natural number 
// greater than 1 that is not a product of two smaller natural numbers).
// Hexadecimal digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
// Prime numbers are 2, 3, 5, 7, 11, 13, 17,...
// So you have to determine a number of the following digits: 2, 3, 5, 7, 
// B (=decimal 11), D (=decimal 13).
// Note: you may assume the input is always correct or empty string, 
// and symbols A,B,C,D,E,F are always uppercase.
// Examples:
// hexKey(num: "AB") == 1
// hexKey(num: "1077E") == 2
// hexKey(num: "ABED1A33") == 4
// hexKey(num: "123456789ABCDEF0") == 6
// hexKey(num: "2020") == 2
func hexKey(num: String) -> Int {
    let primes = Set(["2", "3", "5", "7", "B", "D"])
    return num.filter { primes.contains($0) }.count
}
```

return num.filter { primes.contains($0) }.count // cannot convert value of type 'String.Element' (aka 'Character') to expected argument type 'String'

func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```swift
// You have been tasked to write a function that receives 
// a hexadecimal number as a string and counts the number of hexadecimal 
// digits that are primes (prime number, or a prime, is a natural number 
// greater than 1 that is not a product of two smaller natural numbers).
// Hexadecimal digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
// Prime numbers are 2, 3, 5, 7, 11, 13, 17,...
// So you have to determine a number of the following digits: 2, 3, 5, 7, 
// B (=decimal 11), D (=decimal 13).
// Note: you may assume the input is always correct or empty string, 
// and symbols A,B,C,D,E,F are always uppercase.
// Examples:
// hexKey(num: "AB") == 1
// hexKey(num: "1077E") == 2
// hexKey(num: "ABED1A33") == 4
// hexKey(num: "123456789ABCDEF0") == 6
// hexKey(num: "2020") == 2
func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```

func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```swift
// You have been tasked to write a function that receives 
// a hexadecimal number as a string and counts the number of hexadecimal 
// digits that are primes (prime number, or a prime, is a natural number 
// greater than 1 that is not a product of two smaller natural numbers).
// Hexadecimal digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
// Prime numbers are 2, 3, 5, 7, 11, 13, 17,...
// So you have to determine a number of the following digits: 2, 3, 5, 7, 
// B (=decimal 11), D (=decimal 13).
// Note: you may assume the input is always correct or empty string, 
// and symbols A,B,C,D,E,F are always uppercase.
// Examples:
// hexKey(num: "AB") == 1
// hexKey(num: "1077E") == 2
// hexKey(num: "ABED1A33") == 4
// hexKey(num: "123456789ABCDEF0") == 6
// hexKey(num: "2020") == 2
func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```

func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```swift
// You have been tasked to write a function that receives 
// a hexadecimal number as a string and counts the number of hexadecimal 
// digits that are primes (prime number, or a prime, is a natural number 
// greater than 1 that is not a product of two smaller natural numbers).
// Hexadecimal digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
// Prime numbers are 2, 3, 5, 7, 11, 13, 17,...
// So you have to determine a number of the following digits: 2, 3, 5, 7, 
// B (=decimal 11), D (=decimal 13).
// Note: you may assume the input is always correct or empty string, 
// and symbols A,B,C,D,E,F are always uppercase.
// Examples:
// hexKey(num: "AB") == 1
// hexKey(num: "1077E") == 2
// hexKey(num: "ABED1A33") == 4
// hexKey(num: "123456789ABCDEF0") == 6
// hexKey(num: "2020") == 2
func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```

func hexKey(num: String) -> Int {
    let primeHexDigits = Set(["2", "3", "5", "7", "B", "D"])
    return num.filter { primeHexDigits.contains($0.uppercased()) }.count
}
```swift
// You have been tasked to write a function that receives 
// a hexadecimal number as a string and counts the number of hexadecimal 
// digits that are primes (prime number, or a prime, is a natural number 
// greater than 1 that is not a product of two smaller natural numbers).
// Hexadecimal digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
// Prime numbers are 2, 3, 5, 7, 11, 13, 17,...
// So you have to determine a number of the following digits: 2, 3, 5, 7, 
// B (=decimal 11), D (=decimal 13).
// Note: you may assume the input is always correct or empty string, 
// and symbols A,B,C,D,E,F are always uppercase.
// Examples:
// hexKey(num: "AB") == 1
// hexKey(num: "1077E") == 2
// hexKey(num: "ABED1A33") == 4
// hexKey(num: "123456789ABCDEF0") == 6
// hexKey(num: "2020") == 2
func hexKey(num: String) -> Int {
    let primeHexDigits = Set(["2", "3", "5", "7", "B", "D"])
    return num.filter { primeHexDigits.contains($0.uppercased()) }.count
}
```

func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```swift
// You have been tasked to write a function that receives 
// a hexadecimal number as a string and counts the number of hexadecimal 
// digits that are primes (prime number, or a prime, is a natural number 
// greater than 1 that is not a product of two smaller natural numbers).
// Hexadecimal digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
// Prime numbers are 2, 3, 5, 7, 11, 13, 17,...
// So you have to determine a number of the following digits: 2, 3, 5, 7, 
// B (=decimal 11), D (=decimal 13).
// Note: you may assume the input is always correct or empty string, 
// and symbols A,B,C,D,E,F are always uppercase.
// Examples:
// hexKey(num: "AB") == 1
// hexKey(num: "1077E") == 2
// hexKey(num: "ABED1A33") == 4
// hexKey(num: "123456789ABCDEF0") == 6
// hexKey(num: "2020") == 2
func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```

func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```swift
// You have been tasked to write a function that receives 
// a hexadecimal number as a string and counts the number of hexadecimal 
// digits that are primes (prime number, or a prime, is a natural number 
// greater than 1 that is not a product of two smaller natural numbers).
// Hexadecimal digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
// Prime numbers are 2, 3, 5, 7, 11, 13, 17,...
// So you have to determine a number of the following digits: 2, 3, 5, 7, 
// B (=decimal 11), D (=decimal 13).
// Note: you may assume the input is always correct or empty string, 
// and symbols A,B,C,D,E,F are always uppercase.
// Examples:
// hexKey(num: "AB") == 1
// hexKey(num: "1077E") == 2
// hexKey(num: "ABED1A33") == 4
// hexKey(num: "123456789ABCDEF0") == 6
// hexKey(num: "2020") == 2
func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```

func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```swift
// You have been tasked to write a function that receives 
// a hexadecimal number as a string and counts the number of hexadecimal 
// digits that are primes (prime number, or a prime, is a natural number 
// greater than 1 that is not a product of two smaller natural numbers).
// Hexadecimal digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
// Prime numbers are 2, 3, 5, 7, 11, 13, 17,...
// So you have to determine a number of the following digits: 2, 3, 5, 7, 
// B (=decimal 11), D (=decimal 13).
// Note: you may assume the input is always correct or empty string, 
// and symbols A,B,C,D,E,F are always uppercase.
// Examples:
// hexKey(num: "AB") == 1
// hexKey(num: "1077E") == 2
// hexKey(num: "ABED1A33") == 4
// hexKey(num: "123456789ABCDEF0") == 6
// hexKey(num: "2020") == 2
func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```

func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```swift
// You have been tasked to write a function that receives 
// a hexadecimal number as a string and counts the number of hexadecimal 
// digits that are primes (prime number, or a prime, is a natural number 
// greater than 1 that is not a product of two smaller natural numbers).
// Hexadecimal digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
// Prime numbers are 2, 3, 5, 7, 11, 13, 17,...
// So you have to determine a number of the following digits: 2, 3, 5, 7, 
// B (=decimal 11), D (=decimal 13).
// Note: you may assume the input is always correct or empty string, 
// and symbols A,B,C,D,E,F are always uppercase.
// Examples:
// hexKey(num: "AB") == 1
// hexKey(num: "1077E") == 2
// hexKey(num: "ABED1A33") == 4
// hexKey(num: "123456789ABCDEF0") == 6
// hexKey(num: "2020") == 2
func hexKey(num: String) -> Int {
    let primeHexDigits = Set("2357BD")
    return num.filter { primeHexDigits.contains($0) }.count
}
```

func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}

func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}
```swift
// You will be given a number in decimal form and your task is to convert it to
// binary format. The function should return a string, with each character representing a binary
// number. Each character in the string will be '0' or '1'.
// There will be an extra couple of characters 'db' at the beginning and at the end of the string.
// The extra characters are there to help with the format.
// Examples:
// decimalToBinary(decimal: 15) == "db1111db"
// decimalToBinary(decimal: 32) == "db100000db"
func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}

// Check function to verify the correctness of the solution
func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}

check()
```

func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}

func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}
```swift
// You will be given a number in decimal form and your task is to convert it to
// binary format. The function should return a string, with each character representing a binary
// number. Each character in the string will be '0' or '1'.
// There will be an extra couple of characters 'db' at the beginning and at the end of the string.
// The extra characters are there to help with the format.
// Examples:
// decimalToBinary(decimal: 15) == "db1111db"
// decimalToBinary(decimal: 32) == "db100000db"
func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}

// Check function to verify the correctness of the generated function
func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}

check()
```

func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}

func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}
```swift
// You will be given a number in decimal form and your task is to convert it to
// binary format. The function should return a string, with each character representing a binary
// number. Each character in the string will be '0' or '1'.
// There will be an extra couple of characters 'db' at the beginning and at the end of the string.
// The extra characters are there to help with the format.
// Examples:
// decimalToBinary(decimal: 15) == "db1111db"
// decimalToBinary(decimal: 32) == "db100000db"
func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}

// Check function to verify the correctness of the generated function
func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}

check()
```

func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}
```swift
// You will be given a number in decimal form and your task is to convert it to
// binary format. The function should return a string, with each character representing a binary
// number. Each character in the string will be '0' or '1'.
// There will be an extra couple of characters 'db' at the beginning and at the end of the string.
// The extra characters are there to help with the format.
// Examples:
// decimalToBinary(decimal: 15) == "db1111db"
// decimalToBinary(decimal: 32) == "db100000db"
func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}
```

func decimalToBinary(decimal: Int) -> String {
    let binaryString = String(decimal, radix: 2)
    return "db\(binaryString)db"
}

func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}
```swift
// You will be given a number in decimal form and your task is to convert it to
// binary format. The function should return a string, with each character representing a binary
// number. Each character in the string will be '0' or '1'.
// There will be an extra couple of characters 'db' at the beginning and at the end of the string.
// The extra characters are there to help with the format.
// Examples:
// decimalToBinary(decimal: 15) == "db1111db"
// decimalToBinary(decimal: 32) == "db100000db"
func decimalToBinary(decimal: Int) -> String {
    let binaryString = String(decimal, radix: 2)
    return "db\(binaryString)db"
}

// Check function to verify the correctness of the generated function
func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}

check()
```

func decimalToBinary(decimal: Int) -> String {
    let binaryString = String(decimal, radix: 2)
    return "db\(binaryString)db"
}

func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}
```swift
// You will be given a number in decimal form and your task is to convert it to
// binary format. The function should return a string, with each character representing a binary
// number. Each character in the string will be '0' or '1'.
// There will be an extra couple of characters 'db' at the beginning and at the end of the string.
// The extra characters are there to help with the format.
// Examples:
// decimalToBinary(decimal: 15) == "db1111db"
// decimalToBinary(decimal: 32) == "db100000db"
func decimalToBinary(decimal: Int) -> String {
    let binaryString = String(decimal, radix: 2)
    return "db\(binaryString)db"
}

// Check function to verify the correctness of the solution
func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}

// Run the check function to verify the solution
check()
```

func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}
```swift
// You will be given a number in decimal form and your task is to convert it to
// binary format. The function should return a string, with each character representing a binary
// number. Each character in the string will be '0' or '1'.
// There will be an extra couple of characters 'db' at the beginning and at the end of the string.
// The extra characters are there to help with the format.
// Examples:
// decimalToBinary(decimal: 15) == "db1111db"
// decimalToBinary(decimal: 32) == "db100000db"
func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}
```

func decimalToBinary(decimal: Int) -> String {
    let binaryString = String(decimal, radix: 2)
    return "db\(binaryString)db"
}

func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}
```swift
// You will be given a number in decimal form and your task is to convert it to
// binary format. The function should return a string, with each character representing a binary
// number. Each character in the string will be '0' or '1'.
// There will be an extra couple of characters 'db' at the beginning and at the end of the string.
// The extra characters are there to help with the format.
// Examples:
// decimalToBinary(decimal: 15) == "db1111db"
// decimalToBinary(decimal: 32) == "db100000db"
func decimalToBinary(decimal: Int) -> String {
    let binaryString = String(decimal, radix: 2)
    return "db\(binaryString)db"
}

// Check function to verify the correctness of the solution
func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    assert(decimalToBinary(decimal: 255) == "db11111111db")
    print("All tests passed!")
}

// Run the check function to verify the solution
check()
```

func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}
```swift
// You will be given a number in decimal form and your task is to convert it to
// binary format. The function should return a string, with each character representing a binary
// number. Each character in the string will be '0' or '1'.
// There will be an extra couple of characters 'db' at the beginning and at the end of the string.
// The extra characters are there to help with the format.
// Examples:
// decimalToBinary(decimal: 15) == "db1111db"
// decimalToBinary(decimal: 32) == "db100000db"
func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}
```

func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}

func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    print("All tests passed!")
}
```swift
// You will be given a number in decimal form and your task is to convert it to
// binary format. The function should return a string, with each character representing a binary
// number. Each character in the string will be '0' or '1'.
// There will be an extra couple of characters 'db' at the beginning and at the end of the string.
// The extra characters are there to help with the format.
// Examples:
// decimalToBinary(decimal: 15) == "db1111db"
// decimalToBinary(decimal: 32) == "db100000db"
func decimalToBinary(decimal: Int) -> String {
    let binary = String(decimal, radix: 2)
    return "db\(binary)db"
}

// Check function to verify the correctness of the solution
func check() {
    assert(decimalToBinary(decimal: 15) == "db1111db")
    assert(decimalToBinary(decimal: 32) == "db100000db")
    assert(decimalToBinary(decimal: 0) == "db0db")
    assert(decimalToBinary(decimal: 1) == "db1db")
    print("All tests passed!")
}

check()
```

func isHappy(s: String) -> Bool {
    // Your code here
}
```swift
// You are given a string s.
// Your task is to check if the string is hapswift or not.
// A string is hapswift if its length is at least 3 and every 3 consecutive letters are distinct
// For example:
// isHappy(s: "a") == false
// isHappy(s: "aa") == false
// isHappy(s: "abcd") == true
// isHappy(s: "aabb") == false
// isHappy(s: "adb") == true
// isHappy(s: "xyy") == false
func isHappy(s: String) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isHappy(s: String) -> Bool {
    // Your code here
}
```swift
// You are given a string s.
// Your task is to check if the string is hapswift or not.
// A string is hapswift if its length is at least 3 and every 3 consecutive letters are distinct
// For example:
// isHappy(s: "a") == false
// isHappy(s: "aa") == false
// isHappy(s: "abcd") == true
// isHappy(s: "aabb") == false
// isHappy(s: "adb") == true
// isHappy(s: "xyy") == false
func isHappy(s: String) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isHappy(s: String) -> Bool {
    // Your code here
}
```swift
// You are given a string s.
// Your task is to check if the string is hapswift or not.
// A string is hapswift if its length is at least 3 and every 3 consecutive letters are distinct
// For example:
// isHappy(s: "a") == false
// isHappy(s: "aa") == false
// isHappy(s: "abcd") == true
// isHappy(s: "aabb") == false
// isHappy(s: "adb") == true
// isHappy(s: "xyy") == false
func isHappy(s: String) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    let chars = Array(s)
    for i in 0..<chars.count-2 {
        if chars[i] == chars[i+1] || chars[i] == chars[i+2] || chars[i+1] == chars[i+2] {
            return false
        }
    }
    return true
}
```swift
// You are given a string s.
// Your task is to check if the string is hapswift or not.
// A string is hapswift if its length is at least 3 and every 3 consecutive letters are distinct
// For example:
// isHappy(s: "a") == false
// isHappy(s: "aa") == false
// isHappy(s: "abcd") == true
// isHappy(s: "aabb") == false
// isHappy(s: "adb") == true
// isHappy(s: "xyy") == false
func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    let chars = Array(s)
    for i in 0..<chars.count-2 {
        if chars[i] == chars[i+1] || chars[i] == chars[i+2] || chars[i+1] == chars[i+2] {
            return false
        }
    }
    return true
}
```

func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    var chars = Array(s)
    for i in 0..<chars.count-2 {
        if chars[i] == chars[i+1] || chars[i] == chars[i+2] || chars[i+1] == chars[i+2] {
            return false
        }
    }
    return true
}
```swift
// You are given a string s.
// Your task is to check if the string is hapswift or not.
// A string is hapswift if its length is at least 3 and every 3 consecutive letters are distinct
// For example:
// isHappy(s: "a") == false
// isHappy(s: "aa") == false
// isHappy(s: "abcd") == true
// isHappy(s: "aabb") == false
// isHappy(s: "adb") == true
// isHappy(s: "xyy") == false
func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    var chars = Array(s)
    for i in 0..<chars.count-2 {
        if chars[i] == chars[i+1] || chars[i] == chars[i+2] || chars[i+1] == chars[i+2] {
            return false
        }
    }
    return true
}
```
var chars = Array(s) // variable 'chars' was never mutated; consider changing to 'let' constant

func isHappy(s: String) -> Bool { 
    if s.count < 3 {
        return false
    }
    for i in 0..<s.count-2 {
        let first = s[s.index(s.startIndex, offsetBy: i)]
        let second = s[s.index(s.startIndex, offsetBy: i+1)]
        let third = s[s.index(s.startIndex, offsetBy: i+2)]
        if first == second || second == third || first == third {
            return false
        }
    }
    return true
}
```swift
// You are given a string s.
// Your task is to check if the string is hapswift or not.
// A string is hapswift if its length is at least 3 and every 3 consecutive letters are distinct
// For example:
// isHappy(s: "a") == false
// isHappy(s: "aa") == false
// isHappy(s: "abcd") == true
// isHappy(s: "aabb") == false
// isHappy(s: "adb") == true
// isHappy(s: "xyy") == false
func isHappy(s: String) -> Bool { 
    if s.count < 3 {
        return false
    }
    for i in 0..<s.count-2 {
        let first = s[s.index(s.startIndex, offsetBy: i)]
        let second = s[s.index(s.startIndex, offsetBy: i+1)]
        let third = s[s.index(s.startIndex, offsetBy: i+2)]
        if first == second || second == third || first == third {
            return false
        }
    }
    return true
}
```

func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    var chars = Array(s)
    for i in 0..<chars.count-2 {
        if chars[i] == chars[i+1] || chars[i] == chars[i+2] || chars[i+1] == chars[i+2] {
            return false
        }
    }
    return true
}
```swift
// You are given a string s.
// Your task is to check if the string is hapswift or not.
// A string is hapswift if its length is at least 3 and every 3 consecutive letters are distinct
// For example:
// isHappy(s: "a") == false
// isHappy(s: "aa") == false
// isHappy(s: "abcd") == true
// isHappy(s: "aabb") == false
// isHappy(s: "adb") == true
// isHappy(s: "xyy") == false
func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    var chars = Array(s)
    for i in 0..<chars.count-2 {
        if chars[i] == chars[i+1] || chars[i] == chars[i+2] || chars[i+1] == chars[i+2] {
            return false
        }
    }
    return true
}
```

var chars = Array(s) // variable 'chars' was never mutated; consider changing to 'let' constant

func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    for i in 0...s.count-3 {
        let substring = s[s.index(s.startIndex, offsetBy: i)..<s.index(s.startIndex, offsetBy: i+3)]
        if substring.count == Set(substring).count {
            return true
        }
    }
    return false
}
```swift
// You are given a string s.
// Your task is to check if the string is hapswift or not.
// A string is hapswift if its length is at least 3 and every 3 consecutive letters are distinct
// For example:
// isHappy(s: "a") == false
// isHappy(s: "aa") == false
// isHappy(s: "abcd") == true
// isHappy(s: "aabb") == false
// isHappy(s: "adb") == true
// isHappy(s: "xyy") == false
func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    for i in 0...s.count-3 {
        let substring = s[s.index(s.startIndex, offsetBy: i)..<s.index(s.startIndex, offsetBy: i+3)]
        if substring.count == Set(substring).count {
            return true
        }
    }
    return false
}
```
 // XCTAssertTrue failed

func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    let chars = Array(s)
    for i in 0..<chars.count-2 {
        if chars[i] == chars[i+1] || chars[i] == chars[i+2] || chars[i+1] == chars[i+2] {
            return false
        }
    }
    return true
}
```swift
// You are given a string s.
// Your task is to check if the string is hapswift or not.
// A string is hapswift if its length is at least 3 and every 3 consecutive letters are distinct
// For example:
// isHappy(s: "a") == false
// isHappy(s: "aa") == false
// isHappy(s: "abcd") == true
// isHappy(s: "aabb") == false
// isHappy(s: "adb") == true
// isHappy(s: "xyy") == false
func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    let chars = Array(s)
    for i in 0..<chars.count-2 {
        if chars[i] == chars[i+1] || chars[i] == chars[i+2] || chars[i+1] == chars[i+2] {
            return false
        }
    }
    return true
}
```

func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    let chars = Array(s)
    for i in 0..<chars.count - 2 {
        if chars[i] == chars[i + 1] || chars[i] == chars[i + 2] || chars[i + 1] == chars[i + 2] {
            return false
        }
    }
    return true
}
```swift
// You are given a string s.
// Your task is to check if the string is hapswift or not.
// A string is hapswift if its length is at least 3 and every 3 consecutive letters are distinct
// For example:
// isHappy(s: "a") == false
// isHappy(s: "aa") == false
// isHappy(s: "abcd") == true
// isHappy(s: "aabb") == false
// isHappy(s: "adb") == true
// isHappy(s: "xyy") == false
func isHappy(s: String) -> Bool {
    guard s.count >= 3 else { return false }
    let chars = Array(s)
    for i in 0..<chars.count - 2 {
        if chars[i] == chars[i + 1] || chars[i] == chars[i + 2] || chars[i + 1] == chars[i + 2] {
            return false
        }
    }
    return true
}
```

func numericalLetterGrade(grades: [Double]) -> [String] {
    // Your code here
}
```swift
// It is the last week of the semester and the teacher has to give the grades
// to students. The teacher has been making her own algorithm for grading.
// The only problem is, she has lost the code she used for grading.
// She has given you an array of GPAs for some students and you have to write 
// a function that can output an array of letter grades using the following table:
// GPA       |    Letter grade
// 4.0                A+
// > 3.7                A 
// > 3.3                A- 
// > 3.0                B+
// > 2.7                B 
// > 2.3                B-
// > 2.0                C+
// > 1.7                C
// > 1.3                C-
// > 1.0                D+ 
// > 0.7                D 
// > 0.0                D-
// 0.0                E
// Example:
// numericalLetterGrade(grades: [4.0, 3, 1.7, 2, 3.5]) == ["A+", "B", "C-", "C", "A-"]
func numericalLetterGrade(grades: [Double]) -> [String] {
    // Your code here
}
```

} // missing return in global function expected to return '[String]'

func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```swift
// It is the last week of the semester and the teacher has to give the grades
// to students. The teacher has been making her own algorithm for grading.
// The only problem is, she has lost the code she used for grading.
// She has given you an array of GPAs for some students and you have to write 
// a function that can output an array of letter grades using the following table:
// GPA       |    Letter grade
// 4.0                A+
// > 3.7                A 
// > 3.3                A- 
// > 3.0                B+
// > 2.7                B 
// > 2.3                B-
// > 2.0                C+
// > 1.7                C
// > 1.3                C-
// > 1.0                D+ 
// > 0.7                D 
// > 0.0                D-
// 0.0                E
// Example:
// numericalLetterGrade(grades: [4.0, 3, 1.7, 2, 3.5]) == ["A+", "B", "C-", "C", "A-"]
func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```

func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```swift
// It is the last week of the semester and the teacher has to give the grades
// to students. The teacher has been making her own algorithm for grading.
// The only problem is, she has lost the code she used for grading.
// She has given you an array of GPAs for some students and you have to write 
// a function that can output an array of letter grades using the following table:
// GPA       |    Letter grade
// 4.0                A+
// > 3.7                A 
// > 3.3                A- 
// > 3.0                B+
// > 2.7                B 
// > 2.3                B-
// > 2.0                C+
// > 1.7                C
// > 1.3                C-
// > 1.0                D+ 
// > 0.7                D 
// > 0.0                D-
// 0.0                E
// Example:
// numericalLetterGrade(grades: [4.0, 3, 1.7, 2, 3.5]) == ["A+", "B", "C-", "C", "A-"]
func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```

func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```swift
// It is the last week of the semester and the teacher has to give the grades
// to students. The teacher has been making her own algorithm for grading.
// The only problem is, she has lost the code she used for grading.
// She has given you an array of GPAs for some students and you have to write 
// a function that can output an array of letter grades using the following table:
// GPA       |    Letter grade
// 4.0                A+
// > 3.7                A 
// > 3.3                A- 
// > 3.0                B+
// > 2.7                B 
// > 2.3                B-
// > 2.0                C+
// > 1.7                C
// > 1.3                C-
// > 1.0                D+ 
// > 0.7                D 
// > 0.0                D-
// 0.0                E
// Example:
// numericalLetterGrade(grades: [4.0, 3, 1.7, 2, 3.5]) == ["A+", "B", "C-", "C", "A-"]
func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```

func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```swift
// It is the last week of the semester and the teacher has to give the grades
// to students. The teacher has been making her own algorithm for grading.
// The only problem is, she has lost the code she used for grading.
// She has given you an array of GPAs for some students and you have to write 
// a function that can output an array of letter grades using the following table:
// GPA       |    Letter grade
// 4.0                A+
// > 3.7                A 
// > 3.3                A- 
// > 3.0                B+
// > 2.7                B 
// > 2.3                B-
// > 2.0                C+
// > 1.7                C
// > 1.3                C-
// > 1.0                D+ 
// > 0.7                D 
// > 0.0                D-
// 0.0                E
// Example:
// numericalLetterGrade(grades: [4.0, 3, 1.7, 2, 3.5]) == ["A+", "B", "C-", "C", "A-"]
func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```

func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```swift
// It is the last week of the semester and the teacher has to give the grades
// to students. The teacher has been making her own algorithm for grading.
// The only problem is, she has lost the code she used for grading.
// She has given you an array of GPAs for some students and you have to write 
// a function that can output an array of letter grades using the following table:
// GPA       |    Letter grade
// 4.0                A+
// > 3.7                A 
// > 3.3                A- 
// > 3.0                B+
// > 2.7                B 
// > 2.3                B-
// > 2.0                C+
// > 1.7                C
// > 1.3                C-
// > 1.0                D+ 
// > 0.7                D 
// > 0.0                D-
// 0.0                E
// Example:
// numericalLetterGrade(grades: [4.0, 3, 1.7, 2, 3.5]) == ["A+", "B", "C-", "C", "A-"]
func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```

func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```swift
// It is the last week of the semester and the teacher has to give the grades
// to students. The teacher has been making her own algorithm for grading.
// The only problem is, she has lost the code she used for grading.
// She has given you an array of GPAs for some students and you have to write 
// a function that can output an array of letter grades using the following table:
// GPA       |    Letter grade
// 4.0                A+
// > 3.7                A 
// > 3.3                A- 
// > 3.0                B+
// > 2.7                B 
// > 2.3                B-
// > 2.0                C+
// > 1.7                C
// > 1.3                C-
// > 1.0                D+ 
// > 0.7                D 
// > 0.0                D-
// 0.0                E
// Example:
// numericalLetterGrade(grades: [4.0, 3, 1.7, 2, 3.5]) == ["A+", "B", "C-", "C", "A-"]
func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```

func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```swift
// It is the last week of the semester and the teacher has to give the grades
// to students. The teacher has been making her own algorithm for grading.
// The only problem is, she has lost the code she used for grading.
// She has given you an array of GPAs for some students and you have to write 
// a function that can output an array of letter grades using the following table:
// GPA       |    Letter grade
// 4.0                A+
// > 3.7                A 
// > 3.3                A- 
// > 3.0                B+
// > 2.7                B 
// > 2.3                B-
// > 2.0                C+
// > 1.7                C
// > 1.3                C-
// > 1.0                D+ 
// > 0.7                D 
// > 0.0                D-
// 0.0                E
// Example:
// numericalLetterGrade(grades: [4.0, 3, 1.7, 2, 3.5]) == ["A+", "B", "C-", "C", "A-"]
func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```

func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```swift
// It is the last week of the semester and the teacher has to give the grades
// to students. The teacher has been making her own algorithm for grading.
// The only problem is, she has lost the code she used for grading.
// She has given you an array of GPAs for some students and you have to write 
// a function that can output an array of letter grades using the following table:
// GPA       |    Letter grade
// 4.0                A+
// > 3.7                A 
// > 3.3                A- 
// > 3.0                B+
// > 2.7                B 
// > 2.3                B-
// > 2.0                C+
// > 1.7                C
// > 1.3                C-
// > 1.0                D+ 
// > 0.7                D 
// > 0.0                D-
// 0.0                E
// Example:
// numericalLetterGrade(grades: [4.0, 3, 1.7, 2, 3.5]) == ["A+", "B", "C-", "C", "A-"]
func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```

func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```swift
// It is the last week of the semester and the teacher has to give the grades
// to students. The teacher has been making her own algorithm for grading.
// The only problem is, she has lost the code she used for grading.
// She has given you an array of GPAs for some students and you have to write 
// a function that can output an array of letter grades using the following table:
// GPA       |    Letter grade
// 4.0                A+
// > 3.7                A 
// > 3.3                A- 
// > 3.0                B+
// > 2.7                B 
// > 2.3                B-
// > 2.0                C+
// > 1.7                C
// > 1.3                C-
// > 1.0                D+ 
// > 0.7                D 
// > 0.0                D-
// 0.0                E
// Example:
// numericalLetterGrade(grades: [4.0, 3, 1.7, 2, 3.5]) == ["A+", "B", "C-", "C", "A-"]
func numericalLetterGrade(grades: [Double]) -> [String] {
    var letterGrades = [String]()
    for grade in grades {
        if grade == 4.0 {
            letterGrades.append("A+")
        } else if grade > 3.7 {
            letterGrades.append("A")
        } else if grade > 3.3 {
            letterGrades.append("A-")
        } else if grade > 3.0 {
            letterGrades.append("B+")
        } else if grade > 2.7 {
            letterGrades.append("B")
        } else if grade > 2.3 {
            letterGrades.append("B-")
        } else if grade > 2.0 {
            letterGrades.append("C+")
        } else if grade > 1.7 {
            letterGrades.append("C")
        } else if grade > 1.3 {
            letterGrades.append("C-")
        } else if grade > 1.0 {
            letterGrades.append("D+")
        } else if grade > 0.7 {
            letterGrades.append("D")
        } else if grade > 0.0 {
            letterGrades.append("D-")
        } else {
            letterGrades.append("E")
        }
    }
    return letterGrades
}
```

func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Write a function that takes a string and returns true if the string
// length is a prime number or false otherwise
// Examples
// primeLength(string: "Hello") == true
// primeLength(string: "abcdcba") == true
// primeLength(string: "kittens") == true
// primeLength(string: "orange") == false
func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```

func primeLength(string: String) -> Bool {
    let length = string.count
    if length <= 1 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Write a function that takes a string and returns true if the string
// length is a prime number or false otherwise
// Examples
// primeLength(string: "Hello") == true
// primeLength(string: "abcdcba") == true
// primeLength(string: "kittens") == true
// primeLength(string: "orange") == false
func primeLength(string: String) -> Bool {
    let length = string.count
    if length <= 1 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```

func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Write a function that takes a string and returns true if the string
// length is a prime number or false otherwise
// Examples
// primeLength(string: "Hello") == true
// primeLength(string: "abcdcba") == true
// primeLength(string: "kittens") == true
// primeLength(string: "orange") == false
func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```

func primeLength(string: String) -> Bool {
    let length = string.count
    if length <= 1 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Write a function that takes a string and returns true if the string
// length is a prime number or false otherwise
// Examples
// primeLength(string: "Hello") == true
// primeLength(string: "abcdcba") == true
// primeLength(string: "kittens") == true
// primeLength(string: "orange") == false
func primeLength(string: String) -> Bool {
    let length = string.count
    if length <= 1 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```

func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Write a function that takes a string and returns true if the string
// length is a prime number or false otherwise
// Examples
// primeLength(string: "Hello") == true
// primeLength(string: "abcdcba") == true
// primeLength(string: "kittens") == true
// primeLength(string: "orange") == false
func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```

func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Write a function that takes a string and returns true if the string
// length is a prime number or false otherwise
// Examples
// primeLength(string: "Hello") == true
// primeLength(string: "abcdcba") == true
// primeLength(string: "kittens") == true
// primeLength(string: "orange") == false
func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```

func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Write a function that takes a string and returns true if the string
// length is a prime number or false otherwise
// Examples
// primeLength(string: "Hello") == true
// primeLength(string: "abcdcba") == true
// primeLength(string: "kittens") == true
// primeLength(string: "orange") == false
func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```

func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Write a function that takes a string and returns true if the string
// length is a prime number or false otherwise
// Examples
// primeLength(string: "Hello") == true
// primeLength(string: "abcdcba") == true
// primeLength(string: "kittens") == true
// primeLength(string: "orange") == false
func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```

func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 { return false }
    for i in 2..<length {
        if length % i == 0 { return false }
    }
    return true
}
```swift
// Write a function that takes a string and returns true if the string
// length is a prime number or false otherwise
// Examples
// primeLength(string: "Hello") == true
// primeLength(string: "abcdcba") == true
// primeLength(string: "kittens") == true
// primeLength(string: "orange") == false
func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 { return false }
    for i in 2..<length {
        if length % i == 0 { return false }
    }
    return true
}
```

func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Write a function that takes a string and returns true if the string
// length is a prime number or false otherwise
// Examples
// primeLength(string: "Hello") == true
// primeLength(string: "abcdcba") == true
// primeLength(string: "kittens") == true
// primeLength(string: "orange") == false
func primeLength(string: String) -> Bool {
    let length = string.count
    if length < 2 {
        return false
    }
    for i in 2..<length {
        if length % i == 0 {
            return false
        }
    }
    return true
}
```

func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 2 * Int(pow(9.0, Double(n - 1))) - 1
}
```swift
// Given a positive integer n, return the count of the numbers of n-digit
// positive integers that start or end with 1.
func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 2 * Int(pow(9.0, Double(n - 1))) - 1
}
```

 // XCTAssertTrue failed

func startsOneEnds(n: Int) -> Int {
    // If n is 1, there's only one number that starts and ends with 1.
    if n == 1 {
        return 1
    }
    // For n-digit numbers, there are 9 options for the first digit (1-9) and 10^(n-2) options for the middle digits.
    // There are 10 options for the last digit (0-9), but we subtract 1 because we've already counted the number that starts and ends with 1.
    return 9 * Int(pow(10.0, Double(n - 2))) * 10 - 1
}
```swift
// Given a positive integer n, return the count of the numbers of n-digit
// positive integers that start or end with 1.
func startsOneEnds(n: Int) -> Int {
    // If n is 1, there's only one number that starts and ends with 1.
    if n == 1 {
        return 1
    }
    // For n-digit numbers, there are 9 options for the first digit (1-9) and 10^(n-2) options for the middle digits.
    // There are 10 options for the last digit (0-9), but we subtract 1 because we've already counted the number that starts and ends with 1.
    return 9 * Int(pow(10.0, Double(n - 2))) * 10 - 1
}
```

 // XCTAssertTrue failed

func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 2 * Int(pow(9, Double(n - 1))) - 1
}
```swift
// Given a positive integer n, return the count of the numbers of n-digit
// positive integers that start or end with 1.
func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 2 * Int(pow(9, Double(n - 1))) - 1
}

// Example usage:
print(startsOneEnds(n: 1)) // Output: 1
print(startsOneEnds(n: 2)) // Output: 18
print(startsOneEnds(n: 3)) // Output: 162
```

 // XCTAssertTrue failed

func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 2 * Int(pow(9.0, Double(n - 1))) - Int(pow(8.0, Double(n - 1)))
}
```swift
// Given a positive integer n, return the count of the numbers of n-digit
// positive integers that start or end with 1.
func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 2 * Int(pow(9.0, Double(n - 1))) - Int(pow(8.0, Double(n - 1)))
}
```

 // XCTAssertTrue failed

func startsOneEnds(n: Int) -> Int {
    // If n is 1, there is only one number that starts or ends with 1.
    if n == 1 {
        return 1
    }
    // For n-digit numbers, there are 9 options for the first digit (1-9) and 10 options for each subsequent digit (0-9).
    // However, we need to subtract the numbers that both start and end with 1, which is 9^(n-2).
    return 9 * Int(pow(10.0, Double(n - 1))) - Int(pow(9.0, Double(n - 2)))
}
```swift
// Given a positive integer n, return the count of the numbers of n-digit
// positive integers that start or end with 1.
func startsOneEnds(n: Int) -> Int {
    // If n is 1, there is only one number that starts or ends with 1.
    if n == 1 {
        return 1
    }
    // For n-digit numbers, there are 9 options for the first digit (1-9) and 10 options for each subsequent digit (0-9).
    // However, we need to subtract the numbers that both start and end with 1, which is 9^(n-2).
    return 9 * Int(pow(10.0, Double(n - 1))) - Int(pow(9.0, Double(n - 2)))
}
```

 // XCTAssertTrue failed

func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 10 * (10 ^ (n - 2)) + 10 ^ (n - 1)
}
```swift
// Given a positive integer n, return the count of the numbers of n-digit
// positive integers that start or end with 1.
func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 10 * (10 ^ (n - 2)) + 10 ^ (n - 1)
}

// Example usage:
let n = 3
let count = startsOneEnds(n: n)
print("The count of \(n)-digit positive integers that start or end with 1 is \(count).")
```

 // XCTAssertTrue failed

func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    } else {
        return 2 * Int(pow(9, Double(n - 1))) - 1
    }
}
```swift
// Given a positive integer n, return the count of the numbers of n-digit
// positive integers that start or end with 1.
func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    } else {
        return 2 * Int(pow(9, Double(n - 1))) - 1
    }
}

// Example usage:
print(startsOneEnds(n: 1)) // Output: 1
print(startsOneEnds(n: 2)) // Output: 18
print(startsOneEnds(n: 3)) // Output: 162
```

 // XCTAssertTrue failed

func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 2 * Int(pow(9.0, Double(n - 1))) - 1
}
```swift
// Given a positive integer n, return the count of the numbers of n-digit
// positive integers that start or end with 1.
func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 2 * Int(pow(9.0, Double(n - 1))) - 1
}
```

 // XCTAssertTrue failed

func startsOneEnds(n: Int) -> Int {
    // If n is 1, there is only one number that starts or ends with 1.
    if n == 1 {
        return 1
    }
    // For n-digit numbers, there are 9 options for the first digit (1-9) and 10^(n-2) options for the middle digits.
    // There are 10 options for the last digit (0-9).
    // However, we need to subtract the numbers that start and end with 1, which are counted twice.
    // There are 9^(n-2) such numbers.
    return 9 * Int(pow(10.0, Double(n - 2))) + 9 * Int(pow(10.0, Double(n - 2)))
}
```swift
// Given a positive integer n, return the count of the numbers of n-digit
// positive integers that start or end with 1.
func startsOneEnds(n: Int) -> Int {
    // If n is 1, there is only one number that starts or ends with 1.
    if n == 1 {
        return 1
    }
    // For n-digit numbers, there are 9 options for the first digit (1-9) and 10^(n-2) options for the middle digits.
    // There are 10 options for the last digit (0-9).
    // However, we need to subtract the numbers that start and end with 1, which are counted twice.
    // There are 9^(n-2) such numbers.
    return 9 * Int(pow(10.0, Double(n - 2))) + 9 * Int(pow(10.0, Double(n - 2)))
}
```

func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 2 * Int(pow(10.0, Double(n - 1))) - Int(pow(10.0, Double(n - 2)))
}
```swift
// Given a positive integer n, return the count of the numbers of n-digit
// positive integers that start or end with 1.
func startsOneEnds(n: Int) -> Int {
    if n == 1 {
        return 1
    }
    return 2 * Int(pow(10.0, Double(n - 1))) - Int(pow(10.0, Double(n - 2)))
}

// Example usage:
print(startsOneEnds(n: 1)) // Output: 1
print(startsOneEnds(n: 2)) // Output: 19
print(startsOneEnds(n: 3)) // Output: 190
```

 // XCTAssertTrue failed

func solve(N: Int) -> String {
    // Your code here
}
```swift
// Given a positive integer N, return the total sum of its digits in binary.
// Example
// Variables:
// @N integer
// Constraints: 0 ≤ N ≤ 10000.
// Output:
// a string of binary number
// solve(N: 1000) == "1"
// solve(N: 150) == "110"
// solve(N: 147) == "1100"
func solve(N: Int) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func solve(N: Int) -> String {
    // Your code here
}
```swift
// Given a positive integer N, return the total sum of its digits in binary.
// Example
// Variables:
// @N integer
// Constraints: 0 ≤ N ≤ 10000.
// Output:
// a string of binary number
// solve(N: 1000) == "1"
// solve(N: 150) == "110"
// solve(N: 147) == "1100"
func solve(N: Int) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func solve(N: Int) -> String {
    // Your code here
}
```swift
// Given a positive integer N, return the total sum of its digits in binary.
// Example
// Variables:
// @N integer
// Constraints: 0 ≤ N ≤ 10000.
// Output:
// a string of binary number
// solve(N: 1000) == "1"
// solve(N: 150) == "110"
// solve(N: 147) == "1100"
func solve(N: Int) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func solve(N: Int) -> String {
    // Your code goes here
}
```swift
// Given a positive integer N, return the total sum of its digits in binary.
// Example
// Variables:
// @N integer
// Constraints: 0 ≤ N ≤ 10000.
// Output:
// a string of binary number
// solve(N: 1000) == "1"
// solve(N: 150) == "110"
// solve(N: 147) == "1100"
func solve(N: Int) -> String {
    // Your code goes here
}
```

} // missing return in global function expected to return 'String'

func solve(N: Int) -> String {
    // Your code here
}
```swift
// Given a positive integer N, return the total sum of its digits in binary.
// Example
// Variables:
// @N integer
// Constraints: 0 ≤ N ≤ 10000.
// Output:
// a string of binary number
// solve(N: 1000) == "1"
// solve(N: 150) == "110"
// solve(N: 147) == "1100"
func solve(N: Int) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func solve(N: Int) -> String {
    // Your code here
}
```swift
// Given a positive integer N, return the total sum of its digits in binary.
// Example
// Variables:
// @N integer
// Constraints: 0 ≤ N ≤ 10000.
// Output:
// a string of binary number
// solve(N: 1000) == "1"
// solve(N: 150) == "110"
// solve(N: 147) == "1100"
func solve(N: Int) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func solve(N: Int) -> String {
    // Your code here
}
```swift
// Given a positive integer N, return the total sum of its digits in binary.
// Example
// Variables:
// @N integer
// Constraints: 0 ≤ N ≤ 10000.
// Output:
// a string of binary number
// solve(N: 1000) == "1"
// solve(N: 150) == "110"
// solve(N: 147) == "1100"
func solve(N: Int) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func solve(N: Int) -> String {
    // Your code here
}
```swift
// Given a positive integer N, return the total sum of its digits in binary.
// Example
// Variables:
// @N integer
// Constraints: 0 ≤ N ≤ 10000.
// Output:
// a string of binary number
// solve(N: 1000) == "1"
// solve(N: 150) == "110"
// solve(N: 147) == "1100"
func solve(N: Int) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func solve(N: Int) -> String {
    // Your code here
}
```swift
// Given a positive integer N, return the total sum of its digits in binary.
// Example
// Variables:
// @N integer
// Constraints: 0 ≤ N ≤ 10000.
// Output:
// a string of binary number
// solve(N: 1000) == "1"
// solve(N: 150) == "110"
// solve(N: 147) == "1100"
func solve(N: Int) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func solve(N: Int) -> String {
    var sum = 0
    var num = N
    while num > 0 {
        sum += num % 10
        num /= 10
    }
    return String(sum, radix: 2)
}
```swift
// Given a positive integer N, return the total sum of its digits in binary.
// Example
// Variables:
// @N integer
// Constraints: 0 ≤ N ≤ 10000.
// Output:
// a string of binary number
// solve(N: 1000) == "1"
// solve(N: 150) == "110"
// solve(N: 147) == "1100"
func solve(N: Int) -> String {
    var sum = 0
    var num = N
    while num > 0 {
        sum += num % 10
        num /= 10
    }
    return String(sum, radix: 2)
}
```

func add(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 1 && value % 2 == 0 {
            sum += value
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers lst. add the even elements that are at odd indices..
// Examples:
// add(lst: [4, 2, 6, 7]) == 2
func add(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 1 && value % 2 == 0 {
            sum += value
        }
    }
    return sum
}
```

func add(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 1 && value % 2 == 0 {
            sum += value
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers lst. add the even elements that are at odd indices..
// Examples:
// add(lst: [4, 2, 6, 7]) == 2
func add(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 1 && value % 2 == 0 {
            sum += value
        }
    }
    return sum
}

// Test cases
print(add(lst: [4, 2, 6, 7])) // Output: 2
print(add(lst: [1, 3, 5, 7])) // Output: 0
print(add(lst: [2, 4, 6, 8])) // Output: 12
```

func add(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 1 && lst[i] % 2 == 0 {
            sum += lst[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers lst. add the even elements that are at odd indices..
// Examples:
// add(lst: [4, 2, 6, 7]) == 2
func add(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 1 && lst[i] % 2 == 0 {
            sum += lst[i]
        }
    }
    return sum
}
```

func add(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 1 && lst[i] % 2 == 0 {
            sum += lst[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers lst. add the even elements that are at odd indices..
// Examples:
// add(lst: [4, 2, 6, 7]) == 2
func add(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 1 && lst[i] % 2 == 0 {
            sum += lst[i]
        }
    }
    return sum
}
```

func add(lst: [Int]) -> Int {
    return lst.enumerated().filter { $0.0 % 2 == 1 && $0.1 % 2 == 0 }.map { $0.1 }.reduce(0, +)
}
```swift
// Given a non-empty array of integers lst. add the even elements that are at odd indices..
// Examples:
// add(lst: [4, 2, 6, 7]) == 2
func add(lst: [Int]) -> Int {
    return lst.enumerated().filter { $0.0 % 2 == 1 && $0.1 % 2 == 0 }.map { $0.1 }.reduce(0, +)
}
```

func add(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 1 && lst[i] % 2 == 0 {
            sum += lst[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers lst. add the even elements that are at odd indices..
// Examples:
// add(lst: [4, 2, 6, 7]) == 2
func add(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 1 && lst[i] % 2 == 0 {
            sum += lst[i]
        }
    }
    return sum
}
```

func add(lst: [Int]) -> Int {
    return lst.enumerated().filter { $0.offset % 2 == 1 && $0.element % 2 == 0 }.map { $0.element }.reduce(0, +)
}
```swift
// Given a non-empty array of integers lst. add the even elements that are at odd indices..
// Examples:
// add(lst: [4, 2, 6, 7]) == 2
func add(lst: [Int]) -> Int {
    return lst.enumerated().filter { $0.offset % 2 == 1 && $0.element % 2 == 0 }.map { $0.element }.reduce(0, +)
}
```

func add(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 1 && value % 2 == 0 {
            sum += value
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers lst. add the even elements that are at odd indices..
// Examples:
// add(lst: [4, 2, 6, 7]) == 2
func add(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 1 && value % 2 == 0 {
            sum += value
        }
    }
    return sum
}

// Test cases
print(add(lst: [4, 2, 6, 7])) // Output: 2
print(add(lst: [1, 3, 5, 7])) // Output: 0
print(add(lst: [2, 4, 6, 8])) // Output: 12
```

func add(lst: [Int]) -> Int {
    return lst.enumerated().filter { $0.offset % 2 == 1 && $0.element % 2 == 0 }.map { $0.element }.reduce(0, +)
}
```swift
// Given a non-empty array of integers lst. add the even elements that are at odd indices..
// Examples:
// add(lst: [4, 2, 6, 7]) == 2
func add(lst: [Int]) -> Int {
    return lst.enumerated().filter { $0.offset % 2 == 1 && $0.element % 2 == 0 }.map { $0.element }.reduce(0, +)
}

// Example usage:
print(add(lst: [4, 2, 6, 7])) // Output: 2
```

func add(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 1 && lst[i] % 2 == 0 {
            sum += lst[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers lst. add the even elements that are at odd indices..
// Examples:
// add(lst: [4, 2, 6, 7]) == 2
func add(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 1 && lst[i] % 2 == 0 {
            sum += lst[i]
        }
    }
    return sum
}
```

func antiShuffle(s: String) -> String {
    let words = s.components(separatedBy: " ")
    var result = ""
    for word in words {
        let sortedWord = String(word.sorted { $0.asciiValue! < $1.asciiValue! })
        result += sortedWord + " "
    }
    return String(result.dropLast())
}
```swift
// Write a function that takes a string and returns an ordered version of it.
// Ordered version of string, is a string where all words (separated by space)
// are replaced by a new word where all the characters arranged in
// ascending order based on ascii value.
// Note: You should keep the order of words and blank spaces in the sentence.
// For example:
// antiShuffle(s: "Hi") == "Hi"
// antiShuffle(s: "hello") == "ehllo"
// antiShuffle(s: "Hello World!!!") == "Hello !!!Wdlor"
func antiShuffle(s: String) -> String {
    let words = s.components(separatedBy: " ")
    var result = ""
    for word in words {
        let sortedWord = String(word.sorted { $0.asciiValue! < $1.asciiValue! })
        result += sortedWord + " "
    }
    return String(result.dropLast())
}
```

func antiShuffle(s: String) -> String {
    let words = s.components(separatedBy: " ")
    var result = ""
    for word in words {
        let sortedWord = String(word.sorted(by: <))
        result += sortedWord + " "
    }
    return String(result.dropLast())
}
```swift
// Write a function that takes a string and returns an ordered version of it.
// Ordered version of string, is a string where all words (separated by space)
// are replaced by a new word where all the characters arranged in
// ascending order based on ascii value.
// Note: You should keep the order of words and blank spaces in the sentence.
// For example:
// antiShuffle(s: "Hi") == "Hi"
// antiShuffle(s: "hello") == "ehllo"
// antiShuffle(s: "Hello World!!!") == "Hello !!!Wdlor"
func antiShuffle(s: String) -> String {
    let words = s.components(separatedBy: " ")
    var result = ""
    for word in words {
        let sortedWord = String(word.sorted(by: <))
        result += sortedWord + " "
    }
    return String(result.dropLast())
}
```

func antiShuffle(s: String) -> String {
    var result = ""
    let words = s.components(separatedBy: " ")
    for word in words {
        let sortedWord = String(word.sorted())
        result += sortedWord + " "
    }
    return String(result.dropLast())
}
```swift
// Write a function that takes a string and returns an ordered version of it.
// Ordered version of string, is a string where all words (separated by space)
// are replaced by a new word where all the characters arranged in
// ascending order based on ascii value.
// Note: You should keep the order of words and blank spaces in the sentence.
// For example:
// antiShuffle(s: "Hi") == "Hi"
// antiShuffle(s: "hello") == "ehllo"
// antiShuffle(s: "Hello World!!!") == "Hello !!!Wdlor"
func antiShuffle(s: String) -> String {
    var result = ""
    let words = s.components(separatedBy: " ")
    for word in words {
        let sortedWord = String(word.sorted())
        result += sortedWord + " "
    }
    return String(result.dropLast())
}
```

func antiShuffle(s: String) -> String {
    // Split the string into words
    let words = s.components(separatedBy: " ")
    
    // Sort each word in ascending order based on ascii value
    let sortedWords = words.map { $0.sorted(by: <) }
    
    // Join the sorted words back into a string
    let result = sortedWords.joined(separator: " ")
    
    return result
}
```swift
// Write a function that takes a string and returns an ordered version of it.
// Ordered version of string, is a string where all words (separated by space)
// are replaced by a new word where all the characters arranged in
// ascending order based on ascii value.
// Note: You should keep the order of words and blank spaces in the sentence.
// For example:
// antiShuffle(s: "Hi") == "Hi"
// antiShuffle(s: "hello") == "ehllo"
// antiShuffle(s: "Hello World!!!") == "Hello !!!Wdlor"
func antiShuffle(s: String) -> String {
    // Split the string into words
    let words = s.components(separatedBy: " ")
    
    // Sort each word in ascending order based on ascii value
    let sortedWords = words.map { $0.sorted(by: <) }
    
    // Join the sorted words back into a string
    let result = sortedWords.joined(separator: " ")
    
    return result
}
```

return result // cannot convert return expression of type 'JoinedSequence<[[String.Element]]>' (aka 'JoinedSequence<Array<Array<Character>>>') to return type 'String'

func antiShuffle(s: String) -> String {
    // Split the string into words
    let words = s.components(separatedBy: " ")
    
    // Sort each word and join them back together
    let sortedWords = words.map { word in
        let sortedWord = String(word.sorted { $0.asciiValue! < $1.asciiValue! })
        return sortedWord
    }
    
    // Join the sorted words back into a string
    let result = sortedWords.joined(separator: " ")
    
    return result
}
```swift
// Write a function that takes a string and returns an ordered version of it.
// Ordered version of string, is a string where all words (separated by space)
// are replaced by a new word where all the characters arranged in
// ascending order based on ascii value.
// Note: You should keep the order of words and blank spaces in the sentence.
// For example:
// antiShuffle(s: "Hi") == "Hi"
// antiShuffle(s: "hello") == "ehllo"
// antiShuffle(s: "Hello World!!!") == "Hello !!!Wdlor"
func antiShuffle(s: String) -> String {
    // Split the string into words
    let words = s.components(separatedBy: " ")
    
    // Sort each word and join them back together
    let sortedWords = words.map { word in
        let sortedWord = String(word.sorted { $0.asciiValue! < $1.asciiValue! })
        return sortedWord
    }
    
    // Join the sorted words back into a string
    let result = sortedWords.joined(separator: " ")
    
    return result
}
```

func antiShuffle(s: String) -> String {
    let words = s.components(separatedBy: " ")
    let orderedWords = words.map { word in
        let characters = word.sorted { $0.asciiValue! < $1.asciiValue! }
        return String(characters)
    }
    return orderedWords.joined(separator: " ")
}
```swift
// Write a function that takes a string and returns an ordered version of it.
// Ordered version of string, is a string where all words (separated by space)
// are replaced by a new word where all the characters arranged in
// ascending order based on ascii value.
// Note: You should keep the order of words and blank spaces in the sentence.
// For example:
// antiShuffle(s: "Hi") == "Hi"
// antiShuffle(s: "hello") == "ehllo"
// antiShuffle(s: "Hello World!!!") == "Hello !!!Wdlor"
func antiShuffle(s: String) -> String {
    let words = s.components(separatedBy: " ")
    let orderedWords = words.map { word in
        let characters = word.sorted { $0.asciiValue! < $1.asciiValue! }
        return String(characters)
    }
    return orderedWords.joined(separator: " ")
}
```

func antiShuffle(s: String) -> String {
    // Split the string into words
    let words = s.components(separatedBy: " ")
    
    // Create a new array to store the ordered words
    var orderedWords = [String]()
    
    // Iterate over the words
    for word in words {
        // Create a new string to store the ordered characters
        var orderedWord = ""
        
        // Iterate over the characters in the word
        for char in word {
            // Add the character to the ordered word
            orderedWord.append(char)
        }
        
        // Sort the ordered word
        orderedWord = String(orderedWord.sorted())
        
        // Add the ordered word to the array
        orderedWords.append(orderedWord)
    }
    
    // Join the ordered words with spaces
    let orderedString = orderedWords.joined(separator: " ")
    
    // Return the ordered string
    return orderedString
}
```swift
// Write a function that takes a string and returns an ordered version of it.
// Ordered version of string, is a string where all words (separated by space)
// are replaced by a new word where all the characters arranged in
// ascending order based on ascii value.
// Note: You should keep the order of words and blank spaces in the sentence.
// For example:
// antiShuffle(s: "Hi") == "Hi"
// antiShuffle(s: "hello") == "ehllo"
// antiShuffle(s: "Hello World!!!") == "Hello !!!Wdlor"
func antiShuffle(s: String) -> String {
    // Split the string into words
    let words = s.components(separatedBy: " ")
    
    // Create a new array to store the ordered words
    var orderedWords = [String]()
    
    // Iterate over the words
    for word in words {
        // Create a new string to store the ordered characters
        var orderedWord = ""
        
        // Iterate over the characters in the word
        for char in word {
            // Add the character to the ordered word
            orderedWord.append(char)
        }
        
        // Sort the ordered word
        orderedWord = String(orderedWord.sorted())
        
        // Add the ordered word to the array
        orderedWords.append(orderedWord)
    }
    
    // Join the ordered words with spaces
    let orderedString = orderedWords.joined(separator: " ")
    
    // Return the ordered string
    return orderedString
}
```

func antiShuffle(s: String) -> String {
    var result = ""
    var word = ""
    for char in s {
        if char.isWhitespace {
            result += word + String(char)
            word = ""
        } else {
            word += String(char)
        }
    }
    result += word
    return result
}
```swift
// Write a function that takes a string and returns an ordered version of it.
// Ordered version of string, is a string where all words (separated by space)
// are replaced by a new word where all the characters arranged in
// ascending order based on ascii value.
// Note: You should keep the order of words and blank spaces in the sentence.
// For example:
// antiShuffle(s: "Hi") == "Hi"
// antiShuffle(s: "hello") == "ehllo"
// antiShuffle(s: "Hello World!!!") == "Hello !!!Wdlor"
func antiShuffle(s: String) -> String {
    var result = ""
    var word = ""
    for char in s {
        if char.isWhitespace {
            result += word + String(char)
            word = ""
        } else {
            word += String(char)
        }
    }
    result += word
    return result
}
```

 // XCTAssertTrue failed

func antiShuffle(s: String) -> String {
    let words = s.components(separatedBy: " ")
    var result = ""
    for word in words {
        let sortedWord = String(word.sorted(by: { $0.asciiValue! < $1.asciiValue! }))
        result += sortedWord + " "
    }
    return String(result.dropLast())
}
```swift
// Write a function that takes a string and returns an ordered version of it.
// Ordered version of string, is a string where all words (separated by space)
// are replaced by a new word where all the characters arranged in
// ascending order based on ascii value.
// Note: You should keep the order of words and blank spaces in the sentence.
// For example:
// antiShuffle(s: "Hi") == "Hi"
// antiShuffle(s: "hello") == "ehllo"
// antiShuffle(s: "Hello World!!!") == "Hello !!!Wdlor"
func antiShuffle(s: String) -> String {
    let words = s.components(separatedBy: " ")
    var result = ""
    for word in words {
        let sortedWord = String(word.sorted(by: { $0.asciiValue! < $1.asciiValue! }))
        result += sortedWord + " "
    }
    return String(result.dropLast())
}
```

func antiShuffle(s: String) -> String {
    // Split the string into words
    let words = s.components(separatedBy: " ")
    
    // Create an array to store the ordered words
    var orderedWords = [String]()
    
    // Iterate over each word
    for word in words {
        // Convert the word into an array of characters
        var characters = Array(word)
        
        // Sort the characters in ascending order based on ascii value
        characters.sort { $0.asciiValue! < $1.asciiValue! }
        
        // Convert the sorted characters back into a string
        let orderedWord = String(characters)
        
        // Add the ordered word to the array of ordered words
        orderedWords.append(orderedWord)
    }
    
    // Join the ordered words back into a string with spaces
    let orderedString = orderedWords.joined(separator: " ")
    
    // Return the ordered string
    return orderedString
}
```swift
// Write a function that takes a string and returns an ordered version of it.
// Ordered version of string, is a string where all words (separated by space)
// are replaced by a new word where all the characters arranged in
// ascending order based on ascii value.
// Note: You should keep the order of words and blank spaces in the sentence.
// For example:
// antiShuffle(s: "Hi") == "Hi"
// antiShuffle(s: "hello") == "ehllo"
// antiShuffle(s: "Hello World!!!") == "Hello !!!Wdlor"
func antiShuffle(s: String) -> String {
    // Split the string into words
    let words = s.components(separatedBy: " ")
    
    // Create an array to store the ordered words
    var orderedWords = [String]()
    
    // Iterate over each word
    for word in words {
        // Convert the word into an array of characters
        var characters = Array(word)
        
        // Sort the characters in ascending order based on ascii value
        characters.sort { $0.asciiValue! < $1.asciiValue! }
        
        // Convert the sorted characters back into a string
        let orderedWord = String(characters)
        
        // Add the ordered word to the array of ordered words
        orderedWords.append(orderedWord)
    }
    
    // Join the ordered words back into a string with spaces
    let orderedString = orderedWords.joined(separator: " ")
    
    // Return the ordered string
    return orderedString
}
```

func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (rowIndex, row) in lst.enumerated() {
        for (colIndex, col) in row.enumerated() {
            if col == x {
                result.append((rowIndex, colIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```swift
// You are given a 2 dimensional data, as a nested arrays,
// which is similar to matrix, however, unlike matrices,
// each row may contain a different number of columns.
// Given lst, and integer x, find integers x in the array,
// and return array of tuples, [(x1, y1), (x2, y2) ...] such that
// each tuple is a coordinate - (row, columns), starting with 0.
// Sort coordinates initially by rows in ascending order.
// Also, sort coordinates of the row by columns in descending order.
// Examples:
// getRow(lst: [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 1, 6], [1, 2, 3, 4, 5, 1]], x: 1) == [(0, 0), (1, 4), (1, 0), (2, 5), (2, 0)]
// getRow(lst: [] as [[Int]], x: 1) == [] as [(Int, Int)]
// getRow(lst: [[] as [Int], [1], [1, 2, 3]], x: 3) == [(2, 2)]
func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (rowIndex, row) in lst.enumerated() {
        for (colIndex, col) in row.enumerated() {
            if col == x {
                result.append((rowIndex, colIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```

func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (rowIndex, row) in lst.enumerated() {
        for (colIndex, col) in row.enumerated() {
            if col == x {
                result.append((rowIndex, colIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```swift
// You are given a 2 dimensional data, as a nested arrays,
// which is similar to matrix, however, unlike matrices,
// each row may contain a different number of columns.
// Given lst, and integer x, find integers x in the array,
// and return array of tuples, [(x1, y1), (x2, y2) ...] such that
// each tuple is a coordinate - (row, columns), starting with 0.
// Sort coordinates initially by rows in ascending order.
// Also, sort coordinates of the row by columns in descending order.
// Examples:
// getRow(lst: [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 1, 6], [1, 2, 3, 4, 5, 1]], x: 1) == [(0, 0), (1, 4), (1, 0), (2, 5), (2, 0)]
// getRow(lst: [] as [[Int]], x: 1) == [] as [(Int, Int)]
// getRow(lst: [[] as [Int], [1], [1, 2, 3]], x: 3) == [(2, 2)]
func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (rowIndex, row) in lst.enumerated() {
        for (colIndex, col) in row.enumerated() {
            if col == x {
                result.append((rowIndex, colIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```

func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (rowIndex, row) in lst.enumerated() {
        for (columnIndex, column) in row.enumerated() {
            if column == x {
                result.append((rowIndex, columnIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```swift
// You are given a 2 dimensional data, as a nested arrays,
// which is similar to matrix, however, unlike matrices,
// each row may contain a different number of columns.
// Given lst, and integer x, find integers x in the array,
// and return array of tuples, [(x1, y1), (x2, y2) ...] such that
// each tuple is a coordinate - (row, columns), starting with 0.
// Sort coordinates initially by rows in ascending order.
// Also, sort coordinates of the row by columns in descending order.
// Examples:
// getRow(lst: [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 1, 6], [1, 2, 3, 4, 5, 1]], x: 1) == [(0, 0), (1, 4), (1, 0), (2, 5), (2, 0)]
// getRow(lst: [] as [[Int]], x: 1) == [] as [(Int, Int)]
// getRow(lst: [[] as [Int], [1], [1, 2, 3]], x: 3) == [(2, 2)]
func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (rowIndex, row) in lst.enumerated() {
        for (columnIndex, column) in row.enumerated() {
            if column == x {
                result.append((rowIndex, columnIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```

func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (i, row) in lst.enumerated() {
        for (j, num) in row.enumerated() {
            if num == x {
                result.append((i, j))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```swift
// You are given a 2 dimensional data, as a nested arrays,
// which is similar to matrix, however, unlike matrices,
// each row may contain a different number of columns.
// Given lst, and integer x, find integers x in the array,
// and return array of tuples, [(x1, y1), (x2, y2) ...] such that
// each tuple is a coordinate - (row, columns), starting with 0.
// Sort coordinates initially by rows in ascending order.
// Also, sort coordinates of the row by columns in descending order.
// Examples:
// getRow(lst: [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 1, 6], [1, 2, 3, 4, 5, 1]], x: 1) == [(0, 0), (1, 4), (1, 0), (2, 5), (2, 0)]
// getRow(lst: [] as [[Int]], x: 1) == [] as [(Int, Int)]
// getRow(lst: [[] as [Int], [1], [1, 2, 3]], x: 3) == [(2, 2)]
func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (i, row) in lst.enumerated() {
        for (j, num) in row.enumerated() {
            if num == x {
                result.append((i, j))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```

func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (i, row) in lst.enumerated() {
        for (j, num) in row.enumerated() {
            if num == x {
                result.append((i, j))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```swift
// You are given a 2 dimensional data, as a nested arrays,
// which is similar to matrix, however, unlike matrices,
// each row may contain a different number of columns.
// Given lst, and integer x, find integers x in the array,
// and return array of tuples, [(x1, y1), (x2, y2) ...] such that
// each tuple is a coordinate - (row, columns), starting with 0.
// Sort coordinates initially by rows in ascending order.
// Also, sort coordinates of the row by columns in descending order.
// Examples:
// getRow(lst: [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 1, 6], [1, 2, 3, 4, 5, 1]], x: 1) == [(0, 0), (1, 4), (1, 0), (2, 5), (2, 0)]
// getRow(lst: [] as [[Int]], x: 1) == [] as [(Int, Int)]
// getRow(lst: [[] as [Int], [1], [1, 2, 3]], x: 3) == [(2, 2)]
func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (i, row) in lst.enumerated() {
        for (j, num) in row.enumerated() {
            if num == x {
                result.append((i, j))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```

func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (rowIndex, row) in lst.enumerated() {
        for (colIndex, col) in row.enumerated() {
            if col == x {
                result.append((rowIndex, colIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```swift
// You are given a 2 dimensional data, as a nested arrays,
// which is similar to matrix, however, unlike matrices,
// each row may contain a different number of columns.
// Given lst, and integer x, find integers x in the array,
// and return array of tuples, [(x1, y1), (x2, y2) ...] such that
// each tuple is a coordinate - (row, columns), starting with 0.
// Sort coordinates initially by rows in ascending order.
// Also, sort coordinates of the row by columns in descending order.
// Examples:
// getRow(lst: [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 1, 6], [1, 2, 3, 4, 5, 1]], x: 1) == [(0, 0), (1, 4), (1, 0), (2, 5), (2, 0)]
// getRow(lst: [] as [[Int]], x: 1) == [] as [(Int, Int)]
// getRow(lst: [[] as [Int], [1], [1, 2, 3]], x: 3) == [(2, 2)]
func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (rowIndex, row) in lst.enumerated() {
        for (colIndex, col) in row.enumerated() {
            if col == x {
                result.append((rowIndex, colIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```

func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result: [(Int, Int)] = []
    for (rowIndex, row) in lst.enumerated() {
        for (colIndex, value) in row.enumerated() {
            if value == x {
                result.append((rowIndex, colIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```swift
// You are given a 2 dimensional data, as a nested arrays,
// which is similar to matrix, however, unlike matrices,
// each row may contain a different number of columns.
// Given lst, and integer x, find integers x in the array,
// and return array of tuples, [(x1, y1), (x2, y2) ...] such that
// each tuple is a coordinate - (row, columns), starting with 0.
// Sort coordinates initially by rows in ascending order.
// Also, sort coordinates of the row by columns in descending order.
// Examples:
// getRow(lst: [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 1, 6], [1, 2, 3, 4, 5, 1]], x: 1) == [(0, 0), (1, 4), (1, 0), (2, 5), (2, 0)]
// getRow(lst: [] as [[Int]], x: 1) == [] as [(Int, Int)]
// getRow(lst: [[] as [Int], [1], [1, 2, 3]], x: 3) == [(2, 2)]
func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result: [(Int, Int)] = []
    for (rowIndex, row) in lst.enumerated() {
        for (colIndex, value) in row.enumerated() {
            if value == x {
                result.append((rowIndex, colIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```

func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result: [(Int, Int)] = []
    for (rowIndex, row) in lst.enumerated() {
        for (colIndex, col) in row.enumerated() {
            if col == x {
                result.append((rowIndex, colIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```swift
// You are given a 2 dimensional data, as a nested arrays,
// which is similar to matrix, however, unlike matrices,
// each row may contain a different number of columns.
// Given lst, and integer x, find integers x in the array,
// and return array of tuples, [(x1, y1), (x2, y2) ...] such that
// each tuple is a coordinate - (row, columns), starting with 0.
// Sort coordinates initially by rows in ascending order.
// Also, sort coordinates of the row by columns in descending order.
// Examples:
// getRow(lst: [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 1, 6], [1, 2, 3, 4, 5, 1]], x: 1) == [(0, 0), (1, 4), (1, 0), (2, 5), (2, 0)]
// getRow(lst: [] as [[Int]], x: 1) == [] as [(Int, Int)]
// getRow(lst: [[] as [Int], [1], [1, 2, 3]], x: 3) == [(2, 2)]
func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result: [(Int, Int)] = []
    for (rowIndex, row) in lst.enumerated() {
        for (colIndex, col) in row.enumerated() {
            if col == x {
                result.append((rowIndex, colIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```

func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (i, row) in lst.enumerated() {
        for (j, num) in row.enumerated() {
            if num == x {
                result.append((i, j))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```swift
// You are given a 2 dimensional data, as a nested arrays,
// which is similar to matrix, however, unlike matrices,
// each row may contain a different number of columns.
// Given lst, and integer x, find integers x in the array,
// and return array of tuples, [(x1, y1), (x2, y2) ...] such that
// each tuple is a coordinate - (row, columns), starting with 0.
// Sort coordinates initially by rows in ascending order.
// Also, sort coordinates of the row by columns in descending order.
// Examples:
// getRow(lst: [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 1, 6], [1, 2, 3, 4, 5, 1]], x: 1) == [(0, 0), (1, 4), (1, 0), (2, 5), (2, 0)]
// getRow(lst: [] as [[Int]], x: 1) == [] as [(Int, Int)]
// getRow(lst: [[] as [Int], [1], [1, 2, 3]], x: 3) == [(2, 2)]
func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (i, row) in lst.enumerated() {
        for (j, num) in row.enumerated() {
            if num == x {
                result.append((i, j))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```

func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (rowIndex, row) in lst.enumerated() {
        for (columnIndex, element) in row.enumerated() {
            if element == x {
                result.append((rowIndex, columnIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```swift
// You are given a 2 dimensional data, as a nested arrays,
// which is similar to matrix, however, unlike matrices,
// each row may contain a different number of columns.
// Given lst, and integer x, find integers x in the array,
// and return array of tuples, [(x1, y1), (x2, y2) ...] such that
// each tuple is a coordinate - (row, columns), starting with 0.
// Sort coordinates initially by rows in ascending order.
// Also, sort coordinates of the row by columns in descending order.
// Examples:
// getRow(lst: [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 1, 6], [1, 2, 3, 4, 5, 1]], x: 1) == [(0, 0), (1, 4), (1, 0), (2, 5), (2, 0)]
// getRow(lst: [] as [[Int]], x: 1) == [] as [(Int, Int)]
// getRow(lst: [[] as [Int], [1], [1, 2, 3]], x: 3) == [(2, 2)]
func getRow(lst: [[Int]], x: Int) -> [(Int, Int)] {
    var result = [(Int, Int)]()
    for (rowIndex, row) in lst.enumerated() {
        for (columnIndex, element) in row.enumerated() {
            if element == x {
                result.append((rowIndex, columnIndex))
            }
        }
    }
    result.sort { $0.0 < $1.0 || ($0.0 == $1.0 && $0.1 > $1.1) }
    return result
}
```

func sortArray(array: [Int]) -> [Int] { 
    if array.count <= 1 {
        return array
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```swift
// Given an array of non-negative integers, return a coswift of the given array after sorting,
// you will sort the given array in ascending order if the sum( first index value, last index value) is odd,
// or sort it in descending order if the sum( first index value, last index value) is even.
// Note:
// * don't change the given array.
// Examples:
// sortArray(array: [] as [Int]) == [] as [Int]
// sortArray(array: [5]) == [5]
// sortArray(array: [2, 4, 3, 0, 1, 5]) == [0, 1, 2, 3, 4, 5]
// sortArray(array: [2, 4, 3, 0, 1, 5, 6]) == [6, 5, 4, 3, 2, 1, 0]
func sortArray(array: [Int]) -> [Int] { 
    if array.count <= 1 {
        return array
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```

func sortArray(array: [Int]) -> [Int] {
    if array.isEmpty {
        return []
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```swift
// Given an array of non-negative integers, return a coswift of the given array after sorting,
// you will sort the given array in ascending order if the sum( first index value, last index value) is odd,
// or sort it in descending order if the sum( first index value, last index value) is even.
// Note:
// * don't change the given array.
// Examples:
// sortArray(array: [] as [Int]) == [] as [Int]
// sortArray(array: [5]) == [5]
// sortArray(array: [2, 4, 3, 0, 1, 5]) == [0, 1, 2, 3, 4, 5]
// sortArray(array: [2, 4, 3, 0, 1, 5, 6]) == [6, 5, 4, 3, 2, 1, 0]
func sortArray(array: [Int]) -> [Int] {
    if array.isEmpty {
        return []
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```

func sortArray(array: [Int]) -> [Int] {
    if array.isEmpty {
        return []
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```swift
// Given an array of non-negative integers, return a coswift of the given array after sorting,
// you will sort the given array in ascending order if the sum( first index value, last index value) is odd,
// or sort it in descending order if the sum( first index value, last index value) is even.
// Note:
// * don't change the given array.
// Examples:
// sortArray(array: [] as [Int]) == [] as [Int]
// sortArray(array: [5]) == [5]
// sortArray(array: [2, 4, 3, 0, 1, 5]) == [0, 1, 2, 3, 4, 5]
// sortArray(array: [2, 4, 3, 0, 1, 5, 6]) == [6, 5, 4, 3, 2, 1, 0]
func sortArray(array: [Int]) -> [Int] {
    if array.isEmpty {
        return []
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```

func sortArray(array: [Int]) -> [Int] {
    var sortedArray = array.sorted()
    if array.first! + array.last! % 2 == 0 {
        sortedArray.reverse()
    }
    return sortedArray
}
```swift
// Given an array of non-negative integers, return a coswift of the given array after sorting,
// you will sort the given array in ascending order if the sum( first index value, last index value) is odd,
// or sort it in descending order if the sum( first index value, last index value) is even.
// Note:
// * don't change the given array.
// Examples:
// sortArray(array: [] as [Int]) == [] as [Int]
// sortArray(array: [5]) == [5]
// sortArray(array: [2, 4, 3, 0, 1, 5]) == [0, 1, 2, 3, 4, 5]
// sortArray(array: [2, 4, 3, 0, 1, 5, 6]) == [6, 5, 4, 3, 2, 1, 0]
func sortArray(array: [Int]) -> [Int] {
    var sortedArray = array.sorted()
    if array.first! + array.last! % 2 == 0 {
        sortedArray.reverse()
    }
    return sortedArray
}
```

 // Fatal error: Unexpectedly found nil while unwrapping an Optional value

func sortArray(array: [Int]) -> [Int] {
    if array.isEmpty {
        return []
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```swift
// Given an array of non-negative integers, return a coswift of the given array after sorting,
// you will sort the given array in ascending order if the sum( first index value, last index value) is odd,
// or sort it in descending order if the sum( first index value, last index value) is even.
// Note:
// * don't change the given array.
// Examples:
// sortArray(array: [] as [Int]) == [] as [Int]
// sortArray(array: [5]) == [5]
// sortArray(array: [2, 4, 3, 0, 1, 5]) == [0, 1, 2, 3, 4, 5]
// sortArray(array: [2, 4, 3, 0, 1, 5, 6]) == [6, 5, 4, 3, 2, 1, 0]
func sortArray(array: [Int]) -> [Int] {
    if array.isEmpty {
        return []
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```

func sortArray(array: [Int]) -> [Int] {
    if array.count <= 1 {
        return array
    }
    let first = array.first!
    let last = array.last!
    let sum = first + last
    let sortedArray = sum % 2 == 0 ? array.sorted(by: >) : array.sorted()
    return sortedArray
}
```swift
// Given an array of non-negative integers, return a coswift of the given array after sorting,
// you will sort the given array in ascending order if the sum( first index value, last index value) is odd,
// or sort it in descending order if the sum( first index value, last index value) is even.
// Note:
// * don't change the given array.
// Examples:
// sortArray(array: [] as [Int]) == [] as [Int]
// sortArray(array: [5]) == [5]
// sortArray(array: [2, 4, 3, 0, 1, 5]) == [0, 1, 2, 3, 4, 5]
// sortArray(array: [2, 4, 3, 0, 1, 5, 6]) == [6, 5, 4, 3, 2, 1, 0]
func sortArray(array: [Int]) -> [Int] {
    if array.count <= 1 {
        return array
    }
    let first = array.first!
    let last = array.last!
    let sum = first + last
    let sortedArray = sum % 2 == 0 ? array.sorted(by: >) : array.sorted()
    return sortedArray
}
```

func sortArray(array: [Int]) -> [Int] {
    if array.count <= 1 {
        return array
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted()
    }
}
```swift
// Given an array of non-negative integers, return a coswift of the given array after sorting,
// you will sort the given array in ascending order if the sum( first index value, last index value) is odd,
// or sort it in descending order if the sum( first index value, last index value) is even.
// Note:
// * don't change the given array.
// Examples:
// sortArray(array: [] as [Int]) == [] as [Int]
// sortArray(array: [5]) == [5]
// sortArray(array: [2, 4, 3, 0, 1, 5]) == [0, 1, 2, 3, 4, 5]
// sortArray(array: [2, 4, 3, 0, 1, 5, 6]) == [6, 5, 4, 3, 2, 1, 0]
func sortArray(array: [Int]) -> [Int] {
    if array.count <= 1 {
        return array
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted()
    }
}
```

func sortArray(array: [Int]) -> [Int] { 
    if array.count == 0 {
        return []
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```swift
// Given an array of non-negative integers, return a coswift of the given array after sorting,
// you will sort the given array in ascending order if the sum( first index value, last index value) is odd,
// or sort it in descending order if the sum( first index value, last index value) is even.
// Note:
// * don't change the given array.
// Examples:
// sortArray(array: [] as [Int]) == [] as [Int]
// sortArray(array: [5]) == [5]
// sortArray(array: [2, 4, 3, 0, 1, 5]) == [0, 1, 2, 3, 4, 5]
// sortArray(array: [2, 4, 3, 0, 1, 5, 6]) == [6, 5, 4, 3, 2, 1, 0]
func sortArray(array: [Int]) -> [Int] { 
    if array.count == 0 {
        return []
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```

func sortArray(array: [Int]) -> [Int] {
    var sortedArray = array
    if array.count > 1 {
        let sum = array.first! + array.last!
        if sum % 2 == 0 {
            sortedArray.sort(by: >)
        } else {
            sortedArray.sort(by: <)
        }
    }
    return sortedArray
}
```swift
// Given an array of non-negative integers, return a coswift of the given array after sorting,
// you will sort the given array in ascending order if the sum( first index value, last index value) is odd,
// or sort it in descending order if the sum( first index value, last index value) is even.
// Note:
// * don't change the given array.
// Examples:
// sortArray(array: [] as [Int]) == [] as [Int]
// sortArray(array: [5]) == [5]
// sortArray(array: [2, 4, 3, 0, 1, 5]) == [0, 1, 2, 3, 4, 5]
// sortArray(array: [2, 4, 3, 0, 1, 5, 6]) == [6, 5, 4, 3, 2, 1, 0]
func sortArray(array: [Int]) -> [Int] {
    var sortedArray = array
    if array.count > 1 {
        let sum = array.first! + array.last!
        if sum % 2 == 0 {
            sortedArray.sort(by: >)
        } else {
            sortedArray.sort(by: <)
        }
    }
    return sortedArray
}
```

func sortArray(array: [Int]) -> [Int] { 
    if array.count == 0 {
        return []
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```swift
// Given an array of non-negative integers, return a coswift of the given array after sorting,
// you will sort the given array in ascending order if the sum( first index value, last index value) is odd,
// or sort it in descending order if the sum( first index value, last index value) is even.
// Note:
// * don't change the given array.
// Examples:
// sortArray(array: [] as [Int]) == [] as [Int]
// sortArray(array: [5]) == [5]
// sortArray(array: [2, 4, 3, 0, 1, 5]) == [0, 1, 2, 3, 4, 5]
// sortArray(array: [2, 4, 3, 0, 1, 5, 6]) == [6, 5, 4, 3, 2, 1, 0]
func sortArray(array: [Int]) -> [Int] { 
    if array.count == 0 {
        return []
    }
    let sum = array.first! + array.last!
    if sum % 2 == 0 {
        return array.sorted(by: >)
    } else {
        return array.sorted(by: <)
    }
}
```

func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    let shift = 2 * 2
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: shift, limitedBy: alphabet.endIndex) ?? alphabet.startIndex
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```swift
// Create a function encrypt that takes a string as an argument and
// returns a string encrypted with the alphabet being rotated. 
// The alphabet should be rotated in a manner such that the letters 
// shift down by two multiplied to two places.
// For example:
// encrypt(s: "hi") == "lm"
// encrypt(s: "asdfghjkl") == "ewhjklnop"
// encrypt(s: "gf") == "kj"
// encrypt(s: "et") == "ix"
func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    let shift = 2 * 2
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: shift, limitedBy: alphabet.endIndex) ?? alphabet.startIndex
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```

 // Fatal error: String index is out of bounds

func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: (2 * 2))
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```swift
// Create a function encrypt that takes a string as an argument and
// returns a string encrypted with the alphabet being rotated. 
// The alphabet should be rotated in a manner such that the letters 
// shift down by two multiplied to two places.
// For example:
// encrypt(s: "hi") == "lm"
// encrypt(s: "asdfghjkl") == "ewhjklnop"
// encrypt(s: "gf") == "kj"
// encrypt(s: "et") == "ix"
func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: (2 * 2))
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```

 // Fatal error: String index is out of bounds

func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: (2 * 2) % alphabet.count)
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    return encryptedString
}
```swift
// Create a function encrypt that takes a string as an argument and
// returns a string encrypted with the alphabet being rotated. 
// The alphabet should be rotated in a manner such that the letters 
// shift down by two multiplied to two places.
// For example:
// encrypt(s: "hi") == "lm"
// encrypt(s: "asdfghjkl") == "ewhjklnop"
// encrypt(s: "gf") == "kj"
// encrypt(s: "et") == "ix"
func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: (2 * 2) % alphabet.count)
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    return encryptedString
}
```

 // Fatal error: String index is out of bounds

func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: (2 * 2) % alphabet.count)
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    return encryptedString
}
```swift
// Create a function encrypt that takes a string as an argument and
// returns a string encrypted with the alphabet being rotated. 
// The alphabet should be rotated in a manner such that the letters 
// shift down by two multiplied to two places.
// For example:
// encrypt(s: "hi") == "lm"
// encrypt(s: "asdfghjkl") == "ewhjklnop"
// encrypt(s: "gf") == "kj"
// encrypt(s: "et") == "ix"
func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: (2 * 2) % alphabet.count)
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    return encryptedString
}
```

 // Fatal error: String index is out of bounds

func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: (2 * 2) % alphabet.count)
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```swift
// Create a function encrypt that takes a string as an argument and
// returns a string encrypted with the alphabet being rotated. 
// The alphabet should be rotated in a manner such that the letters 
// shift down by two multiplied to two places.
// For example:
// encrypt(s: "hi") == "lm"
// encrypt(s: "asdfghjkl") == "ewhjklnop"
// encrypt(s: "gf") == "kj"
// encrypt(s: "et") == "ix"
func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: (2 * 2) % alphabet.count)
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```

 // Fatal error: String index is out of bounds

func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    let shift = 2 * 2
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: shift, limitedBy: alphabet.endIndex) ?? alphabet.startIndex
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```swift
// Create a function encrypt that takes a string as an argument and
// returns a string encrypted with the alphabet being rotated. 
// The alphabet should be rotated in a manner such that the letters 
// shift down by two multiplied to two places.
// For example:
// encrypt(s: "hi") == "lm"
// encrypt(s: "asdfghjkl") == "ewhjklnop"
// encrypt(s: "gf") == "kj"
// encrypt(s: "et") == "ix"
func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    let shift = 2 * 2
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: shift, limitedBy: alphabet.endIndex) ?? alphabet.startIndex
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```

 // Fatal error: String index is out of bounds

func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    for char in s {
        let index = alphabet.firstIndex(of: char.lowercased()) ?? alphabet.firstIndex(of: char.uppercased())
        if let index = index {
            let newIndex = alphabet.index(index, offsetBy: 4)
            let newChar = alphabet[newIndex]
            encryptedString.append(newChar == newChar.lowercased() ? newChar.uppercased() : newChar.lowercased())
        } else {
            encryptedString.append(char)
        }
    }
    return encryptedString
}
```swift
// Create a function encrypt that takes a string as an argument and
// returns a string encrypted with the alphabet being rotated. 
// The alphabet should be rotated in a manner such that the letters 
// shift down by two multiplied to two places.
// For example:
// encrypt(s: "hi") == "lm"
// encrypt(s: "asdfghjkl") == "ewhjklnop"
// encrypt(s: "gf") == "kj"
// encrypt(s: "et") == "ix"
func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    for char in s {
        let index = alphabet.firstIndex(of: char.lowercased()) ?? alphabet.firstIndex(of: char.uppercased())
        if let index = index {
            let newIndex = alphabet.index(index, offsetBy: 4)
            let newChar = alphabet[newIndex]
            encryptedString.append(newChar == newChar.lowercased() ? newChar.uppercased() : newChar.lowercased())
        } else {
            encryptedString.append(char)
        }
    }
    return encryptedString
}
```

let index = alphabet.firstIndex(of: char.lowercased()) ?? alphabet.firstIndex(of: char.uppercased()) // cannot convert value of type 'String' to expected argument type 'String.Element' (aka 'Character')
let index = alphabet.firstIndex(of: char.lowercased()) ?? alphabet.firstIndex(of: char.uppercased()) // cannot convert value of type 'String' to expected argument type 'String.Element' (aka 'Character')

func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    let shift = 2 * 2
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: shift, limitedBy: alphabet.endIndex) ?? alphabet.startIndex
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```swift
// Create a function encrypt that takes a string as an argument and
// returns a string encrypted with the alphabet being rotated. 
// The alphabet should be rotated in a manner such that the letters 
// shift down by two multiplied to two places.
// For example:
// encrypt(s: "hi") == "lm"
// encrypt(s: "asdfghjkl") == "ewhjklnop"
// encrypt(s: "gf") == "kj"
// encrypt(s: "et") == "ix"
func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    let shift = 2 * 2
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: shift, limitedBy: alphabet.endIndex) ?? alphabet.startIndex
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```

 // Fatal error: String index is out of bounds

func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: (2 * 2) % alphabet.count)
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    return encryptedString
}
```swift
// Create a function encrypt that takes a string as an argument and
// returns a string encrypted with the alphabet being rotated. 
// The alphabet should be rotated in a manner such that the letters 
// shift down by two multiplied to two places.
// For example:
// encrypt(s: "hi") == "lm"
// encrypt(s: "asdfghjkl") == "ewhjklnop"
// encrypt(s: "gf") == "kj"
// encrypt(s: "et") == "ix"
func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encryptedString = ""
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: (2 * 2) % alphabet.count)
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    return encryptedString
}
```

 // Fatal error: String index is out of bounds

func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    let shift = 2 * 2
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: shift, limitedBy: alphabet.endIndex) ?? alphabet.startIndex
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```swift
// Create a function encrypt that takes a string as an argument and
// returns a string encrypted with the alphabet being rotated. 
// The alphabet should be rotated in a manner such that the letters 
// shift down by two multiplied to two places.
// For example:
// encrypt(s: "hi") == "lm"
// encrypt(s: "asdfghjkl") == "ewhjklnop"
// encrypt(s: "gf") == "kj"
// encrypt(s: "et") == "ix"
func encrypt(s: String) -> String {
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    let shift = 2 * 2
    var encryptedString = ""
    
    for char in s {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: shift, limitedBy: alphabet.endIndex) ?? alphabet.startIndex
            encryptedString.append(alphabet[newIndex])
        } else {
            encryptedString.append(char)
        }
    }
    
    return encryptedString
}
```

 // Fatal error: String index is out of bounds

func nextSmallest(lst: [Int]) -> Int? {
    // Your code here
}
```swift
// You are given an array of integers.
// Write a function next_smallest() that returns the 2nd smallest element of the array.
// Return nil if there is no such element.
// nextSmallest(lst: [1, 2, 3, 4, 5]) == 2
// nextSmallest(lst: [5, 1, 4, 3, 2]) == 2
// nextSmallest(lst: [] as [Int]) == nil
// nextSmallest(lst: [1, 1]) == nil
func nextSmallest(lst: [Int]) -> Int? {
    // Your code here
}
```

} // missing return in global function expected to return 'Int?'

func nextSmallest(lst: [Int]) -> Int? {
    // Your code here
}
```swift
// You are given an array of integers.
// Write a function next_smallest() that returns the 2nd smallest element of the array.
// Return nil if there is no such element.
// nextSmallest(lst: [1, 2, 3, 4, 5]) == 2
// nextSmallest(lst: [5, 1, 4, 3, 2]) == 2
// nextSmallest(lst: [] as [Int]) == nil
// nextSmallest(lst: [1, 1]) == nil
func nextSmallest(lst: [Int]) -> Int? {
    // Your code here
}
```

} // missing return in global function expected to return 'Int?'

func nextSmallest(lst: [Int]) -> Int? {
    // Your code here
}
```swift
// You are given an array of integers.
// Write a function next_smallest() that returns the 2nd smallest element of the array.
// Return nil if there is no such element.
// nextSmallest(lst: [1, 2, 3, 4, 5]) == 2
// nextSmallest(lst: [5, 1, 4, 3, 2]) == 2
// nextSmallest(lst: [] as [Int]) == nil
// nextSmallest(lst: [1, 1]) == nil
func nextSmallest(lst: [Int]) -> Int? {
    // Your code here
}
```

} // missing return in global function expected to return 'Int?'

func nextSmallest(lst: [Int]) -> Int? {
    guard lst.count > 1 else { return nil }
    let sortedList = lst.sorted()
    return sortedList[1]
}
```swift
// You are given an array of integers.
// Write a function next_smallest() that returns the 2nd smallest element of the array.
// Return nil if there is no such element.
// nextSmallest(lst: [1, 2, 3, 4, 5]) == 2
// nextSmallest(lst: [5, 1, 4, 3, 2]) == 2
// nextSmallest(lst: [] as [Int]) == nil
// nextSmallest(lst: [1, 1]) == nil
func nextSmallest(lst: [Int]) -> Int? {
    guard lst.count > 1 else { return nil }
    let sortedList = lst.sorted()
    return sortedList[1]
}
```

 // XCTAssertTrue failed

func nextSmallest(lst: [Int]) -> Int? {
    // Your code here
}
```swift
// You are given an array of integers.
// Write a function next_smallest() that returns the 2nd smallest element of the array.
// Return nil if there is no such element.
// nextSmallest(lst: [1, 2, 3, 4, 5]) == 2
// nextSmallest(lst: [5, 1, 4, 3, 2]) == 2
// nextSmallest(lst: [] as [Int]) == nil
// nextSmallest(lst: [1, 1]) == nil
func nextSmallest(lst: [Int]) -> Int? {
    // Your code here
}
```

} // missing return in global function expected to return 'Int?'

func nextSmallest(lst: [Int]) -> Int? {
    // Your code here
}
```swift
// You are given an array of integers.
// Write a function next_smallest() that returns the 2nd smallest element of the array.
// Return nil if there is no such element.
// nextSmallest(lst: [1, 2, 3, 4, 5]) == 2
// nextSmallest(lst: [5, 1, 4, 3, 2]) == 2
// nextSmallest(lst: [] as [Int]) == nil
// nextSmallest(lst: [1, 1]) == nil
func nextSmallest(lst: [Int]) -> Int? {
    // Your code here
}
```

} // missing return in global function expected to return 'Int?'

func nextSmallest(lst: [Int]) -> Int? {
    guard lst.count > 1 else { return nil }
    let sortedList = lst.sorted()
    return sortedList[1]
}
```swift
// You are given an array of integers.
// Write a function next_smallest() that returns the 2nd smallest element of the array.
// Return nil if there is no such element.
// nextSmallest(lst: [1, 2, 3, 4, 5]) == 2
// nextSmallest(lst: [5, 1, 4, 3, 2]) == 2
// nextSmallest(lst: [] as [Int]) == nil
// nextSmallest(lst: [1, 1]) == nil
func nextSmallest(lst: [Int]) -> Int? {
    guard lst.count > 1 else { return nil }
    let sortedList = lst.sorted()
    return sortedList[1]
}
```

 // XCTAssertTrue failed

func nextSmallest(lst: [Int]) -> Int? {
    if lst.count < 2 {
        return nil
    }
    let sortedList = lst.sorted()
    return sortedList[1]
}
```swift
// You are given an array of integers.
// Write a function next_smallest() that returns the 2nd smallest element of the array.
// Return nil if there is no such element.
// nextSmallest(lst: [1, 2, 3, 4, 5]) == 2
// nextSmallest(lst: [5, 1, 4, 3, 2]) == 2
// nextSmallest(lst: [] as [Int]) == nil
// nextSmallest(lst: [1, 1]) == nil
func nextSmallest(lst: [Int]) -> Int? {
    if lst.count < 2 {
        return nil
    }
    let sortedList = lst.sorted()
    return sortedList[1]
}
```

 // XCTAssertTrue failed

func nextSmallest(lst: [Int]) -> Int? {
    guard lst.count > 1 else { return nil }
    let sortedList = lst.sorted()
    return sortedList[1]
}
```swift
// You are given an array of integers.
// Write a function next_smallest() that returns the 2nd smallest element of the array.
// Return nil if there is no such element.
// nextSmallest(lst: [1, 2, 3, 4, 5]) == 2
// nextSmallest(lst: [5, 1, 4, 3, 2]) == 2
// nextSmallest(lst: [] as [Int]) == nil
// nextSmallest(lst: [1, 1]) == nil
func nextSmallest(lst: [Int]) -> Int? {
    guard lst.count > 1 else { return nil }
    let sortedList = lst.sorted()
    return sortedList[1]
}
```

 // XCTAssertTrue failed

func nextSmallest(lst: [Int]) -> Int? {
    guard lst.count > 1 else { return nil }
    let sortedList = lst.sorted()
    return sortedList[1]
}
```swift
// You are given an array of integers.
// Write a function next_smallest() that returns the 2nd smallest element of the array.
// Return nil if there is no such element.
// nextSmallest(lst: [1, 2, 3, 4, 5]) == 2
// nextSmallest(lst: [5, 1, 4, 3, 2]) == 2
// nextSmallest(lst: [] as [Int]) == nil
// nextSmallest(lst: [1, 1]) == nil
func nextSmallest(lst: [Int]) -> Int? {
    guard lst.count > 1 else { return nil }
    let sortedList = lst.sorted()
    return sortedList[1]
}
```

 // XCTAssertTrue failed

func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    let boredCount = sentences.filter { $0.hasPrefix("I ") }.count
    return boredCount
}
```swift
// You'll be given a string of words, and your task is to count the number
// of boredoms. A boredom is a sentence that starts with the word "I".
// Sentences are delimited by '.', '?' or '!'.
// For example:
// isBored(S: "Hello world") == 0
// isBored(S: "The sky is blue. The sun is shining. I love this weather") == 1
func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    let boredCount = sentences.filter { $0.hasPrefix("I ") }.count
    return boredCount
}
```

let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'questionMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'exclamationMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'period'

func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    return sentences.filter { $0.hasPrefix("I ") }.count
}
```swift
// You'll be given a string of words, and your task is to count the number
// of boredoms. A boredom is a sentence that starts with the word "I".
// Sentences are delimited by '.', '?' or '!'.
// For example:
// isBored(S: "Hello world") == 0
// isBored(S: "The sky is blue. The sun is shining. I love this weather") == 1
func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    return sentences.filter { $0.hasPrefix("I ") }.count
}
```

let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'questionMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'exclamationMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'period'

func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    return sentences.filter { $0.hasPrefix("I") }.count
}
```swift
// You'll be given a string of words, and your task is to count the number
// of boredoms. A boredom is a sentence that starts with the word "I".
// Sentences are delimited by '.', '?' or '!'.
// For example:
// isBored(S: "Hello world") == 0
// isBored(S: "The sky is blue. The sun is shining. I love this weather") == 1
func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    return sentences.filter { $0.hasPrefix("I") }.count
}
```

let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'questionMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'exclamationMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'period'

func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    let boredSentences = sentences.filter { $0.hasPrefix("I ") }
    return boredSentences.count
}
```swift
// You'll be given a string of words, and your task is to count the number
// of boredoms. A boredom is a sentence that starts with the word "I".
// Sentences are delimited by '.', '?' or '!'.
// For example:
// isBored(S: "Hello world") == 0
// isBored(S: "The sky is blue. The sun is shining. I love this weather") == 1
func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    let boredSentences = sentences.filter { $0.hasPrefix("I ") }
    return boredSentences.count
}
```

let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'questionMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'exclamationMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'period'

func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    return sentences.filter { $0.hasPrefix("I ") }.count
}
```swift
// You'll be given a string of words, and your task is to count the number
// of boredoms. A boredom is a sentence that starts with the word "I".
// Sentences are delimited by '.', '?' or '!'.
// For example:
// isBored(S: "Hello world") == 0
// isBored(S: "The sky is blue. The sun is shining. I love this weather") == 1
func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    return sentences.filter { $0.hasPrefix("I ") }.count
}
```

let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'questionMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'exclamationMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'period'

func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    return sentences.filter { $0.hasPrefix("I ") }.count
}
```swift
// You'll be given a string of words, and your task is to count the number
// of boredoms. A boredom is a sentence that starts with the word "I".
// Sentences are delimited by '.', '?' or '!'.
// For example:
// isBored(S: "Hello world") == 0
// isBored(S: "The sky is blue. The sun is shining. I love this weather") == 1
func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    return sentences.filter { $0.hasPrefix("I ") }.count
}
```

let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'questionMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'exclamationMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'period'

func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    let boredSentences = sentences.filter { $0.hasPrefix("I ") }
    return boredSentences.count
}
```swift
// You'll be given a string of words, and your task is to count the number
// of boredoms. A boredom is a sentence that starts with the word "I".
// Sentences are delimited by '.', '?' or '!'.
// For example:
// isBored(S: "Hello world") == 0
// isBored(S: "The sky is blue. The sun is shining. I love this weather") == 1
func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    let boredSentences = sentences.filter { $0.hasPrefix("I ") }
    return boredSentences.count
}
```

let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'questionMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'exclamationMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'period'

func isBored(S: String) -> Int {
    let delimiters = [".", "?", "!"]
    let sentences = S.components(separatedBy: delimiters)
    let boredCount = sentences.filter { $0.hasPrefix("I") }.count
    return boredCount
}
```swift
// You'll be given a string of words, and your task is to count the number
// of boredoms. A boredom is a sentence that starts with the word "I".
// Sentences are delimited by '.', '?' or '!'.
// For example:
// isBored(S: "Hello world") == 0
// isBored(S: "The sky is blue. The sun is shining. I love this weather") == 1
func isBored(S: String) -> Int {
    let delimiters = [".", "?", "!"]
    let sentences = S.components(separatedBy: delimiters)
    let boredCount = sentences.filter { $0.hasPrefix("I") }.count
    return boredCount
}
```

let sentences = S.components(separatedBy: delimiters) // cannot convert value of type '[String]' to expected argument type 'CharacterSet'

func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    let boredCount = sentences.filter { $0.hasPrefix("I ") }.count
    return boredCount
}
```swift
// You'll be given a string of words, and your task is to count the number
// of boredoms. A boredom is a sentence that starts with the word "I".
// Sentences are delimited by '.', '?' or '!'.
// For example:
// isBored(S: "Hello world") == 0
// isBored(S: "The sky is blue. The sun is shining. I love this weather") == 1
func isBored(S: String) -> Int {
    let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark])
    let boredCount = sentences.filter { $0.hasPrefix("I ") }.count
    return boredCount
}
```

let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'questionMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'exclamationMark'
let sentences = S.components(separatedBy: [.period, .questionMark, .exclamationMark]) // type 'CharacterSet.ArrayLiteralElement' (aka 'Unicode.Scalar') has no member 'period'

func isBored(S: String) -> Int {
    let delimiters = [".", "?", "!"]
    let sentences = S.components(separatedBy: delimiters).filter { !$0.isEmpty }
    let boredSentences = sentences.filter { $0.hasPrefix("I") }
    return boredSentences.count
}
```swift
// You'll be given a string of words, and your task is to count the number
// of boredoms. A boredom is a sentence that starts with the word "I".
// Sentences are delimited by '.', '?' or '!'.
// For example:
// isBored(S: "Hello world") == 0
// isBored(S: "The sky is blue. The sun is shining. I love this weather") == 1
func isBored(S: String) -> Int {
    let delimiters = [".", "?", "!"]
    let sentences = S.components(separatedBy: delimiters).filter { !$0.isEmpty }
    let boredSentences = sentences.filter { $0.hasPrefix("I") }
    return boredSentences.count
}
```

let sentences = S.components(separatedBy: delimiters).filter { !$0.isEmpty } // cannot convert value of type '[String]' to expected argument type 'CharacterSet'

func anyInt(x: Double, y: Double, z: Double) -> Bool {
    // Check if all numbers are integers
    if x.isInteger && y.isInteger && z.isInteger {
        // Check if one of the numbers is equal to the sum of the other two
        if x == y + z || y == x + z || z == x + y {
            return true
        }
    }
    return false
}
```swift
// Create a function that takes 3 numbers.
// Returns true if one of the numbers is equal to the sum of the other two, and all numbers are integers.
// Returns false in any other cases.
// Examples
// anyInt(x: 5, y: 2, z: 7) == true
// anyInt(x: 3, y: 2, z: 2) == false
// anyInt(x: 3, y: -2, z: 1) == true
// anyInt(x: 3.6, y: -2.2, z: 2) == false
func anyInt(x: Double, y: Double, z: Double) -> Bool {
    // Check if all numbers are integers
    if x.isInteger && y.isInteger && z.isInteger {
        // Check if one of the numbers is equal to the sum of the other two
        if x == y + z || y == x + z || z == x + y {
            return true
        }
    }
    return false
}
```

if x.isInteger && y.isInteger && z.isInteger { // value of type 'Double' has no member 'isInteger'
if x.isInteger && y.isInteger && z.isInteger { // value of type 'Double' has no member 'isInteger'
if x.isInteger && y.isInteger && z.isInteger { // value of type 'Double' has no member 'isInteger'

func anyInt(x: Double, y: Double, z: Double) -> Bool {
    // Check if all numbers are integers
    if x.isInt && y.isInt && z.isInt {
        // Check if one of the numbers is equal to the sum of the other two
        if x == y + z || y == x + z || z == x + y {
            return true
        }
    }
    return false
}

extension Double {
    var isInt: Bool {
        return self == round(self)
    }
}
```swift
// Create a function that takes 3 numbers.
// Returns true if one of the numbers is equal to the sum of the other two, and all numbers are integers.
// Returns false in any other cases.
// Examples
// anyInt(x: 5, y: 2, z: 7) == true
// anyInt(x: 3, y: 2, z: 2) == false
// anyInt(x: 3, y: -2, z: 1) == true
// anyInt(x: 3.6, y: -2.2, z: 2) == false
func anyInt(x: Double, y: Double, z: Double) -> Bool {
    // Check if all numbers are integers
    if x.isInt && y.isInt && z.isInt {
        // Check if one of the numbers is equal to the sum of the other two
        if x == y + z || y == x + z || z == x + y {
            return true
        }
    }
    return false
}

// Helper function to check if a number is an integer
extension Double {
    var isInt: Bool {
        return self == round(self)
    }
}
```

return self == round(self) // binary operator '==' cannot be applied to operands of type 'Double' and '()'
return self == round(self) // cannot use mutating member on immutable value: 'self' is immutable
return self == round(self) // cannot convert value of type 'Double' to expected argument type 'FloatingPointRoundingRule'

func anyInt(x: Double, y: Double, z: Double) -> Bool {
    return x.isInteger && y.isInteger && z.isInteger && (x == y + z || y == x + z || z == x + y)
}
```swift
// Create a function that takes 3 numbers.
// Returns true if one of the numbers is equal to the sum of the other two, and all numbers are integers.
// Returns false in any other cases.
// Examples
// anyInt(x: 5, y: 2, z: 7) == true
// anyInt(x: 3, y: 2, z: 2) == false
// anyInt(x: 3, y: -2, z: 1) == true
// anyInt(x: 3.6, y: -2.2, z: 2) == false
func anyInt(x: Double, y: Double, z: Double) -> Bool {
    return x.isInteger && y.isInteger && z.isInteger && (x == y + z || y == x + z || z == x + y)
}
```

return x.isInteger && y.isInteger && z.isInteger && (x == y + z || y == x + z || z == x + y) // value of type 'Double' has no member 'isInteger'
return x.isInteger && y.isInteger && z.isInteger && (x == y + z || y == x + z || z == x + y) // value of type 'Double' has no member 'isInteger'
return x.isInteger && y.isInteger && z.isInteger && (x == y + z || y == x + z || z == x + y) // value of type 'Double' has no member 'isInteger'

func anyInt(x: Double, y: Double, z: Double) -> Bool {
    return (x.isInteger && y.isInteger && z.isInteger) && (x == y + z || y == x + z || z == x + y)
}
```swift
// Create a function that takes 3 numbers.
// Returns true if one of the numbers is equal to the sum of the other two, and all numbers are integers.
// Returns false in any other cases.
// Examples
// anyInt(x: 5, y: 2, z: 7) == true
// anyInt(x: 3, y: 2, z: 2) == false
// anyInt(x: 3, y: -2, z: 1) == true
// anyInt(x: 3.6, y: -2.2, z: 2) == false
func anyInt(x: Double, y: Double, z: Double) -> Bool {
    return (x.isInteger && y.isInteger && z.isInteger) && (x == y + z || y == x + z || z == x + y)
}
```

return (x.isInteger && y.isInteger && z.isInteger) && (x == y + z || y == x + z || z == x + y) // value of type 'Double' has no member 'isInteger'
return (x.isInteger && y.isInteger && z.isInteger) && (x == y + z || y == x + z || z == x + y) // value of type 'Double' has no member 'isInteger'
return (x.isInteger && y.isInteger && z.isInteger) && (x == y + z || y == x + z || z == x + y) // value of type 'Double' has no member 'isInteger'

func anyInt(x: Double, y: Double, z: Double) -> Bool {
    if x.isNaN || y.isNaN || z.isNaN {
        return false
    }
    if x.isInfinite || y.isInfinite || z.isInfinite {
        return false
    }
    if x.isFinite && y.isFinite && z.isFinite {
        if x.isInt && y.isInt && z.isInt {
            if x == y + z || y == x + z || z == x + y {
                return true
            }
        }
    }
    return false
}
```swift
// Create a function that takes 3 numbers.
// Returns true if one of the numbers is equal to the sum of the other two, and all numbers are integers.
// Returns false in any other cases.
// Examples
// anyInt(x: 5, y: 2, z: 7) == true
// anyInt(x: 3, y: 2, z: 2) == false
// anyInt(x: 3, y: -2, z: 1) == true
// anyInt(x: 3.6, y: -2.2, z: 2) == false
func anyInt(x: Double, y: Double, z: Double) -> Bool {
    if x.isNaN || y.isNaN || z.isNaN {
        return false
    }
    if x.isInfinite || y.isInfinite || z.isInfinite {
        return false
    }
    if x.isFinite && y.isFinite && z.isFinite {
        if x.isInt && y.isInt && z.isInt {
            if x == y + z || y == x + z || z == x + y {
                return true
            }
        }
    }
    return false
}
```

if x.isInt && y.isInt && z.isInt { // value of type 'Double' has no member 'isInt'
if x.isInt && y.isInt && z.isInt { // value of type 'Double' has no member 'isInt'
if x.isInt && y.isInt && z.isInt { // value of type 'Double' has no member 'isInt'

func anyInt(x: Double, y: Double, z: Double) -> Bool {
    if x.isNaN || y.isNaN || z.isNaN {
        return false
    }
    if x.isInfinite || y.isInfinite || z.isInfinite {
        return false
    }
    if x.isFinite && y.isFinite && z.isFinite {
        if x.isInteger && y.isInteger && z.isInteger {
            if x == y + z || y == x + z || z == x + y {
                return true
            }
        }
    }
    return false
}
```swift
// Create a function that takes 3 numbers.
// Returns true if one of the numbers is equal to the sum of the other two, and all numbers are integers.
// Returns false in any other cases.
// Examples
// anyInt(x: 5, y: 2, z: 7) == true
// anyInt(x: 3, y: 2, z: 2) == false
// anyInt(x: 3, y: -2, z: 1) == true
// anyInt(x: 3.6, y: -2.2, z: 2) == false
func anyInt(x: Double, y: Double, z: Double) -> Bool {
    if x.isNaN || y.isNaN || z.isNaN {
        return false
    }
    if x.isInfinite || y.isInfinite || z.isInfinite {
        return false
    }
    if x.isFinite && y.isFinite && z.isFinite {
        if x.isInteger && y.isInteger && z.isInteger {
            if x == y + z || y == x + z || z == x + y {
                return true
            }
        }
    }
    return false
}
```

if x.isInteger && y.isInteger && z.isInteger { // value of type 'Double' has no member 'isInteger'
if x.isInteger && y.isInteger && z.isInteger { // value of type 'Double' has no member 'isInteger'
if x.isInteger && y.isInteger && z.isInteger { // value of type 'Double' has no member 'isInteger'

func anyInt(x: Double, y: Double, z: Double) -> Bool {
    if x.isInteger && y.isInteger && z.isInteger {
        if x == y + z || y == x + z || z == x + y {
            return true
        }
    }
    return false
}
```swift
// Create a function that takes 3 numbers.
// Returns true if one of the numbers is equal to the sum of the other two, and all numbers are integers.
// Returns false in any other cases.
// Examples
// anyInt(x: 5, y: 2, z: 7) == true
// anyInt(x: 3, y: 2, z: 2) == false
// anyInt(x: 3, y: -2, z: 1) == true
// anyInt(x: 3.6, y: -2.2, z: 2) == false
func anyInt(x: Double, y: Double, z: Double) -> Bool {
    if x.isInteger && y.isInteger && z.isInteger {
        if x == y + z || y == x + z || z == x + y {
            return true
        }
    }
    return false
}
```

if x.isInteger && y.isInteger && z.isInteger { // value of type 'Double' has no member 'isInteger'
if x.isInteger && y.isInteger && z.isInteger { // value of type 'Double' has no member 'isInteger'
if x.isInteger && y.isInteger && z.isInteger { // value of type 'Double' has no member 'isInteger'

func anyInt(x: Double, y: Double, z: Double) -> Bool {
    if x.isNaN || y.isNaN || z.isNaN {
        return false
    }
    if x.isInfinite || y.isInfinite || z.isInfinite {
        return false
    }
    if x.isFinite && y.isFinite && z.isFinite {
        if x.isInt && y.isInt && z.isInt {
            if x == y + z || y == x + z || z == x + y {
                return true
            }
        }
    }
    return false
}
```swift
// Create a function that takes 3 numbers.
// Returns true if one of the numbers is equal to the sum of the other two, and all numbers are integers.
// Returns false in any other cases.
// Examples
// anyInt(x: 5, y: 2, z: 7) == true
// anyInt(x: 3, y: 2, z: 2) == false
// anyInt(x: 3, y: -2, z: 1) == true
// anyInt(x: 3.6, y: -2.2, z: 2) == false
func anyInt(x: Double, y: Double, z: Double) -> Bool {
    if x.isNaN || y.isNaN || z.isNaN {
        return false
    }
    if x.isInfinite || y.isInfinite || z.isInfinite {
        return false
    }
    if x.isFinite && y.isFinite && z.isFinite {
        if x.isInt && y.isInt && z.isInt {
            if x == y + z || y == x + z || z == x + y {
                return true
            }
        }
    }
    return false
}
```

if x.isInt && y.isInt && z.isInt { // value of type 'Double' has no member 'isInt'
if x.isInt && y.isInt && z.isInt { // value of type 'Double' has no member 'isInt'
if x.isInt && y.isInt && z.isInt { // value of type 'Double' has no member 'isInt'

func anyInt(x: Double, y: Double, z: Double) -> Bool {
    // Check if all numbers are integers
    if x.isInt && y.isInt && z.isInt {
        // Check if one of the numbers is equal to the sum of the other two
        if x == y + z || y == x + z || z == x + y {
            return true
        }
    }
    return false
}

extension Double {
    var isInt: Bool {
        return self == floor(self)
    }
}
```swift
// Create a function that takes 3 numbers.
// Returns true if one of the numbers is equal to the sum of the other two, and all numbers are integers.
// Returns false in any other cases.
// Examples
// anyInt(x: 5, y: 2, z: 7) == true
// anyInt(x: 3, y: 2, z: 2) == false
// anyInt(x: 3, y: -2, z: 1) == true
// anyInt(x: 3.6, y: -2.2, z: 2) == false
func anyInt(x: Double, y: Double, z: Double) -> Bool {
    // Check if all numbers are integers
    if x.isInt && y.isInt && z.isInt {
        // Check if one of the numbers is equal to the sum of the other two
        if x == y + z || y == x + z || z == x + y {
            return true
        }
    }
    return false
}

// Check if a number is an integer
extension Double {
    var isInt: Bool {
        return self == floor(self)
    }
}

// Test the function
print(anyInt(x: 5, y: 2, z: 7)) // true
print(anyInt(x: 3, y: 2, z: 2)) // false
print(anyInt(x: 3, y: -2, z: 1)) // true
print(anyInt(x: 3.6, y: -2.2, z: 2)) // false
```

func anyInt(x: Double, y: Double, z: Double) -> Bool {
    // Check if all numbers are integers
    if x.isInt && y.isInt && z.isInt {
        // Check if one of the numbers is equal to the sum of the other two
        if x == y + z || y == x + z || z == x + y {
            return true
        }
    }
    return false
}

extension Double {
    var isInt: Bool {
        return self == floor(self)
    }
}
```swift
// Create a function that takes 3 numbers.
// Returns true if one of the numbers is equal to the sum of the other two, and all numbers are integers.
// Returns false in any other cases.
// Examples
// anyInt(x: 5, y: 2, z: 7) == true
// anyInt(x: 3, y: 2, z: 2) == false
// anyInt(x: 3, y: -2, z: 1) == true
// anyInt(x: 3.6, y: -2.2, z: 2) == false
func anyInt(x: Double, y: Double, z: Double) -> Bool {
    // Check if all numbers are integers
    if x.isInt && y.isInt && z.isInt {
        // Check if one of the numbers is equal to the sum of the other two
        if x == y + z || y == x + z || z == x + y {
            return true
        }
    }
    return false
}

// Check if a number is an integer
extension Double {
    var isInt: Bool {
        return self == floor(self)
    }
}
```

func encode(message: String) -> String {
    // Your code here
}
```swift
// Write a function that takes a message, and encodes in such a 
// way that it swaps case of all letters, replaces all vowels in 
// the message with the letter that appears 2 places ahead of that 
// vowel in the english alphabet. 
// Assume only letters. 
// Examples:
// encode(message: "test") == "TGST"
// encode(message: "This is a message") == "tHKS KS C MGSSCGG"
func encode(message: String) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func encode(message: String) -> String {
    // Your code here
}
```swift
// Write a function that takes a message, and encodes in such a 
// way that it swaps case of all letters, replaces all vowels in 
// the message with the letter that appears 2 places ahead of that 
// vowel in the english alphabet. 
// Assume only letters. 
// Examples:
// encode(message: "test") == "TGST"
// encode(message: "This is a message") == "tHKS KS C MGSSCGG"
func encode(message: String) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func encode(message: String) -> String {
    // Your code here
}
```swift
// Write a function that takes a message, and encodes in such a 
// way that it swaps case of all letters, replaces all vowels in 
// the message with the letter that appears 2 places ahead of that 
// vowel in the english alphabet. 
// Assume only letters. 
// Examples:
// encode(message: "test") == "TGST"
// encode(message: "This is a message") == "tHKS KS C MGSSCGG"
func encode(message: String) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func encode(message: String) -> String { 
    // Your code here
}
```swift
// Write a function that takes a message, and encodes in such a 
// way that it swaps case of all letters, replaces all vowels in 
// the message with the letter that appears 2 places ahead of that 
// vowel in the english alphabet. 
// Assume only letters. 
// Examples:
// encode(message: "test") == "TGST"
// encode(message: "This is a message") == "tHKS KS C MGSSCGG"
func encode(message: String) -> String { 
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func encode(message: String) -> String {
    var encodedMessage = ""
    let vowels = ["a", "e", "i", "o", "u"]
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    
    for char in message {
        if char.isLetter {
            var newChar = char
            if char.isLowercase {
                newChar = char.uppercased()
            } else {
                newChar = char.lowercased()
            }
            
            if vowels.contains(String(newChar)) {
                let vowelIndex = alphabet.firstIndex(of: String(newChar))!
                let newIndex = alphabet.index(alphabet.startIndex, offsetBy: (vowelIndex + 2) % 26)
                newChar = alphabet[newIndex]
            }
            
            encodedMessage.append(newChar)
        } else {
            encodedMessage.append(char)
        }
    }
    
    return encodedMessage
}
```swift
// Write a function that takes a message, and encodes in such a 
// way that it swaps case of all letters, replaces all vowels in 
// the message with the letter that appears 2 places ahead of that 
// vowel in the english alphabet. 
// Assume only letters. 
// Examples:
// encode(message: "test") == "TGST"
// encode(message: "This is a message") == "tHKS KS C MGSSCGG"
func encode(message: String) -> String {
    var encodedMessage = ""
    let vowels = ["a", "e", "i", "o", "u"]
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    
    for char in message {
        if char.isLetter {
            var newChar = char
            if char.isLowercase {
                newChar = char.uppercased()
            } else {
                newChar = char.lowercased()
            }
            
            if vowels.contains(String(newChar)) {
                let vowelIndex = alphabet.firstIndex(of: String(newChar))!
                let newIndex = alphabet.index(alphabet.startIndex, offsetBy: (vowelIndex + 2) % 26)
                newChar = alphabet[newIndex]
            }
            
            encodedMessage.append(newChar)
        } else {
            encodedMessage.append(char)
        }
    }
    
    return encodedMessage
}
```

newChar = char.uppercased() // cannot assign value of type 'String' to type 'Character'
newChar = char.lowercased() // cannot assign value of type 'String' to type 'Character'
let vowelIndex = alphabet.firstIndex(of: String(newChar))! // cannot convert value of type 'String' to expected argument type 'String.Element' (aka 'Character')

func encode(message: String) -> String { 
    // Your code here
}
```swift
// Write a function that takes a message, and encodes in such a 
// way that it swaps case of all letters, replaces all vowels in 
// the message with the letter that appears 2 places ahead of that 
// vowel in the english alphabet. 
// Assume only letters. 
// Examples:
// encode(message: "test") == "TGST"
// encode(message: "This is a message") == "tHKS KS C MGSSCGG"
func encode(message: String) -> String { 
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func encode(message: String) -> String { 
    let vowels = ["a", "e", "i", "o", "u"]
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encodedMessage = ""
    
    for char in message.lowercased() {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: 2)
            let newChar = alphabet[newIndex]
            let encodedChar = vowels.contains(String(char)) ? newChar.uppercased() : newChar
            encodedMessage.append(encodedChar)
        } else {
            encodedMessage.append(char)
        }
    }
    
    return encodedMessage
}
```swift
// Write a function that takes a message, and encodes in such a 
// way that it swaps case of all letters, replaces all vowels in 
// the message with the letter that appears 2 places ahead of that 
// vowel in the english alphabet. 
// Assume only letters. 
// Examples:
// encode(message: "test") == "TGST"
// encode(message: "This is a message") == "tHKS KS C MGSSCGG"
func encode(message: String) -> String { 
    let vowels = ["a", "e", "i", "o", "u"]
    let alphabet = "abcdefghijklmnopqrstuvwxyz"
    var encodedMessage = ""
    
    for char in message.lowercased() {
        if let index = alphabet.firstIndex(of: char) {
            let newIndex = alphabet.index(index, offsetBy: 2)
            let newChar = alphabet[newIndex]
            let encodedChar = vowels.contains(String(char)) ? newChar.uppercased() : newChar
            encodedMessage.append(encodedChar)
        } else {
            encodedMessage.append(char)
        }
    }
    
    return encodedMessage
}
```

let encodedChar = vowels.contains(String(char)) ? newChar.uppercased() : newChar // result values in '? :' expression have mismatching types 'String' and 'Character'

func encode(message: String) -> String {
    let vowels = ["a", "e", "i", "o", "u"]
    var encodedMessage = ""
    
    for char in message {
        var newChar = char
        
        if char.isLetter {
            if char.isLowercase {
                newChar = char.uppercased()
            } else {
                newChar = char.lowercased()
            }
            
            if vowels.contains(String(newChar)) {
                let index = vowels.firstIndex(of: String(newChar))!
                let newIndex = (index + 2) % vowels.count
                newChar = Character(vowels[newIndex])
            }
        }
        
        encodedMessage.append(newChar)
    }
    
    return encodedMessage
}
```swift
// Write a function that takes a message, and encodes in such a 
// way that it swaps case of all letters, replaces all vowels in 
// the message with the letter that appears 2 places ahead of that 
// vowel in the english alphabet. 
// Assume only letters. 
// Examples:
// encode(message: "test") == "TGST"
// encode(message: "This is a message") == "tHKS KS C MGSSCGG"
func encode(message: String) -> String {
    let vowels = ["a", "e", "i", "o", "u"]
    var encodedMessage = ""
    
    for char in message {
        var newChar = char
        
        if char.isLetter {
            if char.isLowercase {
                newChar = char.uppercased()
            } else {
                newChar = char.lowercased()
            }
            
            if vowels.contains(String(newChar)) {
                let index = vowels.firstIndex(of: String(newChar))!
                let newIndex = (index + 2) % vowels.count
                newChar = Character(vowels[newIndex])
            }
        }
        
        encodedMessage.append(newChar)
    }
    
    return encodedMessage
}

// Test the function
print(encode(message: "test")) // Output: "TGST"
print(encode(message: "This is a message")) // Output: "tHKS KS C MGSSCGG"
```

newChar = char.uppercased() // cannot assign value of type 'String' to type 'Character'
newChar = char.lowercased() // cannot assign value of type 'String' to type 'Character'

func encode(message: String) -> String { 
    let vowels = ["a", "e", "i", "o", "u"]
    var encodedMessage = ""
    for char in message {
        if char.isLetter {
            var newChar = char
            if char.isLowercase {
                newChar = char.uppercased()
            } else {
                newChar = char.lowercased()
            }
            if vowels.contains(String(newChar)) {
                let index = vowels.firstIndex(of: String(newChar))!
                let newIndex = (index + 2) % vowels.count
                newChar = Character(vowels[newIndex])
            }
            encodedMessage.append(newChar)
        } else {
            encodedMessage.append(char)
        }
    }
    return encodedMessage
}
```swift
// Write a function that takes a message, and encodes in such a 
// way that it swaps case of all letters, replaces all vowels in 
// the message with the letter that appears 2 places ahead of that 
// vowel in the english alphabet. 
// Assume only letters. 
// Examples:
// encode(message: "test") == "TGST"
// encode(message: "This is a message") == "tHKS KS C MGSSCGG"
func encode(message: String) -> String { 
    let vowels = ["a", "e", "i", "o", "u"]
    var encodedMessage = ""
    for char in message {
        if char.isLetter {
            var newChar = char
            if char.isLowercase {
                newChar = char.uppercased()
            } else {
                newChar = char.lowercased()
            }
            if vowels.contains(String(newChar)) {
                let index = vowels.firstIndex(of: String(newChar))!
                let newIndex = (index + 2) % vowels.count
                newChar = Character(vowels[newIndex])
            }
            encodedMessage.append(newChar)
        } else {
            encodedMessage.append(char)
        }
    }
    return encodedMessage
}
```

newChar = char.uppercased() // cannot assign value of type 'String' to type 'Character'
newChar = char.lowercased() // cannot assign value of type 'String' to type 'Character'

func encode(message: String) -> String {
    let vowels = ["a", "e", "i", "o", "u"]
    var encodedMessage = ""
    
    for char in message {
        if let index = vowels.firstIndex(of: String(char).lowercased()) {
            let vowel = vowels[index]
            let shiftedVowel = vowels[(index + 2) % vowels.count]
            let shiftedChar = String(char).uppercased() == String(char) ? shiftedVowel.uppercased() : shiftedVowel
            encodedMessage += shiftedChar
        } else {
            let shiftedChar = String(char).uppercased() == String(char) ? String(char).lowercased() : String(char).uppercased()
            encodedMessage += shiftedChar
        }
    }
    
    return encodedMessage
}
```swift
// Write a function that takes a message, and encodes in such a 
// way that it swaps case of all letters, replaces all vowels in 
// the message with the letter that appears 2 places ahead of that 
// vowel in the english alphabet. 
// Assume only letters. 
// Examples:
// encode(message: "test") == "TGST"
// encode(message: "This is a message") == "tHKS KS C MGSSCGG"
func encode(message: String) -> String {
    let vowels = ["a", "e", "i", "o", "u"]
    var encodedMessage = ""
    
    for char in message {
        if let index = vowels.firstIndex(of: String(char).lowercased()) {
            let vowel = vowels[index]
            let shiftedVowel = vowels[(index + 2) % vowels.count]
            let shiftedChar = String(char).uppercased() == String(char) ? shiftedVowel.uppercased() : shiftedVowel
            encodedMessage += shiftedChar
        } else {
            let shiftedChar = String(char).uppercased() == String(char) ? String(char).lowercased() : String(char).uppercased()
            encodedMessage += shiftedChar
        }
    }
    
    return encodedMessage
}
```

let vowel = vowels[index] // initialization of immutable value 'vowel' was never used; consider replacing with assignment to '_' or removing it
 // XCTAssertTrue failed

func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return String(largestPrime).reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}
```swift
// You are given an array of integers.
// You need to find the largest prime value and return the sum of its digits.
// Examples:
// skjkasdkd(lst: [0, 3, 2, 1, 3, 5, 7, 4, 5, 5, 5, 2, 181, 32, 4, 32, 3, 2, 32, 324, 4, 3]) == 10
// skjkasdkd(lst: [1, 0, 1, 8, 2, 4597, 2, 1, 3, 40, 1, 2, 1, 2, 4, 2, 5, 1]) == 25
// skjkasdkd(lst: [1, 3, 1, 32, 5107, 34, 83278, 109, 163, 23, 2323, 32, 30, 1, 9, 3]) == 13
// skjkasdkd(lst: [0, 724, 32, 71, 99, 32, 6, 0, 5, 91, 83, 0, 5, 6]) == 11
// skjkasdkd(lst: [0, 81, 12, 3, 1, 21]) == 3
// skjkasdkd(lst: [0, 8, 1, 2, 1, 7]) == 7
func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return String(largestPrime).reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}
```

return String(largestPrime).reduce(0, +) // cannot convert value of type '(Int) -> Int' to expected argument type '(Int, String.Element) throws -> Int' (aka '(Int, Character) throws -> Int')

func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits
    }
}
```swift
// You are given an array of integers.
// You need to find the largest prime value and return the sum of its digits.
// Examples:
// skjkasdkd(lst: [0, 3, 2, 1, 3, 5, 7, 4, 5, 5, 5, 2, 181, 32, 4, 32, 3, 2, 32, 324, 4, 3]) == 10
// skjkasdkd(lst: [1, 0, 1, 8, 2, 4597, 2, 1, 3, 40, 1, 2, 1, 2, 4, 2, 5, 1]) == 25
// skjkasdkd(lst: [1, 3, 1, 32, 5107, 34, 83278, 109, 163, 23, 2323, 32, 30, 1, 9, 3]) == 13
// skjkasdkd(lst: [0, 724, 32, 71, 99, 32, 6, 0, 5, 91, 83, 0, 5, 6]) == 11
// skjkasdkd(lst: [0, 81, 12, 3, 1, 21]) == 3
// skjkasdkd(lst: [0, 8, 1, 2, 1, 7]) == 7
func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits
    }
}
```

func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits.reversed()
    }
}
```swift
// You are given an array of integers.
// You need to find the largest prime value and return the sum of its digits.
// Examples:
// skjkasdkd(lst: [0, 3, 2, 1, 3, 5, 7, 4, 5, 5, 5, 2, 181, 32, 4, 32, 3, 2, 32, 324, 4, 3]) == 10
// skjkasdkd(lst: [1, 0, 1, 8, 2, 4597, 2, 1, 3, 40, 1, 2, 1, 2, 4, 2, 5, 1]) == 25
// skjkasdkd(lst: [1, 3, 1, 32, 5107, 34, 83278, 109, 163, 23, 2323, 32, 30, 1, 9, 3]) == 13
// skjkasdkd(lst: [0, 724, 32, 71, 99, 32, 6, 0, 5, 91, 83, 0, 5, 6]) == 11
// skjkasdkd(lst: [0, 81, 12, 3, 1, 21]) == 3
// skjkasdkd(lst: [0, 8, 1, 2, 1, 7]) == 7
func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits.reversed()
    }
}
```

func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    guard let largestPrime = primes.max() else { return 0 }
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits.reversed()
    }
}
```swift
// You are given an array of integers.
// You need to find the largest prime value and return the sum of its digits.
// Examples:
// skjkasdkd(lst: [0, 3, 2, 1, 3, 5, 7, 4, 5, 5, 5, 2, 181, 32, 4, 32, 3, 2, 32, 324, 4, 3]) == 10
// skjkasdkd(lst: [1, 0, 1, 8, 2, 4597, 2, 1, 3, 40, 1, 2, 1, 2, 4, 2, 5, 1]) == 25
// skjkasdkd(lst: [1, 3, 1, 32, 5107, 34, 83278, 109, 163, 23, 2323, 32, 30, 1, 9, 3]) == 13
// skjkasdkd(lst: [0, 724, 32, 71, 99, 32, 6, 0, 5, 91, 83, 0, 5, 6]) == 11
// skjkasdkd(lst: [0, 81, 12, 3, 1, 21]) == 3
// skjkasdkd(lst: [0, 8, 1, 2, 1, 7]) == 7
func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    guard let largestPrime = primes.max() else { return 0 }
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits.reversed()
    }
}
```

func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits.reversed()
    }
}
```swift
// You are given an array of integers.
// You need to find the largest prime value and return the sum of its digits.
// Examples:
// skjkasdkd(lst: [0, 3, 2, 1, 3, 5, 7, 4, 5, 5, 5, 2, 181, 32, 4, 32, 3, 2, 32, 324, 4, 3]) == 10
// skjkasdkd(lst: [1, 0, 1, 8, 2, 4597, 2, 1, 3, 40, 1, 2, 1, 2, 4, 2, 5, 1]) == 25
// skjkasdkd(lst: [1, 3, 1, 32, 5107, 34, 83278, 109, 163, 23, 2323, 32, 30, 1, 9, 3]) == 13
// skjkasdkd(lst: [0, 724, 32, 71, 99, 32, 6, 0, 5, 91, 83, 0, 5, 6]) == 11
// skjkasdkd(lst: [0, 81, 12, 3, 1, 21]) == 3
// skjkasdkd(lst: [0, 8, 1, 2, 1, 7]) == 7
func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits.reversed()
    }
}
```

func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits.reversed()
    }
}
```swift
// You are given an array of integers.
// You need to find the largest prime value and return the sum of its digits.
// Examples:
// skjkasdkd(lst: [0, 3, 2, 1, 3, 5, 7, 4, 5, 5, 5, 2, 181, 32, 4, 32, 3, 2, 32, 324, 4, 3]) == 10
// skjkasdkd(lst: [1, 0, 1, 8, 2, 4597, 2, 1, 3, 40, 1, 2, 1, 2, 4, 2, 5, 1]) == 25
// skjkasdkd(lst: [1, 3, 1, 32, 5107, 34, 83278, 109, 163, 23, 2323, 32, 30, 1, 9, 3]) == 13
// skjkasdkd(lst: [0, 724, 32, 71, 99, 32, 6, 0, 5, 91, 83, 0, 5, 6]) == 11
// skjkasdkd(lst: [0, 81, 12, 3, 1, 21]) == 3
// skjkasdkd(lst: [0, 8, 1, 2, 1, 7]) == 7
func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits.reversed()
    }
}
```

func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits
    }
}
```swift
// You are given an array of integers.
// You need to find the largest prime value and return the sum of its digits.
// Examples:
// skjkasdkd(lst: [0, 3, 2, 1, 3, 5, 7, 4, 5, 5, 5, 2, 181, 32, 4, 32, 3, 2, 32, 324, 4, 3]) == 10
// skjkasdkd(lst: [1, 0, 1, 8, 2, 4597, 2, 1, 3, 40, 1, 2, 1, 2, 4, 2, 5, 1]) == 25
// skjkasdkd(lst: [1, 3, 1, 32, 5107, 34, 83278, 109, 163, 23, 2323, 32, 30, 1, 9, 3]) == 13
// skjkasdkd(lst: [0, 724, 32, 71, 99, 32, 6, 0, 5, 91, 83, 0, 5, 6]) == 11
// skjkasdkd(lst: [0, 81, 12, 3, 1, 21]) == 3
// skjkasdkd(lst: [0, 8, 1, 2, 1, 7]) == 7
func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var digits: [Int] = []
        var number = self
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits
    }
}
```

func skjkasdkd(lst: [Int]) -> Int {
    var largestPrime = 0
    for num in lst {
        if isPrime(num) && num > largestPrime {
            largestPrime = num
        }
    }
    return sumOfDigits(largestPrime)
}

func isPrime(_ num: Int) -> Bool {
    if num <= 1 { return false }
    if num <= 3 { return true }
    if num % 2 == 0 || num % 3 == 0 { return false }
    var i = 5
    while i * i <= num {
        if num % i == 0 || num % (i + 2) == 0 { return false }
        i += 6
    }
    return true
}

func sumOfDigits(_ num: Int) -> Int {
    var sum = 0
    var n = num
    while n > 0 {
        sum += n % 10
        n /= 10
    }
    return sum
}
```swift
// You are given an array of integers.
// You need to find the largest prime value and return the sum of its digits.
// Examples:
// skjkasdkd(lst: [0, 3, 2, 1, 3, 5, 7, 4, 5, 5, 5, 2, 181, 32, 4, 32, 3, 2, 32, 324, 4, 3]) == 10
// skjkasdkd(lst: [1, 0, 1, 8, 2, 4597, 2, 1, 3, 40, 1, 2, 1, 2, 4, 2, 5, 1]) == 25
// skjkasdkd(lst: [1, 3, 1, 32, 5107, 34, 83278, 109, 163, 23, 2323, 32, 30, 1, 9, 3]) == 13
// skjkasdkd(lst: [0, 724, 32, 71, 99, 32, 6, 0, 5, 91, 83, 0, 5, 6]) == 11
// skjkasdkd(lst: [0, 81, 12, 3, 1, 21]) == 3
// skjkasdkd(lst: [0, 8, 1, 2, 1, 7]) == 7
func skjkasdkd(lst: [Int]) -> Int {
    var largestPrime = 0
    for num in lst {
        if isPrime(num) && num > largestPrime {
            largestPrime = num
        }
    }
    return sumOfDigits(largestPrime)
}

func isPrime(_ num: Int) -> Bool {
    if num <= 1 { return false }
    if num <= 3 { return true }
    if num % 2 == 0 || num % 3 == 0 { return false }
    var i = 5
    while i * i <= num {
        if num % i == 0 || num % (i + 2) == 0 { return false }
        i += 6
    }
    return true
}

func sumOfDigits(_ num: Int) -> Int {
    var sum = 0
    var n = num
    while n > 0 {
        sum += n % 10
        n /= 10
    }
    return sum
}
```

func skjkasdkd(lst: [Int]) -> Int {
    var largestPrime = 0
    for num in lst {
        if isPrime(num) && num > largestPrime {
            largestPrime = num
        }
    }
    return sumOfDigits(largestPrime)
}

func isPrime(_ num: Int) -> Bool {
    if num <= 1 {
        return false
    }
    for i in 2..<num {
        if num % i == 0 {
            return false
        }
    }
    return true
}

func sumOfDigits(_ num: Int) -> Int {
    var sum = 0
    var temp = num
    while temp > 0 {
        sum += temp % 10
        temp /= 10
    }
    return sum
}
```swift
// You are given an array of integers.
// You need to find the largest prime value and return the sum of its digits.
// Examples:
// skjkasdkd(lst: [0, 3, 2, 1, 3, 5, 7, 4, 5, 5, 5, 2, 181, 32, 4, 32, 3, 2, 32, 324, 4, 3]) == 10
// skjkasdkd(lst: [1, 0, 1, 8, 2, 4597, 2, 1, 3, 40, 1, 2, 1, 2, 4, 2, 5, 1]) == 25
// skjkasdkd(lst: [1, 3, 1, 32, 5107, 34, 83278, 109, 163, 23, 2323, 32, 30, 1, 9, 3]) == 13
// skjkasdkd(lst: [0, 724, 32, 71, 99, 32, 6, 0, 5, 91, 83, 0, 5, 6]) == 11
// skjkasdkd(lst: [0, 81, 12, 3, 1, 21]) == 3
// skjkasdkd(lst: [0, 8, 1, 2, 1, 7]) == 7
func skjkasdkd(lst: [Int]) -> Int {
    var largestPrime = 0
    for num in lst {
        if isPrime(num) && num > largestPrime {
            largestPrime = num
        }
    }
    return sumOfDigits(largestPrime)
}

func isPrime(_ num: Int) -> Bool {
    if num <= 1 {
        return false
    }
    for i in 2..<num {
        if num % i == 0 {
            return false
        }
    }
    return true
}

func sumOfDigits(_ num: Int) -> Int {
    var sum = 0
    var temp = num
    while temp > 0 {
        sum += temp % 10
        temp /= 10
    }
    return sum
}
```

func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

extension Int {
    func digits() -> [Int] {
        var number = self
        var digits: [Int] = []
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits.reversed()
    }
}
```swift
// You are given an array of integers.
// You need to find the largest prime value and return the sum of its digits.
// Examples:
// skjkasdkd(lst: [0, 3, 2, 1, 3, 5, 7, 4, 5, 5, 5, 2, 181, 32, 4, 32, 3, 2, 32, 324, 4, 3]) == 10
// skjkasdkd(lst: [1, 0, 1, 8, 2, 4597, 2, 1, 3, 40, 1, 2, 1, 2, 4, 2, 5, 1]) == 25
// skjkasdkd(lst: [1, 3, 1, 32, 5107, 34, 83278, 109, 163, 23, 2323, 32, 30, 1, 9, 3]) == 13
// skjkasdkd(lst: [0, 724, 32, 71, 99, 32, 6, 0, 5, 91, 83, 0, 5, 6]) == 11
// skjkasdkd(lst: [0, 81, 12, 3, 1, 21]) == 3
// skjkasdkd(lst: [0, 8, 1, 2, 1, 7]) == 7
func skjkasdkd(lst: [Int]) -> Int {
    let primes = lst.filter { isPrime($0) }
    let largestPrime = primes.max() ?? 0
    return largestPrime.digits().reduce(0, +)
}

// Helper function to check if a number is prime
func isPrime(_ number: Int) -> Bool {
    guard number > 1 else { return false }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}

// Helper function to get the digits of a number
extension Int {
    func digits() -> [Int] {
        var number = self
        var digits: [Int] = []
        while number > 0 {
            digits.append(number % 10)
            number /= 10
        }
        return digits.reversed()
    }
}
```

func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Implement a function that takes an non-negative integer and returns an array of the first n
// integers that are prime numbers and less than n.
// for example:
// countUpTo(n: 5) == [2, 3]
// countUpTo(n: 11) == [2, 3, 5, 7]
// countUpTo(n: 0) == [] as [Int]
// countUpTo(n: 20) == [2, 3, 5, 7, 11, 13, 17, 19]
// countUpTo(n: 1) == [] as [Int]
// countUpTo(n: 18) == [2, 3, 5, 7, 11, 13, 17]
func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

// Implement a function that takes an integer and returns true if it is a prime number, false otherwise.
// for example:
// isPrime(n: 5) == true
// isPrime(n: 1) == false
// isPrime(n: 29) == true
// isPrime(n: 12) == false
// isPrime(n: 97) == true
// isPrime(n: 51) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

if isPrime(i) { // missing argument label 'n:' in call

func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Implement a function that takes an non-negative integer and returns an array of the first n
// integers that are prime numbers and less than n.
// for example:
// countUpTo(n: 5) == [2, 3]
// countUpTo(n: 11) == [2, 3, 5, 7]
// countUpTo(n: 0) == [] as [Int]
// countUpTo(n: 20) == [2, 3, 5, 7, 11, 13, 17, 19]
// countUpTo(n: 1) == [] as [Int]
// countUpTo(n: 18) == [2, 3, 5, 7, 11, 13, 17]
func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

// Implement a function that takes an integer and returns true if it is a prime number, false otherwise.
// for example:
// isPrime(n: 5) == true
// isPrime(n: 1) == false
// isPrime(n: 29) == true
// isPrime(n: 2) == true
// isPrime(n: 9) == false
// isPrime(n: 9973) == true
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

if isPrime(i) { // missing argument label 'n:' in call

func countUpTo(n: Int) -> [Int] {
    var primes: [Int] = []
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(_ number: Int) -> Bool {
    if number <= 1 {
        return false
    }
    if number <= 3 {
        return true
    }
    if number % 2 == 0 || number % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= number {
        if number % i == 0 || number % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```swift
// Implement a function that takes an non-negative integer and returns an array of the first n
// integers that are prime numbers and less than n.
// for example:
// countUpTo(n: 5) == [2, 3]
// countUpTo(n: 11) == [2, 3, 5, 7]
// countUpTo(n: 0) == [] as [Int]
// countUpTo(n: 20) == [2, 3, 5, 7, 11, 13, 17, 19]
// countUpTo(n: 1) == [] as [Int]
// countUpTo(n: 18) == [2, 3, 5, 7, 11, 13, 17]
func countUpTo(n: Int) -> [Int] {
    var primes: [Int] = []
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

// Implement a function that takes an integer and returns true if it is a prime number and false otherwise.
// for example:
// isPrime(5) == true
// isPrime(1) == false
// isPrime(29) == true
// isPrime(2) == true
// isPrime(0) == false
// isPrime(15) == false
// isPrime(169) == false
func isPrime(_ number: Int) -> Bool {
    if number <= 1 {
        return false
    }
    if number <= 3 {
        return true
    }
    if number % 2 == 0 || number % 3 == 0 {
        return false
    }
    var i = 5
    while i * i <= number {
        if number % i == 0 || number % (i + 2) == 0 {
            return false
        }
        i += 6
    }
    return true
}
```

 // Fatal error: Range requires lowerBound <= upperBound

func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(_ number: Int) -> Bool {
    if number <= 1 {
        return false
    }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Implement a function that takes an non-negative integer and returns an array of the first n
// integers that are prime numbers and less than n.
// for example:
// countUpTo(n: 5) == [2, 3]
// countUpTo(n: 11) == [2, 3, 5, 7]
// countUpTo(n: 0) == [] as [Int]
// countUpTo(n: 20) == [2, 3, 5, 7, 11, 13, 17, 19]
// countUpTo(n: 1) == [] as [Int]
// countUpTo(n: 18) == [2, 3, 5, 7, 11, 13, 17]
func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(_ number: Int) -> Bool {
    if number <= 1 {
        return false
    }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}
```

 // Fatal error: Range requires lowerBound <= upperBound

func countUpTo(n: Int) -> [Int] {
    var primes: [Int] = []
    for number in 2..<n {
        if isPrime(number: number) {
            primes.append(number)
        }
    }
    return primes
}

func isPrime(number: Int) -> Bool {
    if number <= 1 {
        return false
    }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Implement a function that takes an non-negative integer and returns an array of the first n
// integers that are prime numbers and less than n.
// for example:
// countUpTo(n: 5) == [2, 3]
// countUpTo(n: 11) == [2, 3, 5, 7]
// countUpTo(n: 0) == [] as [Int]
// countUpTo(n: 20) == [2, 3, 5, 7, 11, 13, 17, 19]
// countUpTo(n: 1) == [] as [Int]
// countUpTo(n: 18) == [2, 3, 5, 7, 11, 13, 17]
func countUpTo(n: Int) -> [Int] {
    var primes: [Int] = []
    for number in 2..<n {
        if isPrime(number: number) {
            primes.append(number)
        }
    }
    return primes
}

// Implement a function that takes an integer and returns true if it is a prime number, false otherwise.
// for example:
// isPrime(number: 5) == true
// isPrime(number: 1) == false
// isPrime(number: 20) == false
// isPrime(number: 23) == true
func isPrime(number: Int) -> Bool {
    if number <= 1 {
        return false
    }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}
```

 // Fatal error: Range requires lowerBound <= upperBound

func countUpTo(n: Int) -> [Int] {
    var primes: [Int] = []
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(_ number: Int) -> Bool {
    if number <= 1 {
        return false
    }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Implement a function that takes an non-negative integer and returns an array of the first n
// integers that are prime numbers and less than n.
// for example:
// countUpTo(n: 5) == [2, 3]
// countUpTo(n: 11) == [2, 3, 5, 7]
// countUpTo(n: 0) == [] as [Int]
// countUpTo(n: 20) == [2, 3, 5, 7, 11, 13, 17, 19]
// countUpTo(n: 1) == [] as [Int]
// countUpTo(n: 18) == [2, 3, 5, 7, 11, 13, 17]
func countUpTo(n: Int) -> [Int] {
    var primes: [Int] = []
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(_ number: Int) -> Bool {
    if number <= 1 {
        return false
    }
    for i in 2..<number {
        if number % i == 0 {
            return false
        }
    }
    return true
}
```

 // Fatal error: Range requires lowerBound <= upperBound

func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(_ n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Implement a function that takes an non-negative integer and returns an array of the first n
// integers that are prime numbers and less than n.
// for example:
// countUpTo(n: 5) == [2, 3]
// countUpTo(n: 11) == [2, 3, 5, 7]
// countUpTo(n: 0) == [] as [Int]
// countUpTo(n: 20) == [2, 3, 5, 7, 11, 13, 17, 19]
// countUpTo(n: 1) == [] as [Int]
// countUpTo(n: 18) == [2, 3, 5, 7, 11, 13, 17]
func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(_ n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

 // Fatal error: Range requires lowerBound <= upperBound

func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(_ n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Implement a function that takes an non-negative integer and returns an array of the first n
// integers that are prime numbers and less than n.
// for example:
// countUpTo(n: 5) == [2, 3]
// countUpTo(n: 11) == [2, 3, 5, 7]
// countUpTo(n: 0) == [] as [Int]
// countUpTo(n: 20) == [2, 3, 5, 7, 11, 13, 17, 19]
// countUpTo(n: 1) == [] as [Int]
// countUpTo(n: 18) == [2, 3, 5, 7, 11, 13, 17]
func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(_ n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

 // Fatal error: Range requires lowerBound <= upperBound

func countUpTo(n: Int) -> [Int] {
    var primes: [Int] = []
    for num in 2..<n {
        if isPrime(num) {
            primes.append(num)
        }
    }
    return primes
}

func isPrime(_ num: Int) -> Bool {
    if num <= 1 {
        return false
    }
    for i in 2..<num {
        if num % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Implement a function that takes an non-negative integer and returns an array of the first n
// integers that are prime numbers and less than n.
// for example:
// countUpTo(n: 5) == [2, 3]
// countUpTo(n: 11) == [2, 3, 5, 7]
// countUpTo(n: 0) == [] as [Int]
// countUpTo(n: 20) == [2, 3, 5, 7, 11, 13, 17, 19]
// countUpTo(n: 1) == [] as [Int]
// countUpTo(n: 18) == [2, 3, 5, 7, 11, 13, 17]
func countUpTo(n: Int) -> [Int] {
    var primes: [Int] = []
    for num in 2..<n {
        if isPrime(num) {
            primes.append(num)
        }
    }
    return primes
}

// Helper function to check if a number is prime
func isPrime(_ num: Int) -> Bool {
    if num <= 1 {
        return false
    }
    for i in 2..<num {
        if num % i == 0 {
            return false
        }
    }
    return true
}
```

 // Fatal error: Range requires lowerBound <= upperBound

func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(_ num: Int) -> Bool {
    if num <= 1 {
        return false
    }
    for i in 2..<num {
        if num % i == 0 {
            return false
        }
    }
    return true
}
```swift
// Implement a function that takes an non-negative integer and returns an array of the first n
// integers that are prime numbers and less than n.
// for example:
// countUpTo(n: 5) == [2, 3]
// countUpTo(n: 11) == [2, 3, 5, 7]
// countUpTo(n: 0) == [] as [Int]
// countUpTo(n: 20) == [2, 3, 5, 7, 11, 13, 17, 19]
// countUpTo(n: 1) == [] as [Int]
// countUpTo(n: 18) == [2, 3, 5, 7, 11, 13, 17]
func countUpTo(n: Int) -> [Int] {
    var primes = [Int]()
    for i in 2..<n {
        if isPrime(i) {
            primes.append(i)
        }
    }
    return primes
}

func isPrime(_ num: Int) -> Bool {
    if num <= 1 {
        return false
    }
    for i in 2..<num {
        if num % i == 0 {
            return false
        }
    }
    return true
}
```

 // Fatal error: Range requires lowerBound <= upperBound

func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}

func check() {
    assert(multiply(a: 148, b: 412) == 16)
    assert(multiply(a: 19, b: 28) == 72)
    assert(multiply(a: 2020, b: 1851) == 0)
    assert(multiply(a: 14, b: -15) == 20)
    print("All tests passed!")
}
```swift
// Complete the function that takes two integers and returns 
// the product of their unit digits.
// Assume the input is always valid.
// Examples:
// multiply(a: 148, b: 412) == 16
// multiply(a: 19, b: 28) == 72
// multiply(a: 2020, b: 1851) == 0
// multiply(a: 14, b: -15) == 20
func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}

// Check function to verify the correctness of the solution
func check() {
    assert(multiply(a: 148, b: 412) == 16)
    assert(multiply(a: 19, b: 28) == 72)
    assert(multiply(a: 2020, b: 1851) == 0)
    assert(multiply(a: 14, b: -15) == 20)
    print("All tests passed!")
}

// Run the check function to verify the solution
check()
```

func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}

func check() {
    assert(multiply(a: 148, b: 412) == 16)
    assert(multiply(a: 19, b: 28) == 72)
    assert(multiply(a: 2020, b: 1851) == 0)
    assert(multiply(a: 14, b: -15) == 20)
    print("All tests passed!")
}
```swift
// Complete the function that takes two integers and returns 
// the product of their unit digits.
// Assume the input is always valid.
// Examples:
// multiply(a: 148, b: 412) == 16
// multiply(a: 19, b: 28) == 72
// multiply(a: 2020, b: 1851) == 0
// multiply(a: 14, b: -15) == 20
func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}

// Check function to verify the correctness of the solution
func check() {
    assert(multiply(a: 148, b: 412) == 16)
    assert(multiply(a: 19, b: 28) == 72)
    assert(multiply(a: 2020, b: 1851) == 0)
    assert(multiply(a: 14, b: -15) == 20)
    print("All tests passed!")
}

// Run the check function to verify the solution
check()
```

func multiply(a: Int, b: Int) -> Int {
    return (a % 10) * (b % 10)
}
```swift
// Complete the function that takes two integers and returns 
// the product of their unit digits.
// Assume the input is always valid.
// Examples:
// multiply(a: 148, b: 412) == 16
// multiply(a: 19, b: 28) == 72
// multiply(a: 2020, b: 1851) == 0
// multiply(a: 14, b: -15) == 20
func multiply(a: Int, b: Int) -> Int {
    return (a % 10) * (b % 10)
}
```

 // XCTAssertTrue failed

func multiply(a: Int, b: Int) -> Int {
    // Extract the unit digits of both numbers
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    
    // Multiply the unit digits and return the result
    return unitDigitA * unitDigitB
}
```swift
// Complete the function that takes two integers and returns 
// the product of their unit digits.
// Assume the input is always valid.
// Examples:
// multiply(a: 148, b: 412) == 16
// multiply(a: 19, b: 28) == 72
// multiply(a: 2020, b: 1851) == 0
// multiply(a: 14, b: -15) == 20
func multiply(a: Int, b: Int) -> Int {
    // Extract the unit digits of both numbers
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    
    // Multiply the unit digits and return the result
    return unitDigitA * unitDigitB
}
```

func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}
```swift
// Complete the function that takes two integers and returns 
// the product of their unit digits.
// Assume the input is always valid.
// Examples:
// multiply(a: 148, b: 412) == 16
// multiply(a: 19, b: 28) == 72
// multiply(a: 2020, b: 1851) == 0
// multiply(a: 14, b: -15) == 20
func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}
```

func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}
```swift
// Complete the function that takes two integers and returns 
// the product of their unit digits.
// Assume the input is always valid.
// Examples:
// multiply(a: 148, b: 412) == 16
// multiply(a: 19, b: 28) == 72
// multiply(a: 2020, b: 1851) == 0
// multiply(a: 14, b: -15) == 20
func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}
```

func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}
```swift
// Complete the function that takes two integers and returns 
// the product of their unit digits.
// Assume the input is always valid.
// Examples:
// multiply(a: 148, b: 412) == 16
// multiply(a: 19, b: 28) == 72
// multiply(a: 2020, b: 1851) == 0
// multiply(a: 14, b: -15) == 20
func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}
```

func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}
```swift
// Complete the function that takes two integers and returns 
// the product of their unit digits.
// Assume the input is always valid.
// Examples:
// multiply(a: 148, b: 412) == 16
// multiply(a: 19, b: 28) == 72
// multiply(a: 2020, b: 1851) == 0
// multiply(a: 14, b: -15) == 20
func multiply(a: Int, b: Int) -> Int {
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    return unitDigitA * unitDigitB
}
```

func multiply(a: Int, b: Int) -> Int {
    // Extract the unit digits of both numbers
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    
    // Multiply the unit digits and return the result
    return unitDigitA * unitDigitB
}

func check() {
    assert(multiply(a: 148, b: 412) == 16)
    assert(multiply(a: 19, b: 28) == 72)
    assert(multiply(a: 2020, b: 1851) == 0)
    assert(multiply(a: 14, b: -15) == 20)
    print("All tests passed!")
}
```swift
// Complete the function that takes two integers and returns 
// the product of their unit digits.
// Assume the input is always valid.
// Examples:
// multiply(a: 148, b: 412) == 16
// multiply(a: 19, b: 28) == 72
// multiply(a: 2020, b: 1851) == 0
// multiply(a: 14, b: -15) == 20
func multiply(a: Int, b: Int) -> Int {
    // Extract the unit digits of both numbers
    let unitDigitA = abs(a) % 10
    let unitDigitB = abs(b) % 10
    
    // Multiply the unit digits and return the result
    return unitDigitA * unitDigitB
}

// Check function to verify the correctness of the solution
func check() {
    assert(multiply(a: 148, b: 412) == 16)
    assert(multiply(a: 19, b: 28) == 72)
    assert(multiply(a: 2020, b: 1851) == 0)
    assert(multiply(a: 14, b: -15) == 20)
    print("All tests passed!")
}

// Run the check function to verify the solution
check()
```

func multiply(a: Int, b: Int) -> Int {
    let lastDigitA = abs(a % 10)
    let lastDigitB = abs(b % 10)
    return lastDigitA * lastDigitB
}
```swift
// Complete the function that takes two integers and returns 
// the product of their unit digits.
// Assume the input is always valid.
// Examples:
// multiply(a: 148, b: 412) == 16
// multiply(a: 19, b: 28) == 72
// multiply(a: 2020, b: 1851) == 0
// multiply(a: 14, b: -15) == 20
func multiply(a: Int, b: Int) -> Int {
    let lastDigitA = abs(a % 10)
    let lastDigitB = abs(b % 10)
    return lastDigitA * lastDigitB
}
```

func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0 && vowels.contains(char) && char.isUppercase {
            count += 1
        }
    }
    return count
}
```swift
// Given a string s, count the number of uppercase vowels in even indices.
// For example:
// countUpper(s: "aBCdEf") == 1
// countUpper(s: "abcdefg") == 0
// countUpper(s: "dBBE") == 0
func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0 && vowels.contains(char) && char.isUppercase {
            count += 1
        }
    }
    return count
}
```

func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0, vowels.contains(char) {
            count += 1
        }
    }
    return count
}
```swift
// Given a string s, count the number of uppercase vowels in even indices.
// For example:
// countUpper(s: "aBCdEf") == 1
// countUpper(s: "abcdefg") == 0
// countUpper(s: "dBBE") == 0
func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0, vowels.contains(char) {
            count += 1
        }
    }
    return count
}
```

func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0 && vowels.contains(char) && char.isUppercase {
            count += 1
        }
    }
    return count
}
```swift
// Given a string s, count the number of uppercase vowels in even indices.
// For example:
// countUpper(s: "aBCdEf") == 1
// countUpper(s: "abcdefg") == 0
// countUpper(s: "dBBE") == 0
func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0 && vowels.contains(char) && char.isUppercase {
            count += 1
        }
    }
    return count
}

// Test cases
print(countUpper(s: "aBCdEf")) // 1
print(countUpper(s: "abcdefg")) // 0
print(countUpper(s: "dBBE")) // 0
```

func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0 && vowels.contains(char) && char.isUppercase {
            count += 1
        }
    }
    return count
}
```swift
// Given a string s, count the number of uppercase vowels in even indices.
// For example:
// countUpper(s: "aBCdEf") == 1
// countUpper(s: "abcdefg") == 0
// countUpper(s: "dBBE") == 0
func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0 && vowels.contains(char) && char.isUppercase {
            count += 1
        }
    }
    return count
}

// Test cases
print(countUpper(s: "aBCdEf")) // 1
print(countUpper(s: "abcdefg")) // 0
print(countUpper(s: "dBBE")) // 0
```

func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0 && vowels.contains(char) && char.isUppercase {
            count += 1
        }
    }
    return count
}

func check() {
    assert(countUpper(s: "aBCdEf") == 1)
    assert(countUpper(s: "abcdefg") == 0)
    assert(countUpper(s: "dBBE") == 0)
    print("All tests passed!")
}
```swift
// Given a string s, count the number of uppercase vowels in even indices.
// For example:
// countUpper(s: "aBCdEf") == 1
// countUpper(s: "abcdefg") == 0
// countUpper(s: "dBBE") == 0
func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0 && vowels.contains(char) && char.isUppercase {
            count += 1
        }
    }
    return count
}

// Example check function
func check() {
    assert(countUpper(s: "aBCdEf") == 1)
    assert(countUpper(s: "abcdefg") == 0)
    assert(countUpper(s: "dBBE") == 0)
    print("All tests passed!")
}

check()
```

func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0, vowels.contains(char), char.isUppercase {
            count += 1
        }
    }
    return count
}

func check() {
    assert(countUpper(s: "aBCdEf") == 1)
    assert(countUpper(s: "abcdefg") == 0)
    assert(countUpper(s: "dBBE") == 0)
    print("All tests passed!")
}
```swift
// Given a string s, count the number of uppercase vowels in even indices.
// For example:
// countUpper(s: "aBCdEf") == 1
// countUpper(s: "abcdefg") == 0
// countUpper(s: "dBBE") == 0
func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0, vowels.contains(char), char.isUppercase {
            count += 1
        }
    }
    return count
}

// Example check function
func check() {
    assert(countUpper(s: "aBCdEf") == 1)
    assert(countUpper(s: "abcdefg") == 0)
    assert(countUpper(s: "dBBE") == 0)
    print("All tests passed!")
}

check()
```

func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0 && vowels.contains(char) && char.isUppercase {
            count += 1
        }
    }
    return count
}

func check() {
    assert(countUpper(s: "aBCdEf") == 1)
    assert(countUpper(s: "abcdefg") == 0)
    assert(countUpper(s: "dBBE") == 0)
    print("All tests passed!")
}
```swift
// Given a string s, count the number of uppercase vowels in even indices.
// For example:
// countUpper(s: "aBCdEf") == 1
// countUpper(s: "abcdefg") == 0
// countUpper(s: "dBBE") == 0
func countUpper(s: String) -> Int {
    let vowels: Set<Character> = ["A", "E", "I", "O", "U"]
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0 && vowels.contains(char) && char.isUppercase {
            count += 1
        }
    }
    return count
}

// Example check function
func check() {
    assert(countUpper(s: "aBCdEf") == 1)
    assert(countUpper(s: "abcdefg") == 0)
    assert(countUpper(s: "dBBE") == 0)
    print("All tests passed!")
}

check()
```

func countUpper(s: String) -> Int {
    let vowels = "AEIOU"
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0, vowels.contains(char.uppercased()), char.isUppercase {
            count += 1
        }
    }
    return count
}
```swift
// Given a string s, count the number of uppercase vowels in even indices.
// For example:
// countUpper(s: "aBCdEf") == 1
// countUpper(s: "abcdefg") == 0
// countUpper(s: "dBBE") == 0
func countUpper(s: String) -> Int {
    let vowels = "AEIOU"
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0, vowels.contains(char.uppercased()), char.isUppercase {
            count += 1
        }
    }
    return count
}
```

func countUpper(s: String) -> Int {
    let vowels = "AEIOU"
    let upperVowels = vowels.filter { $0.isUppercase }
    let evenIndices = s.indices.filter { $0.isMultiple(of: 2) }
    return evenIndices.reduce(0) { $0 + (upperVowels.contains(s[$1]) ? 1 : 0) }
}
```swift
// Given a string s, count the number of uppercase vowels in even indices.
// For example:
// countUpper(s: "aBCdEf") == 1
// countUpper(s: "abcdefg") == 0
// countUpper(s: "dBBE") == 0
func countUpper(s: String) -> Int {
    let vowels = "AEIOU"
    let upperVowels = vowels.filter { $0.isUppercase }
    let evenIndices = s.indices.filter { $0.isMultiple(of: 2) }
    return evenIndices.reduce(0) { $0 + (upperVowels.contains(s[$1]) ? 1 : 0) }
}
```

let evenIndices = s.indices.filter { $0.isMultiple(of: 2) } // value of type 'DefaultIndices<String>.Element' (aka 'String.Index') has no member 'isMultiple'

func countUpper(s: String) -> Int {
    let vowels = "AEIOU"
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0, vowels.contains(char.uppercased()), char.isUppercase {
            count += 1
        }
    }
    return count
}
```swift
// Given a string s, count the number of uppercase vowels in even indices.
// For example:
// countUpper(s: "aBCdEf") == 1
// countUpper(s: "abcdefg") == 0
// countUpper(s: "dBBE") == 0
func countUpper(s: String) -> Int {
    let vowels = "AEIOU"
    var count = 0
    for (index, char) in s.enumerated() {
        if index % 2 == 0, vowels.contains(char.uppercased()), char.isUppercase {
            count += 1
        }
    }
    return count
}
```

func closestInteger(value: String) -> Int {
    let num = Double(value)!
    let rounded = num.rounded()
    let roundedAway = num.rounded(.awayFromZero)
    return rounded == roundedAway ? Int(rounded) : Int(roundedAway)
}
```swift
// Create a function that takes a value (string) representing a number
// and returns the closest integer to it. If the number is equidistant
// from two integers, round it away from zero.
// Examples
// Note:
// Rounding away from zero means that if the given number is equidistant
// from two integers, the one you should return is the one that is the
// farthest from zero. For example closest_integer("14.5") should
// return 15 and closest_integer("-14.5") should return -15.
// closestInteger(value: "10") == 10
// closestInteger(value: "15.3") == 15
func closestInteger(value: String) -> Int {
    let num = Double(value)!
    let rounded = num.rounded()
    let roundedAway = num.rounded(.awayFromZero)
    return rounded == roundedAway ? Int(rounded) : Int(roundedAway)
}

// Test cases
print(closestInteger(value: "10")) // Output: 10
print(closestInteger(value: "15.3")) // Output: 15
print(closestInteger(value: "14.5")) // Output: 15
print(closestInteger(value: "-14.5")) // Output: -15
```

 // XCTAssertTrue failed

func closestInteger(value: String) -> Int {
    // Convert the string to a double
    let number = Double(value)!
    // Check if the number is positive or negative
    if number > 0 {
        // If positive, round up to the nearest integer
        return Int(ceil(number))
    } else {
        // If negative, round down to the nearest integer
        return Int(floor(number))
    }
}
```swift
// Create a function that takes a value (string) representing a number
// and returns the closest integer to it. If the number is equidistant
// from two integers, round it away from zero.
// Examples
// Note:
// Rounding away from zero means that if the given number is equidistant
// from two integers, the one you should return is the one that is the
// farthest from zero. For example closest_integer("14.5") should
// return 15 and closest_integer("-14.5") should return -15.
// closestInteger(value: "10") == 10
// closestInteger(value: "15.3") == 15
func closestInteger(value: String) -> Int {
    // Convert the string to a double
    let number = Double(value)!
    // Check if the number is positive or negative
    if number > 0 {
        // If positive, round up to the nearest integer
        return Int(ceil(number))
    } else {
        // If negative, round down to the nearest integer
        return Int(floor(number))
    }
}

// Test the function with some examples
print(closestInteger(value: "10")) // Output: 10
print(closestInteger(value: "15.3")) // Output: 15
print(closestInteger(value: "-14.5")) // Output: -15
```
 // XCTAssertTrue failed

func closestInteger(value: String) -> Int {
    // Convert the string to a double
    guard let number = Double(value) else {
        return 0
    }
    
    // Check if the number is equidistant from two integers
    if number - floor(number) == 0.5 {
        // Round away from zero
        return number > 0 ? Int(number + 0.5) : Int(number - 0.5)
    } else {
        // Round to the nearest integer
        return Int(round(number))
    }
}
```swift
// Create a function that takes a value (string) representing a number
// and returns the closest integer to it. If the number is equidistant
// from two integers, round it away from zero.
// Examples
// Note:
// Rounding away from zero means that if the given number is equidistant
// from two integers, the one you should return is the one that is the
// farthest from zero. For example closest_integer("14.5") should
// return 15 and closest_integer("-14.5") should return -15.
// closestInteger(value: "10") == 10
// closestInteger(value: "15.3") == 15
func closestInteger(value: String) -> Int {
    // Convert the string to a double
    guard let number = Double(value) else {
        return 0
    }
    
    // Check if the number is equidistant from two integers
    if number - floor(number) == 0.5 {
        // Round away from zero
        return number > 0 ? Int(number + 0.5) : Int(number - 0.5)
    } else {
        // Round to the nearest integer
        return Int(round(number))
    }
}
```

func closestInteger(value: String) -> Int {
    let number = Double(value)!
    let rounded = round(number)
    let roundedAwayFromZero = number > 0 ? Int(rounded) : Int(-rounded)
    return roundedAwayFromZero
}
```swift
// Create a function that takes a value (string) representing a number
// and returns the closest integer to it. If the number is equidistant
// from two integers, round it away from zero.
// Examples
// Note:
// Rounding away from zero means that if the given number is equidistant
// from two integers, the one you should return is the one that is the
// farthest from zero. For example closest_integer("14.5") should
// return 15 and closest_integer("-14.5") should return -15.
// closestInteger(value: "10") == 10
// closestInteger(value: "15.3") == 15
func closestInteger(value: String) -> Int {
    let number = Double(value)!
    let rounded = round(number)
    let roundedAwayFromZero = number > 0 ? Int(rounded) : Int(-rounded)
    return roundedAwayFromZero
}
```

 // XCTAssertTrue failed

func closestInteger(value: String) -> Int {
    let number = Double(value)!
    let rounded = Int(number.rounded())
    let roundedAway = Int(number.rounded(.awayFromZero))
    let distanceToRounded = abs(number - Double(rounded))
    let distanceToRoundedAway = abs(number - Double(roundedAway))
    if distanceToRounded < distanceToRoundedAway {
        return rounded
    } else {
        return roundedAway
    }
}
```swift
// Create a function that takes a value (string) representing a number
// and returns the closest integer to it. If the number is equidistant
// from two integers, round it away from zero.
// Examples
// Note:
// Rounding away from zero means that if the given number is equidistant
// from two integers, the one you should return is the one that is the
// farthest from zero. For example closest_integer("14.5") should
// return 15 and closest_integer("-14.5") should return -15.
// closestInteger(value: "10") == 10
// closestInteger(value: "15.3") == 15
func closestInteger(value: String) -> Int {
    let number = Double(value)!
    let rounded = Int(number.rounded())
    let roundedAway = Int(number.rounded(.awayFromZero))
    let distanceToRounded = abs(number - Double(rounded))
    let distanceToRoundedAway = abs(number - Double(roundedAway))
    if distanceToRounded < distanceToRoundedAway {
        return rounded
    } else {
        return roundedAway
    }
}
```

func closestInteger(value: String) -> Int {
    let number = Double(value)!
    let roundedNumber = round(number)
    if number > 0 && roundedNumber - number == 0.5 {
        return Int(roundedNumber + 1)
    } else if number < 0 && roundedNumber - number == -0.5 {
        return Int(roundedNumber - 1)
    } else {
        return Int(roundedNumber)
    }
}
```swift
// Create a function that takes a value (string) representing a number
// and returns the closest integer to it. If the number is equidistant
// from two integers, round it away from zero.
// Examples
// Note:
// Rounding away from zero means that if the given number is equidistant
// from two integers, the one you should return is the one that is the
// farthest from zero. For example closest_integer("14.5") should
// return 15 and closest_integer("-14.5") should return -15.
// closestInteger(value: "10") == 10
// closestInteger(value: "15.3") == 15
func closestInteger(value: String) -> Int {
    let number = Double(value)!
    let roundedNumber = round(number)
    if number > 0 && roundedNumber - number == 0.5 {
        return Int(roundedNumber + 1)
    } else if number < 0 && roundedNumber - number == -0.5 {
        return Int(roundedNumber - 1)
    } else {
        return Int(roundedNumber)
    }
}
```
 // XCTAssertTrue failed

func closestInteger(value: String) -> Int {
    let number = Double(value)!
    let rounded = round(number)
    let roundedAway = number > 0 ? ceil(number) : floor(number)
    return rounded == roundedAway ? Int(rounded) : Int(roundedAway)
}
```swift
// Create a function that takes a value (string) representing a number
// and returns the closest integer to it. If the number is equidistant
// from two integers, round it away from zero.
// Examples
// Note:
// Rounding away from zero means that if the given number is equidistant
// from two integers, the one you should return is the one that is the
// farthest from zero. For example closest_integer("14.5") should
// return 15 and closest_integer("-14.5") should return -15.
// closestInteger(value: "10") == 10
// closestInteger(value: "15.3") == 15
func closestInteger(value: String) -> Int {
    let number = Double(value)!
    let rounded = round(number)
    let roundedAway = number > 0 ? ceil(number) : floor(number)
    return rounded == roundedAway ? Int(rounded) : Int(roundedAway)
}

// Test cases
print(closestInteger(value: "10")) // 10
print(closestInteger(value: "15.3")) // 15
print(closestInteger(value: "14.5")) // 15
print(closestInteger(value: "-14.5")) // -15
```

 // XCTAssertTrue failed

func closestInteger(value: String) -> Int {
    // Convert the string to a double
    let number = Double(value)!
    // Check if the number is positive or negative
    if number >= 0 {
        // If positive, round up to the nearest integer
        return Int(ceil(number))
    } else {
        // If negative, round down to the nearest integer
        return Int(floor(number))
    }
}
```swift
// Create a function that takes a value (string) representing a number
// and returns the closest integer to it. If the number is equidistant
// from two integers, round it away from zero.
// Examples
// Note:
// Rounding away from zero means that if the given number is equidistant
// from two integers, the one you should return is the one that is the
// farthest from zero. For example closest_integer("14.5") should
// return 15 and closest_integer("-14.5") should return -15.
// closestInteger(value: "10") == 10
// closestInteger(value: "15.3") == 15
func closestInteger(value: String) -> Int {
    // Convert the string to a double
    let number = Double(value)!
    // Check if the number is positive or negative
    if number >= 0 {
        // If positive, round up to the nearest integer
        return Int(ceil(number))
    } else {
        // If negative, round down to the nearest integer
        return Int(floor(number))
    }
}
```

 // XCTAssertTrue failed

func closestInteger(value: String) -> Int {
    // Convert the string to a double
    let number = Double(value)!
    
    // Check if the number is positive or negative
    if number >= 0 {
        // If the number is positive, round it up to the nearest integer
        return Int(number.rounded(.up))
    } else {
        // If the number is negative, round it down to the nearest integer
        return Int(number.rounded(.down))
    }
}
```swift
// Create a function that takes a value (string) representing a number
// and returns the closest integer to it. If the number is equidistant
// from two integers, round it away from zero.
// Examples
// Note:
// Rounding away from zero means that if the given number is equidistant
// from two integers, the one you should return is the one that is the
// farthest from zero. For example closest_integer("14.5") should
// return 15 and closest_integer("-14.5") should return -15.
// closestInteger(value: "10") == 10
// closestInteger(value: "15.3") == 15
func closestInteger(value: String) -> Int {
    // Convert the string to a double
    let number = Double(value)!
    
    // Check if the number is positive or negative
    if number >= 0 {
        // If the number is positive, round it up to the nearest integer
        return Int(number.rounded(.up))
    } else {
        // If the number is negative, round it down to the nearest integer
        return Int(number.rounded(.down))
    }
}
```

 // XCTAssertTrue failed

func closestInteger(value: String) -> Int {
    // Convert the string to a double
    let number = Double(value)!
    
    // Check if the number is positive or negative
    if number > 0 {
        // If positive, round up to the nearest integer
        return Int(ceil(number))
    } else {
        // If negative, round down to the nearest integer
        return Int(floor(number))
    }
}
```swift
// Create a function that takes a value (string) representing a number
// and returns the closest integer to it. If the number is equidistant
// from two integers, round it away from zero.
// Examples
// Note:
// Rounding away from zero means that if the given number is equidistant
// from two integers, the one you should return is the one that is the
// farthest from zero. For example closest_integer("14.5") should
// return 15 and closest_integer("-14.5") should return -15.
// closestInteger(value: "10") == 10
// closestInteger(value: "15.3") == 15
func closestInteger(value: String) -> Int {
    // Convert the string to a double
    let number = Double(value)!
    
    // Check if the number is positive or negative
    if number > 0 {
        // If positive, round up to the nearest integer
        return Int(ceil(number))
    } else {
        // If negative, round down to the nearest integer
        return Int(floor(number))
    }
}
```

 // XCTAssertTrue failed

func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var current = n
    for _ in 1..<n {
        current += 2
        pile.append(current)
    }
    return pile
}
```swift
// Given a positive integer n, you have to make a pile of n levels of stones.
// The first level has n stones.
// The number of stones in the next level is:
// - the next odd number if n is odd.
// - the next even number if n is even.
// Return the number of stones in each level in an array, where element at index
// i represents the number of stones in the level (i+1).
// Examples:
// makeAPile(n: 3) == [3, 5, 7]
func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var current = n
    for _ in 1..<n {
        current += 2
        pile.append(current)
    }
    return pile
}
```

func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var currentNumber = n
    for _ in 1..<n {
        currentNumber += 2
        pile.append(currentNumber)
    }
    return pile
}
```swift
// Given a positive integer n, you have to make a pile of n levels of stones.
// The first level has n stones.
// The number of stones in the next level is:
// - the next odd number if n is odd.
// - the next even number if n is even.
// Return the number of stones in each level in an array, where element at index
// i represents the number of stones in the level (i+1).
// Examples:
// makeAPile(n: 3) == [3, 5, 7]
func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var currentNumber = n
    for _ in 1..<n {
        currentNumber += 2
        pile.append(currentNumber)
    }
    return pile
}
```

func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var current = n
    for _ in 1..<n {
        current += n % 2 == 0 ? 2 : 1
        pile.append(current)
    }
    return pile
}
```swift
// Given a positive integer n, you have to make a pile of n levels of stones.
// The first level has n stones.
// The number of stones in the next level is:
// - the next odd number if n is odd.
// - the next even number if n is even.
// Return the number of stones in each level in an array, where element at index
// i represents the number of stones in the level (i+1).
// Examples:
// makeAPile(n: 3) == [3, 5, 7]
func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var current = n
    for _ in 1..<n {
        current += n % 2 == 0 ? 2 : 1
        pile.append(current)
    }
    return pile
}
```

 // XCTAssertTrue failed

func makeAPile(n: Int) -> [Int] {
    var stones = [n]
    var current = n
    for _ in 1..<n {
        current += n % 2 == 0 ? 2 : 1
        stones.append(current)
    }
    return stones
}
```swift
// Given a positive integer n, you have to make a pile of n levels of stones.
// The first level has n stones.
// The number of stones in the next level is:
// - the next odd number if n is odd.
// - the next even number if n is even.
// Return the number of stones in each level in an array, where element at index
// i represents the number of stones in the level (i+1).
// Examples:
// makeAPile(n: 3) == [3, 5, 7]
func makeAPile(n: Int) -> [Int] {
    var stones = [n]
    var current = n
    for _ in 1..<n {
        current += n % 2 == 0 ? 2 : 1
        stones.append(current)
    }
    return stones
}
```

 // XCTAssertTrue failed

func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var current = n
    for _ in 1..<n {
        current += 2
        pile.append(current)
    }
    return pile
}

func check() {
    assert(makeAPile(n: 3) == [3, 5, 7], "Test case 1 failed")
    assert(makeAPile(n: 4) == [4, 6, 8, 10], "Test case 2 failed")
    assert(makeAPile(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Given a positive integer n, you have to make a pile of n levels of stones.
// The first level has n stones.
// The number of stones in the next level is:
// - the next odd number if n is odd.
// - the next even number if n is even.
// Return the number of stones in each level in an array, where element at index
// i represents the number of stones in the level (i+1).
// Examples:
// makeAPile(n: 3) == [3, 5, 7]
func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var current = n
    for _ in 1..<n {
        current += 2
        pile.append(current)
    }
    return pile
}

// Check function to verify the correctness of the solution
func check() {
    assert(makeAPile(n: 3) == [3, 5, 7], "Test case 1 failed")
    assert(makeAPile(n: 4) == [4, 6, 8, 10], "Test case 2 failed")
    assert(makeAPile(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var current = n
    for _ in 1..<n {
        current += n % 2 == 0 ? 2 : 1
        pile.append(current)
    }
    return pile
}

func check() {
    assert(makeAPile(n: 3) == [3, 5, 7], "Test case 1 failed")
    assert(makeAPile(n: 4) == [4, 6, 8, 10], "Test case 2 failed")
    assert(makeAPile(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Given a positive integer n, you have to make a pile of n levels of stones.
// The first level has n stones.
// The number of stones in the next level is:
// - the next odd number if n is odd.
// - the next even number if n is even.
// Return the number of stones in each level in an array, where element at index
// i represents the number of stones in the level (i+1).
// Examples:
// makeAPile(n: 3) == [3, 5, 7]
func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var current = n
    for _ in 1..<n {
        current += n % 2 == 0 ? 2 : 1
        pile.append(current)
    }
    return pile
}

// Check function to verify the correctness of the solution
func check() {
    assert(makeAPile(n: 3) == [3, 5, 7], "Test case 1 failed")
    assert(makeAPile(n: 4) == [4, 6, 8, 10], "Test case 2 failed")
    assert(makeAPile(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

 // XCTAssertTrue failed

func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var current = n
    for _ in 1..<n {
        current += n % 2 == 0 ? 2 : 1
        pile.append(current)
    }
    return pile
}

func check() {
    assert(makeAPile(n: 3) == [3, 5, 7], "Test case 1 failed")
    assert(makeAPile(n: 4) == [4, 6, 8, 10], "Test case 2 failed")
    assert(makeAPile(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Given a positive integer n, you have to make a pile of n levels of stones.
// The first level has n stones.
// The number of stones in the next level is:
// - the next odd number if n is odd.
// - the next even number if n is even.
// Return the number of stones in each level in an array, where element at index
// i represents the number of stones in the level (i+1).
// Examples:
// makeAPile(n: 3) == [3, 5, 7]
func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var current = n
    for _ in 1..<n {
        current += n % 2 == 0 ? 2 : 1
        pile.append(current)
    }
    return pile
}

// Check function to verify the correctness of the solution
func check() {
    assert(makeAPile(n: 3) == [3, 5, 7], "Test case 1 failed")
    assert(makeAPile(n: 4) == [4, 6, 8, 10], "Test case 2 failed")
    assert(makeAPile(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

 // XCTAssertTrue failed

func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var currentNumber = n
    for _ in 1..<n {
        if n % 2 == 0 {
            currentNumber += 2
        } else {
            currentNumber += 2
        }
        pile.append(currentNumber)
    }
    return pile
}
```swift
// Given a positive integer n, you have to make a pile of n levels of stones.
// The first level has n stones.
// The number of stones in the next level is:
// - the next odd number if n is odd.
// - the next even number if n is even.
// Return the number of stones in each level in an array, where element at index
// i represents the number of stones in the level (i+1).
// Examples:
// makeAPile(n: 3) == [3, 5, 7]
func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var currentNumber = n
    for _ in 1..<n {
        if n % 2 == 0 {
            currentNumber += 2
        } else {
            currentNumber += 2
        }
        pile.append(currentNumber)
    }
    return pile
}
```

func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var currentStones = n
    for _ in 1..<n {
        if n % 2 == 0 {
            currentStones += 2
        } else {
            currentStones += 2
        }
        pile.append(currentStones)
    }
    return pile
}

func check() {
    assert(makeAPile(n: 3) == [3, 5, 7], "Test case 1 failed")
    assert(makeAPile(n: 4) == [4, 6, 8, 10], "Test case 2 failed")
    assert(makeAPile(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Given a positive integer n, you have to make a pile of n levels of stones.
// The first level has n stones.
// The number of stones in the next level is:
// - the next odd number if n is odd.
// - the next even number if n is even.
// Return the number of stones in each level in an array, where element at index
// i represents the number of stones in the level (i+1).
// Examples:
// makeAPile(n: 3) == [3, 5, 7]
func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var currentStones = n
    for _ in 1..<n {
        if n % 2 == 0 {
            currentStones += 2
        } else {
            currentStones += 2
        }
        pile.append(currentStones)
    }
    return pile
}

// Check function to verify the correctness of the solution
func check() {
    assert(makeAPile(n: 3) == [3, 5, 7], "Test case 1 failed")
    assert(makeAPile(n: 4) == [4, 6, 8, 10], "Test case 2 failed")
    assert(makeAPile(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var currentStones = n
    for _ in 1..<n {
        currentStones += n % 2 == 0 ? 2 : 1
        pile.append(currentStones)
    }
    return pile
}
```swift
// Given a positive integer n, you have to make a pile of n levels of stones.
// The first level has n stones.
// The number of stones in the next level is:
// - the next odd number if n is odd.
// - the next even number if n is even.
// Return the number of stones in each level in an array, where element at index
// i represents the number of stones in the level (i+1).
// Examples:
// makeAPile(n: 3) == [3, 5, 7]
func makeAPile(n: Int) -> [Int] {
    var pile = [n]
    var currentStones = n
    for _ in 1..<n {
        currentStones += n % 2 == 0 ? 2 : 1
        pile.append(currentStones)
    }
    return pile
}
```

 // XCTAssertTrue failed

func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}
```swift
// You will be given a string of words separated by commas or spaces. Your task is
// to split the string into words and return an array of the words.
// For example:
// wordsString(s: "Hi, my name is John") == ["Hi", "my", "name", "is", "John"]
// wordsString(s: "One, two, three, four, five, six") == ["One", "two", "three", "four", "five", "six"]
func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}

// Example usage:
print(wordsString(s: "Hi, my name is John")) // ["Hi", "my", "name", "is", "John"]
print(wordsString(s: "One, two, three, four, five, six")) // ["One", "two", "three", "four", "five", "six"]
```

 // XCTAssertTrue failed

func wordsString(s: String) -> [String] {
    return s.split(separator: ", ").map { String($0) }
}
```swift
// You will be given a string of words separated by commas or spaces. Your task is
// to split the string into words and return an array of the words.
// For example:
// wordsString(s: "Hi, my name is John") == ["Hi", "my", "name", "is", "John"]
// wordsString(s: "One, two, three, four, five, six") == ["One", "two", "three", "four", "five", "six"]
func wordsString(s: String) -> [String] {
    return s.split(separator: ", ").map { String($0) }
}
```

 // XCTAssertTrue failed

func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet.whitespacesAndNewlines)
}
```swift
// You will be given a string of words separated by commas or spaces. Your task is
// to split the string into words and return an array of the words.
// For example:
// wordsString(s: "Hi, my name is John") == ["Hi", "my", "name", "is", "John"]
// wordsString(s: "One, two, three, four, five, six") == ["One", "two", "three", "four", "five", "six"]
func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet.whitespacesAndNewlines)
}
```

 // XCTAssertTrue failed

func wordsString(s: String) -> [String] {
    return s.split(separator: ", ").map { String($0) }
}
```swift
// You will be given a string of words separated by commas or spaces. Your task is
// to split the string into words and return an array of the words.
// For example:
// wordsString(s: "Hi, my name is John") == ["Hi", "my", "name", "is", "John"]
// wordsString(s: "One, two, three, four, five, six") == ["One", "two", "three", "four", "five", "six"]
func wordsString(s: String) -> [String] {
    return s.split(separator: ", ").map { String($0) }
}
```

 // XCTAssertTrue failed

func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}
```swift
// You will be given a string of words separated by commas or spaces. Your task is
// to split the string into words and return an array of the words.
// For example:
// wordsString(s: "Hi, my name is John") == ["Hi", "my", "name", "is", "John"]
// wordsString(s: "One, two, three, four, five, six") == ["One", "two", "three", "four", "five", "six"]
func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}
```

 // XCTAssertTrue failed

func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}
```swift
// You will be given a string of words separated by commas or spaces. Your task is
// to split the string into words and return an array of the words.
// For example:
// wordsString(s: "Hi, my name is John") == ["Hi", "my", "name", "is", "John"]
// wordsString(s: "One, two, three, four, five, six") == ["One", "two", "three", "four", "five", "six"]
func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}
```

 // XCTAssertTrue failed

func wordsString(s: String) -> [String] {
    return s.split(separator: ", ").map { String($0) }
}
```swift
// You will be given a string of words separated by commas or spaces. Your task is
// to split the string into words and return an array of the words.
// For example:
// wordsString(s: "Hi, my name is John") == ["Hi", "my", "name", "is", "John"]
// wordsString(s: "One, two, three, four, five, six") == ["One", "two", "three", "four", "five", "six"]
func wordsString(s: String) -> [String] {
    return s.split(separator: ", ").map { String($0) }
}
```
 // XCTAssertTrue failed

func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}
```swift
// You will be given a string of words separated by commas or spaces. Your task is
// to split the string into words and return an array of the words.
// For example:
// wordsString(s: "Hi, my name is John") == ["Hi", "my", "name", "is", "John"]
// wordsString(s: "One, two, three, four, five, six") == ["One", "two", "three", "four", "five", "six"]
func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}
```
 // XCTAssertTrue failed

func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}
```swift
// You will be given a string of words separated by commas or spaces. Your task is
// to split the string into words and return an array of the words.
// For example:
// wordsString(s: "Hi, my name is John") == ["Hi", "my", "name", "is", "John"]
// wordsString(s: "One, two, three, four, five, six") == ["One", "two", "three", "four", "five", "six"]
func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}
```
 // XCTAssertTrue failed

func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}
```swift
// You will be given a string of words separated by commas or spaces. Your task is
// to split the string into words and return an array of the words.
// For example:
// wordsString(s: "Hi, my name is John") == ["Hi", "my", "name", "is", "John"]
// wordsString(s: "One, two, three, four, five, six") == ["One", "two", "three", "four", "five", "six"]
func wordsString(s: String) -> [String] {
    return s.components(separatedBy: CharacterSet(charactersIn: ", "))
}
```

 // XCTAssertTrue failed

func chooseNum(x: Int, y: Int) -> Int {
    // Check if x is greater than y, if so, return -1
    if x > y {
        return -1
    }
    
    // Iterate from y to x in descending order
    for i in stride(from: y, through: x, by: -1) {
        // Check if the current number is even
        if i % 2 == 0 {
            return i
        }
    }
    
    // If no even number is found, return -1
    return -1
}
```swift
// This function takes two positive numbers x and y and returns the
// biggest even integer number that is in the range [x, y] inclusive. If 
// there's no such number, then the function should return -1.
// For example:
// chooseNum(x: 12, y: 15) == 14
// chooseNum(x: 13, y: 12) == -1
func chooseNum(x: Int, y: Int) -> Int {
    // Check if x is greater than y, if so, return -1
    if x > y {
        return -1
    }
    
    // Iterate from y to x in descending order
    for i in stride(from: y, through: x, by: -1) {
        // Check if the current number is even
        if i % 2 == 0 {
            return i
        }
    }
    
    // If no even number is found, return -1
    return -1
}
```

func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}
```swift
// This function takes two positive numbers x and y and returns the
// biggest even integer number that is in the range [x, y] inclusive. If 
// there's no such number, then the function should return -1.
// For example:
// chooseNum(x: 12, y: 15) == 14
// chooseNum(x: 13, y: 12) == -1
func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}
```

func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}
```swift
// This function takes two positive numbers x and y and returns the
// biggest even integer number that is in the range [x, y] inclusive. If 
// there's no such number, then the function should return -1.
// For example:
// chooseNum(x: 12, y: 15) == 14
// chooseNum(x: 13, y: 12) == -1
func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}
```

func chooseNum(x: Int, y: Int) -> Int {
    // Check if x is greater than y, if so return -1
    if x > y {
        return -1
    }
    // Check if y is even, if so return y
    if y % 2 == 0 {
        return y
    }
    // Check if x is even, if so return x
    if x % 2 == 0 {
        return x
    }
    // If neither x nor y is even, return -1
    return -1
}
```swift
// This function takes two positive numbers x and y and returns the
// biggest even integer number that is in the range [x, y] inclusive. If 
// there's no such number, then the function should return -1.
// For example:
// chooseNum(x: 12, y: 15) == 14
// chooseNum(x: 13, y: 12) == -1
func chooseNum(x: Int, y: Int) -> Int {
    // Check if x is greater than y, if so return -1
    if x > y {
        return -1
    }
    // Check if y is even, if so return y
    if y % 2 == 0 {
        return y
    }
    // Check if x is even, if so return x
    if x % 2 == 0 {
        return x
    }
    // If neither x nor y is even, return -1
    return -1
}
```
 // XCTAssertTrue failed

func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    if x % 2 == 0 {
        return x
    }
    if x + 1 <= y {
        return x + 1
    }
    return -1
}
```swift
// This function takes two positive numbers x and y and returns the
// biggest even integer number that is in the range [x, y] inclusive. If 
// there's no such number, then the function should return -1.
// For example:
// chooseNum(x: 12, y: 15) == 14
// chooseNum(x: 13, y: 12) == -1
func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    if x % 2 == 0 {
        return x
    }
    if x + 1 <= y {
        return x + 1
    }
    return -1
}
```

 // XCTAssertTrue failed

func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}
```swift
// This function takes two positive numbers x and y and returns the
// biggest even integer number that is in the range [x, y] inclusive. If 
// there's no such number, then the function should return -1.
// For example:
// chooseNum(x: 12, y: 15) == 14
// chooseNum(x: 13, y: 12) == -1
func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}
```

func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}
```swift
// This function takes two positive numbers x and y and returns the
// biggest even integer number that is in the range [x, y] inclusive. If 
// there's no such number, then the function should return -1.
// For example:
// chooseNum(x: 12, y: 15) == 14
// chooseNum(x: 13, y: 12) == -1
func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}
```

func chooseNum(x: Int, y: Int) -> Int {
    // Check if x is greater than y, if so, return -1
    if x > y {
        return -1
    }
    // Check if y is even, if so, return y
    if y % 2 == 0 {
        return y
    }
    // Check if x is even, if so, return x
    if x % 2 == 0 {
        return x
    }
    // If neither x nor y is even, return -1
    return -1
}
```swift
// This function takes two positive numbers x and y and returns the
// biggest even integer number that is in the range [x, y] inclusive. If 
// there's no such number, then the function should return -1.
// For example:
// chooseNum(x: 12, y: 15) == 14
// chooseNum(x: 13, y: 12) == -1
func chooseNum(x: Int, y: Int) -> Int {
    // Check if x is greater than y, if so, return -1
    if x > y {
        return -1
    }
    // Check if y is even, if so, return y
    if y % 2 == 0 {
        return y
    }
    // Check if x is even, if so, return x
    if x % 2 == 0 {
        return x
    }
    // If neither x nor y is even, return -1
    return -1
}
```
 // XCTAssertTrue failed

func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}

func check() {
    assert(chooseNum(x: 12, y: 15) == 14)
    assert(chooseNum(x: 13, y: 12) == -1)
    assert(chooseNum(x: 8, y: 10) == 10)
    assert(chooseNum(x: 21, y: 25) == 24)
    assert(chooseNum(x: 15, y: 15) == -1)
    print("All tests passed!")
}
```swift
// This function takes two positive numbers x and y and returns the
// biggest even integer number that is in the range [x, y] inclusive. If 
// there's no such number, then the function should return -1.
// For example:
// chooseNum(x: 12, y: 15) == 14
// chooseNum(x: 13, y: 12) == -1
func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}

// Check function to verify the correctness of the solution
func check() {
    assert(chooseNum(x: 12, y: 15) == 14)
    assert(chooseNum(x: 13, y: 12) == -1)
    assert(chooseNum(x: 8, y: 10) == 10)
    assert(chooseNum(x: 21, y: 25) == 24)
    assert(chooseNum(x: 15, y: 15) == -1)
    print("All tests passed!")
}

check()
```

func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}
```swift
// This function takes two positive numbers x and y and returns the
// biggest even integer number that is in the range [x, y] inclusive. If 
// there's no such number, then the function should return -1.
// For example:
// chooseNum(x: 12, y: 15) == 14
// chooseNum(x: 13, y: 12) == -1
func chooseNum(x: Int, y: Int) -> Int {
    if x > y {
        return -1
    }
    for num in stride(from: y, through: x, by: -1) {
        if num % 2 == 0 {
            return num
        }
    }
    return -1
}

// Test cases to verify the correctness of the function
print(chooseNum(x: 12, y: 15)) // Expected output: 14
print(chooseNum(x: 13, y: 12)) // Expected output: -1
print(chooseNum(x: 8, y: 10))  // Expected output: 10
print(chooseNum(x: 21, y: 29)) // Expected output: 28
```

extension Int: Error {

}

func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let rounded = avg.rounded()
    let binary = String(rounded, radix: 2)
    return .success("0b\(binary)")
}
```swift
extension Int: Error {

}

// You are given two positive integers n and m, and your task is to compute the
// average of the integers from n through m (including n and m). 
// Round the answer to the nearest integer and convert that to binary.
// If n is greater than m, return -1.
// Example:
// roundedAvg(n: 1, m: 5) == .success("0b11")
// roundedAvg(n: 7, m: 5) == .failure(-1)
// roundedAvg(n: 10, m: 20) == .success("0b1111")
// roundedAvg(n: 20, m: 33) == .success("0b11010")
func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let rounded = avg.rounded()
    let binary = String(rounded, radix: 2)
    return .success("0b\(binary)")
}
```
let rounded = avg.rounded() // value of type 'Int' has no member 'rounded'

extension Int: Error {

}

func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    guard n <= m else { return .failure(-1) }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let rounded = avg.rounded()
    let binary = String(rounded, radix: 2)
    return .success("0b\(binary)")
}
```swift
extension Int: Error {

}

// You are given two positive integers n and m, and your task is to compute the
// average of the integers from n through m (including n and m). 
// Round the answer to the nearest integer and convert that to binary.
// If n is greater than m, return -1.
// Example:
// roundedAvg(n: 1, m: 5) == .success("0b11")
// roundedAvg(n: 7, m: 5) == .failure(-1)
// roundedAvg(n: 10, m: 20) == .success("0b1111")
// roundedAvg(n: 20, m: 33) == .success("0b11010")
func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    guard n <= m else { return .failure(-1) }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let rounded = avg.rounded()
    let binary = String(rounded, radix: 2)
    return .success("0b\(binary)")
}
```
let rounded = avg.rounded() // value of type 'Int' has no member 'rounded'

extension Int: Error {

}

func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    guard n <= m else { return .failure(-1) }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let rounded = round(Double(avg))
    let binary = String(rounded, radix: 2)
    return .success("0b\(binary)")
}
```swift
extension Int: Error {

}

// You are given two positive integers n and m, and your task is to compute the
// average of the integers from n through m (including n and m). 
// Round the answer to the nearest integer and convert that to binary.
// If n is greater than m, return -1.
// Example:
// roundedAvg(n: 1, m: 5) == .success("0b11")
// roundedAvg(n: 7, m: 5) == .failure(-1)
// roundedAvg(n: 10, m: 20) == .success("0b1111")
// roundedAvg(n: 20, m: 33) == .success("0b11010")
func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    guard n <= m else { return .failure(-1) }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let rounded = round(Double(avg))
    let binary = String(rounded, radix: 2)
    return .success("0b\(binary)")
}
```

let binary = String(rounded, radix: 2) // initializer 'init(_:radix:uppercase:)' requires that 'Double' conform to 'BinaryInteger'

extension Int: Error {

}

func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    
    let sum = (n + m) * (m - n + 1) / 2
    let avg = Double(sum) / Double(m - n + 1)
    let roundedAvg = Int(round(avg))
    
    return .success("0b" + String(roundedAvg, radix: 2))
}
```swift
extension Int: Error {

}

// You are given two positive integers n and m, and your task is to compute the
// average of the integers from n through m (including n and m). 
// Round the answer to the nearest integer and convert that to binary.
// If n is greater than m, return -1.
// Example:
// roundedAvg(n: 1, m: 5) == .success("0b11")
// roundedAvg(n: 7, m: 5) == .failure(-1)
// roundedAvg(n: 10, m: 20) == .success("0b1111")
// roundedAvg(n: 20, m: 33) == .success("0b11010")
func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    
    let sum = (n + m) * (m - n + 1) / 2
    let avg = Double(sum) / Double(m - n + 1)
    let roundedAvg = Int(round(avg))
    
    return .success("0b" + String(roundedAvg, radix: 2))
}
```

extension Int: Error {

}

func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let rounded = avg.rounded()
    let binary = String(rounded, radix: 2)
    return .success("0b" + binary)
}
```swift
extension Int: Error {

}

// You are given two positive integers n and m, and your task is to compute the
// average of the integers from n through m (including n and m). 
// Round the answer to the nearest integer and convert that to binary.
// If n is greater than m, return -1.
// Example:
// roundedAvg(n: 1, m: 5) == .success("0b11")
// roundedAvg(n: 7, m: 5) == .failure(-1)
// roundedAvg(n: 10, m: 20) == .success("0b1111")
// roundedAvg(n: 20, m: 33) == .success("0b11010")
func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let rounded = avg.rounded()
    let binary = String(rounded, radix: 2)
    return .success("0b" + binary)
}
```

let rounded = avg.rounded() // value of type 'Int' has no member 'rounded'

extension Int: Error {

}

func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let roundedAvg = round(Double(avg))
    let binaryAvg = String(roundedAvg, radix: 2)
    return .success("0b" + binaryAvg)
}
```swift
extension Int: Error {

}

// You are given two positive integers n and m, and your task is to compute the
// average of the integers from n through m (including n and m). 
// Round the answer to the nearest integer and convert that to binary.
// If n is greater than m, return -1.
// Example:
// roundedAvg(n: 1, m: 5) == .success("0b11")
// roundedAvg(n: 7, m: 5) == .failure(-1)
// roundedAvg(n: 10, m: 20) == .success("0b1111")
// roundedAvg(n: 20, m: 33) == .success("0b11010")
func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let roundedAvg = round(Double(avg))
    let binaryAvg = String(roundedAvg, radix: 2)
    return .success("0b" + binaryAvg)
}
```

let binaryAvg = String(roundedAvg, radix: 2) // initializer 'init(_:radix:uppercase:)' requires that 'Double' conform to 'BinaryInteger'

extension Int: Error {

}

func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    guard n <= m else { return .failure(-1) }
    let sum = (n...m).reduce(0, +)
    let avg = sum / (m - n + 1)
    let roundedAvg = round(Double(avg))
    let binaryAvg = String(Int(roundedAvg), radix: 2)
    return .success("0b\(binaryAvg)")
}
```swift
extension Int: Error {

}

// You are given two positive integers n and m, and your task is to compute the
// average of the integers from n through m (including n and m). 
// Round the answer to the nearest integer and convert that to binary.
// If n is greater than m, return -1.
// Example:
// roundedAvg(n: 1, m: 5) == .success("0b11")
// roundedAvg(n: 7, m: 5) == .failure(-1)
// roundedAvg(n: 10, m: 20) == .success("0b1111")
// roundedAvg(n: 20, m: 33) == .success("0b11010")
func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    guard n <= m else { return .failure(-1) }
    let sum = (n...m).reduce(0, +)
    let avg = sum / (m - n + 1)
    let roundedAvg = round(Double(avg))
    let binaryAvg = String(Int(roundedAvg), radix: 2)
    return .success("0b\(binaryAvg)")
}
```
 // XCTAssertTrue failed

extension Int: Error {

}

func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    guard n <= m else { return .failure(-1) }
    let sum = (n...m).reduce(0, +)
    let avg = sum / (m - n + 1)
    return .success("0b" + String(avg, radix: 2))
}
```swift
extension Int: Error {

}

// You are given two positive integers n and m, and your task is to compute the
// average of the integers from n through m (including n and m). 
// Round the answer to the nearest integer and convert that to binary.
// If n is greater than m, return -1.
// Example:
// roundedAvg(n: 1, m: 5) == .success("0b11")
// roundedAvg(n: 7, m: 5) == .failure(-1)
// roundedAvg(n: 10, m: 20) == .success("0b1111")
// roundedAvg(n: 20, m: 33) == .success("0b11010")
func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    guard n <= m else { return .failure(-1) }
    let sum = (n...m).reduce(0, +)
    let avg = sum / (m - n + 1)
    return .success("0b" + String(avg, radix: 2))
}
```

 // XCTAssertTrue failed

extension Int: Error {

}

func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let roundedAvg = Int(round(Double(avg)))
    let binaryString = String(roundedAvg, radix: 2)
    return .success("0b" + binaryString)
}
```swift
extension Int: Error {

}

// You are given two positive integers n and m, and your task is to compute the
// average of the integers from n through m (including n and m). 
// Round the answer to the nearest integer and convert that to binary.
// If n is greater than m, return -1.
// Example:
// roundedAvg(n: 1, m: 5) == .success("0b11")
// roundedAvg(n: 7, m: 5) == .failure(-1)
// roundedAvg(n: 10, m: 20) == .success("0b1111")
// roundedAvg(n: 20, m: 33) == .success("0b11010")
func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let roundedAvg = Int(round(Double(avg)))
    let binaryString = String(roundedAvg, radix: 2)
    return .success("0b" + binaryString)
}
```
 // XCTAssertTrue failed

extension Int: Error {

}

func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let rounded = Int(round(Double(avg)))
    let binary = String(rounded, radix: 2)
    return .success("0b\(binary)")
}
```swift
extension Int: Error {

}

// You are given two positive integers n and m, and your task is to compute the
// average of the integers from n through m (including n and m). 
// Round the answer to the nearest integer and convert that to binary.
// If n is greater than m, return -1.
// Example:
// roundedAvg(n: 1, m: 5) == .success("0b11")
// roundedAvg(n: 7, m: 5) == .failure(-1)
// roundedAvg(n: 10, m: 20) == .success("0b1111")
// roundedAvg(n: 20, m: 33) == .success("0b11010")
func roundedAvg(n: Int, m: Int) -> Result<String, Int> {
    if n > m {
        return .failure(-1)
    }
    let sum = (n + m) * (m - n + 1) / 2
    let avg = sum / (m - n + 1)
    let rounded = Int(round(Double(avg)))
    let binary = String(rounded, radix: 2)
    return .success("0b\(binary)")
}
```

 // XCTAssertTrue failed

func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.allSatisfy { $0.isOdd } }.sorted()
}
```swift
// Given an array of positive integers x. return a sorted array of all 
// elements that hasn't any even digit.
// Note: Returned array should be sorted in increasing order.
// For example:
// uniqueDigits(x: [15, 33, 1422, 1]) == [1, 15, 33]
// uniqueDigits(x: [152, 323, 1422, 10]) == [] as [Int]
func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.allSatisfy { $0.isOdd } }.sorted()
}
```

return x.filter { $0.description.allSatisfy { $0.isOdd } }.sorted() // value of type 'String.Element' (aka 'Character') has no member 'isOdd'

func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.allSatisfy { $0.isOdd } }.sorted()
}
```swift
// Given an array of positive integers x. return a sorted array of all 
// elements that hasn't any even digit.
// Note: Returned array should be sorted in increasing order.
// For example:
// uniqueDigits(x: [15, 33, 1422, 1]) == [1, 15, 33]
// uniqueDigits(x: [152, 323, 1422, 10]) == [] as [Int]
func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.allSatisfy { $0.isOdd } }.sorted()
}
```

return x.filter { $0.description.allSatisfy { $0.isOdd } }.sorted() // value of type 'String.Element' (aka 'Character') has no member 'isOdd'

func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.allSatisfy { $0.isOdd } }.sorted()
}
```swift
// Given an array of positive integers x. return a sorted array of all 
// elements that hasn't any even digit.
// Note: Returned array should be sorted in increasing order.
// For example:
// uniqueDigits(x: [15, 33, 1422, 1]) == [1, 15, 33]
// uniqueDigits(x: [152, 323, 1422, 10]) == [] as [Int]
func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.allSatisfy { $0.isOdd } }.sorted()
}
```
return x.filter { $0.description.allSatisfy { $0.isOdd } }.sorted() // value of type 'String.Element' (aka 'Character') has no member 'isOdd'

func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.allSatisfy { $0.isWholeNumber && $0 % 2 != 0 } }.sorted()
}
```swift
// Given an array of positive integers x. return a sorted array of all 
// elements that hasn't any even digit.
// Note: Returned array should be sorted in increasing order.
// For example:
// uniqueDigits(x: [15, 33, 1422, 1]) == [1, 15, 33]
// uniqueDigits(x: [152, 323, 1422, 10]) == [] as [Int]
func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.allSatisfy { $0.isWholeNumber && $0 % 2 != 0 } }.sorted()
}
```

return x.filter { $0.description.allSatisfy { $0.isWholeNumber && $0 % 2 != 0 } }.sorted() // cannot convert value of type 'String.Element' (aka 'Character') to expected argument type 'Int'

func uniqueDigits(x: [Int]) -> [Int] {
    var result = [Int]()
    for num in x {
        var isUnique = true
        var temp = num
        while temp > 0 {
            let digit = temp % 10
            if digit % 2 == 0 {
                isUnique = false
                break
            }
            temp /= 10
        }
        if isUnique {
            result.append(num)
        }
    }
    return result.sorted()
}
```swift
// Given an array of positive integers x. return a sorted array of all 
// elements that hasn't any even digit.
// Note: Returned array should be sorted in increasing order.
// For example:
// uniqueDigits(x: [15, 33, 1422, 1]) == [1, 15, 33]
// uniqueDigits(x: [152, 323, 1422, 10]) == [] as [Int]
func uniqueDigits(x: [Int]) -> [Int] {
    var result = [Int]()
    for num in x {
        var isUnique = true
        var temp = num
        while temp > 0 {
            let digit = temp % 10
            if digit % 2 == 0 {
                isUnique = false
                break
            }
            temp /= 10
        }
        if isUnique {
            result.append(num)
        }
    }
    return result.sorted()
}
```

func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.allSatisfy { $0.isWholeNumber && $0 % 2 != 0 } }.sorted()
}
```swift
// Given an array of positive integers x. return a sorted array of all 
// elements that hasn't any even digit.
// Note: Returned array should be sorted in increasing order.
// For example:
// uniqueDigits(x: [15, 33, 1422, 1]) == [1, 15, 33]
// uniqueDigits(x: [152, 323, 1422, 10]) == [] as [Int]
func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.allSatisfy { $0.isWholeNumber && $0 % 2 != 0 } }.sorted()
}
```
return x.filter { $0.description.allSatisfy { $0.isWholeNumber && $0 % 2 != 0 } }.sorted() // cannot convert value of type 'String.Element' (aka 'Character') to expected argument type 'Int'

func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.digits().allSatisfy { $0 % 2 != 0 } }.sorted()
}

extension Int {
    func digits() -> [Int] {
        return String(self).compactMap { Int(String($0)) }
    }
}
```swift
// Given an array of positive integers x. return a sorted array of all 
// elements that hasn't any even digit.
// Note: Returned array should be sorted in increasing order.
// For example:
// uniqueDigits(x: [15, 33, 1422, 1]) == [1, 15, 33]
// uniqueDigits(x: [152, 323, 1422, 10]) == [] as [Int]
func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.digits().allSatisfy { $0 % 2 != 0 } }.sorted()
}

extension Int {
    func digits() -> [Int] {
        return String(self).compactMap { Int(String($0)) }
    }
}
```

func uniqueDigits(x: [Int]) -> [Int] {
    var result = [Int]()
    for num in x {
        if !hasEvenDigit(num) {
            result.append(num)
        }
    }
    return result.sorted()
}

func hasEvenDigit(_ num: Int) -> Bool {
    var num = num
    while num > 0 {
        let digit = num % 10
        if digit % 2 == 0 {
            return true
        }
        num /= 10
    }
    return false
}
```swift
// Given an array of positive integers x. return a sorted array of all 
// elements that hasn't any even digit.
// Note: Returned array should be sorted in increasing order.
// For example:
// uniqueDigits(x: [15, 33, 1422, 1]) == [1, 15, 33]
// uniqueDigits(x: [152, 323, 1422, 10]) == [] as [Int]
func uniqueDigits(x: [Int]) -> [Int] {
    var result = [Int]()
    for num in x {
        if !hasEvenDigit(num) {
            result.append(num)
        }
    }
    return result.sorted()
}

func hasEvenDigit(_ num: Int) -> Bool {
    var num = num
    while num > 0 {
        let digit = num % 10
        if digit % 2 == 0 {
            return true
        }
        num /= 10
    }
    return false
}
```

func uniqueDigits(x: [Int]) -> [Int] {
    var result = [Int]()
    for num in x {
        var isUnique = true
        var temp = num
        while temp > 0 {
            let digit = temp % 10
            if digit % 2 == 0 {
                isUnique = false
                break
            }
            temp /= 10
        }
        if isUnique {
            result.append(num)
        }
    }
    return result.sorted()
}
```swift
// Given an array of positive integers x. return a sorted array of all 
// elements that hasn't any even digit.
// Note: Returned array should be sorted in increasing order.
// For example:
// uniqueDigits(x: [15, 33, 1422, 1]) == [1, 15, 33]
// uniqueDigits(x: [152, 323, 1422, 10]) == [] as [Int]
func uniqueDigits(x: [Int]) -> [Int] {
    var result = [Int]()
    for num in x {
        var isUnique = true
        var temp = num
        while temp > 0 {
            let digit = temp % 10
            if digit % 2 == 0 {
                isUnique = false
                break
            }
            temp /= 10
        }
        if isUnique {
            result.append(num)
        }
    }
    return result.sorted()
}
```

func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.filter { $0.isWholeNumber }.count == $0.description.count }.sorted()
}
```swift
// Given an array of positive integers x. return a sorted array of all 
// elements that hasn't any even digit.
// Note: Returned array should be sorted in increasing order.
// For example:
// uniqueDigits(x: [15, 33, 1422, 1]) == [1, 15, 33]
// uniqueDigits(x: [152, 323, 1422, 10]) == [] as [Int]
func uniqueDigits(x: [Int]) -> [Int] {
    return x.filter { $0.description.filter { $0.isWholeNumber }.count == $0.description.count }.sorted()
}
```

 // XCTAssertTrue failed

func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 >= 1 && $0 <= 9 }
    let sorted = filtered.sorted()
    let reversed = sorted.reversed()
    return reversed.map { names[$0 - 1] }
}
```swift
// Given an array of integers, sort the integers that are between 1 and 9 inclusive,
// reverse the resulting array, and then replace each digit by its corresponding name from
// "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine".
// For example:
// If the array is empty, return an empty array:
// If the array has any strange number ignore it:
// byLength(arr: [2, 1, 1, 4, 5, 8, 2, 3]) == ["Eight", "Five", "Four", "Three", "Two", "Two", "One", "One"]
// byLength(arr: [] as [Int]) == [] as [String]
// byLength(arr: [1, -1, 55]) == ["One"]
func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 >= 1 && $0 <= 9 }
    let sorted = filtered.sorted()
    let reversed = sorted.reversed()
    return reversed.map { names[$0 - 1] }
}
```

func byLength(arr: [Int]) -> [String] {
    let digitNames = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filteredAndSorted = arr.filter { $0 >= 1 && $0 <= 9 }.sorted()
    return filteredAndSorted.reversed().map { digitNames[$0 - 1] }
}
```swift
// Given an array of integers, sort the integers that are between 1 and 9 inclusive,
// reverse the resulting array, and then replace each digit by its corresponding name from
// "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine".
// For example:
// If the array is empty, return an empty array:
// If the array has any strange number ignore it:
// byLength(arr: [2, 1, 1, 4, 5, 8, 2, 3]) == ["Eight", "Five", "Four", "Three", "Two", "Two", "One", "One"]
// byLength(arr: [] as [Int]) == [] as [String]
// byLength(arr: [1, -1, 55]) == ["One"]
func byLength(arr: [Int]) -> [String] {
    let digitNames = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filteredAndSorted = arr.filter { $0 >= 1 && $0 <= 9 }.sorted()
    return filteredAndSorted.reversed().map { digitNames[$0 - 1] }
}
```

func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 > 0 && $0 < 10 }
    let sorted = filtered.sorted()
    let reversed = sorted.reversed()
    let named = reversed.map { names[$0 - 1] }
    return named
}
```swift
// Given an array of integers, sort the integers that are between 1 and 9 inclusive,
// reverse the resulting array, and then replace each digit by its corresponding name from
// "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine".
// For example:
// If the array is empty, return an empty array:
// If the array has any strange number ignore it:
// byLength(arr: [2, 1, 1, 4, 5, 8, 2, 3]) == ["Eight", "Five", "Four", "Three", "Two", "Two", "One", "One"]
// byLength(arr: [] as [Int]) == [] as [String]
// byLength(arr: [1, -1, 55]) == ["One"]
func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 > 0 && $0 < 10 }
    let sorted = filtered.sorted()
    let reversed = sorted.reversed()
    let named = reversed.map { names[$0 - 1] }
    return named
}
```

func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    var result = [String]()
    for num in arr {
        if num >= 1 && num <= 9 {
            result.append(names[num - 1])
        }
    }
    result.sort(by: >)
    return result
}
```swift
// Given an array of integers, sort the integers that are between 1 and 9 inclusive,
// reverse the resulting array, and then replace each digit by its corresponding name from
// "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine".
// For example:
// If the array is empty, return an empty array:
// If the array has any strange number ignore it:
// byLength(arr: [2, 1, 1, 4, 5, 8, 2, 3]) == ["Eight", "Five", "Four", "Three", "Two", "Two", "One", "One"]
// byLength(arr: [] as [Int]) == [] as [String]
// byLength(arr: [1, -1, 55]) == ["One"]
func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    var result = [String]()
    for num in arr {
        if num >= 1 && num <= 9 {
            result.append(names[num - 1])
        }
    }
    result.sort(by: >)
    return result
}
```

 // XCTAssertTrue failed

func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    var result = [String]()
    for num in arr {
        if num >= 1 && num <= 9 {
            result.append(names[num - 1])
        }
    }
    return result.reversed()
}
```swift
// Given an array of integers, sort the integers that are between 1 and 9 inclusive,
// reverse the resulting array, and then replace each digit by its corresponding name from
// "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine".
// For example:
// If the array is empty, return an empty array:
// If the array has any strange number ignore it:
// byLength(arr: [2, 1, 1, 4, 5, 8, 2, 3]) == ["Eight", "Five", "Four", "Three", "Two", "Two", "One", "One"]
// byLength(arr: [] as [Int]) == [] as [String]
// byLength(arr: [1, -1, 55]) == ["One"]
func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    var result = [String]()
    for num in arr {
        if num >= 1 && num <= 9 {
            result.append(names[num - 1])
        }
    }
    return result.reversed()
}
```
 // XCTAssertTrue failed

func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 >= 1 && $0 <= 9 }
    let sorted = filtered.sorted(by: >)
    return sorted.map { names[$0 - 1] }
}
```swift
// Given an array of integers, sort the integers that are between 1 and 9 inclusive,
// reverse the resulting array, and then replace each digit by its corresponding name from
// "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine".
// For example:
// If the array is empty, return an empty array:
// If the array has any strange number ignore it:
// byLength(arr: [2, 1, 1, 4, 5, 8, 2, 3]) == ["Eight", "Five", "Four", "Three", "Two", "Two", "One", "One"]
// byLength(arr: [] as [Int]) == [] as [String]
// byLength(arr: [1, -1, 55]) == ["One"]
func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 >= 1 && $0 <= 9 }
    let sorted = filtered.sorted(by: >)
    return sorted.map { names[$0 - 1] }
}
```

func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 >= 1 && $0 <= 9 }
    let sorted = filtered.sorted()
    let reversed = sorted.reversed()
    let named = reversed.map { names[$0 - 1] }
    return named
}
```swift
// Given an array of integers, sort the integers that are between 1 and 9 inclusive,
// reverse the resulting array, and then replace each digit by its corresponding name from
// "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine".
// For example:
// If the array is empty, return an empty array:
// If the array has any strange number ignore it:
// byLength(arr: [2, 1, 1, 4, 5, 8, 2, 3]) == ["Eight", "Five", "Four", "Three", "Two", "Two", "One", "One"]
// byLength(arr: [] as [Int]) == [] as [String]
// byLength(arr: [1, -1, 55]) == ["One"]
func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 >= 1 && $0 <= 9 }
    let sorted = filtered.sorted()
    let reversed = sorted.reversed()
    let named = reversed.map { names[$0 - 1] }
    return named
}
```

func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 >= 1 && $0 <= 9 }
    let sorted = filtered.sorted()
    let reversed = sorted.reversed()
    return reversed.map { names[$0 - 1] }
}
```swift
// Given an array of integers, sort the integers that are between 1 and 9 inclusive,
// reverse the resulting array, and then replace each digit by its corresponding name from
// "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine".
// For example:
// If the array is empty, return an empty array:
// If the array has any strange number ignore it:
// byLength(arr: [2, 1, 1, 4, 5, 8, 2, 3]) == ["Eight", "Five", "Four", "Three", "Two", "Two", "One", "One"]
// byLength(arr: [] as [Int]) == [] as [String]
// byLength(arr: [1, -1, 55]) == ["One"]
func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 >= 1 && $0 <= 9 }
    let sorted = filtered.sorted()
    let reversed = sorted.reversed()
    return reversed.map { names[$0 - 1] }
}
```

func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    return arr.filter { $0 >= 1 && $0 <= 9 }
        .sorted()
        .reversed()
        .map { names[$0 - 1] }
}
```swift
// Given an array of integers, sort the integers that are between 1 and 9 inclusive,
// reverse the resulting array, and then replace each digit by its corresponding name from
// "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine".
// For example:
// If the array is empty, return an empty array:
// If the array has any strange number ignore it:
// byLength(arr: [2, 1, 1, 4, 5, 8, 2, 3]) == ["Eight", "Five", "Four", "Three", "Two", "Two", "One", "One"]
// byLength(arr: [] as [Int]) == [] as [String]
// byLength(arr: [1, -1, 55]) == ["One"]
func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    return arr.filter { $0 >= 1 && $0 <= 9 }
        .sorted()
        .reversed()
        .map { names[$0 - 1] }
}
```

func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 > 0 && $0 < 10 }
    let sorted = filtered.sorted()
    let reversed = sorted.reversed()
    let named = reversed.map { names[$0 - 1] }
    return named
}
```swift
// Given an array of integers, sort the integers that are between 1 and 9 inclusive,
// reverse the resulting array, and then replace each digit by its corresponding name from
// "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine".
// For example:
// If the array is empty, return an empty array:
// If the array has any strange number ignore it:
// byLength(arr: [2, 1, 1, 4, 5, 8, 2, 3]) == ["Eight", "Five", "Four", "Three", "Two", "Two", "One", "One"]
// byLength(arr: [] as [Int]) == [] as [String]
// byLength(arr: [1, -1, 55]) == ["One"]
func byLength(arr: [Int]) -> [String] {
    let names = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    let filtered = arr.filter { $0 > 0 && $0 < 10 }
    let sorted = filtered.sorted()
    let reversed = sorted.reversed()
    let named = reversed.map { names[$0 - 1] }
    return named
}
```

func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumOfNumbers(i))
        }
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= i
    }
    return result
}

func sumOfNumbers(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15])
    assert(f(n: 3) == [1, 2, 6])
    assert(f(n: 1) == [1])
    print("All tests passed!")
}
```swift
// Implement the function f that takes n as a parameter,
// and returns an array of size n, such that the value of the element at index i is the factorial of i if i is even
// or the sum of numbers from 1 to i otherwise.
// i starts from 1.
// the factorial of i is the multiplication of the numbers from 1 to i (1 * 2 * ... * i).
// Example:
// f(n: 5) == [1, 2, 6, 24, 15]
func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumOfNumbers(i))
        }
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= i
    }
    return result
}

// Helper function to calculate the sum of numbers from 1 to n
func sumOfNumbers(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

// Check function to verify the correctness of the solution
func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15])
    assert(f(n: 3) == [1, 2, 6])
    assert(f(n: 1) == [1])
    print("All tests passed!")
}

check()
```

func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumToI(i))
        }
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

func sumToI(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Implement the function f that takes n as a parameter,
// and returns an array of size n, such that the value of the element at index i is the factorial of i if i is even
// or the sum of numbers from 1 to i otherwise.
// i starts from 1.
// the factorial of i is the multiplication of the numbers from 1 to i (1 * 2 * ... * i).
// Example:
// f(n: 5) == [1, 2, 6, 24, 15]
func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumToI(i))
        }
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

// Helper function to calculate the sum of numbers from 1 to n
func sumToI(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

// Check function to verify the correctness of the solution
func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumToI(i))
        }
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= i
    }
    return result
}

func sumToI(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}
```swift
// Implement the function f that takes n as a parameter,
// and returns an array of size n, such that the value of the element at index i is the factorial of i if i is even
// or the sum of numbers from 1 to i otherwise.
// i starts from 1.
// the factorial of i is the multiplication of the numbers from 1 to i (1 * 2 * ... * i).
// Example:
// f(n: 5) == [1, 2, 6, 24, 15]
func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumToI(i))
        }
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= i
    }
    return result
}

// Helper function to calculate the sum of numbers from 1 to n
func sumToI(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}
```

func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumToI(i))
        }
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

func sumToI(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Implement the function f that takes n as a parameter,
// and returns an array of size n, such that the value of the element at index i is the factorial of i if i is even
// or the sum of numbers from 1 to i otherwise.
// i starts from 1.
// the factorial of i is the multiplication of the numbers from 1 to i (1 * 2 * ... * i).
// Example:
// f(n: 5) == [1, 2, 6, 24, 15]
func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumToI(i))
        }
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

// Helper function to calculate the sum of numbers from 1 to n
func sumToI(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

// Check function to verify the correctness of the solution
func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumOfNumbers(i))
        }
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

func sumOfNumbers(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15])
    assert(f(n: 3) == [1, 2, 6])
    assert(f(n: 1) == [1])
    print("All tests passed!")
}
```swift
// Implement the function f that takes n as a parameter,
// and returns an array of size n, such that the value of the element at index i is the factorial of i if i is even
// or the sum of numbers from 1 to i otherwise.
// i starts from 1.
// the factorial of i is the multiplication of the numbers from 1 to i (1 * 2 * ... * i).
// Example:
// f(n: 5) == [1, 2, 6, 24, 15]
func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumOfNumbers(i))
        }
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

// Helper function to calculate the sum of numbers from 1 to n
func sumOfNumbers(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

// Check function to verify the correctness of the solution
func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15])
    assert(f(n: 3) == [1, 2, 6])
    assert(f(n: 1) == [1])
    print("All tests passed!")
}

check()
```

func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumOfNumbers(i))
        }
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

func sumOfNumbers(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Implement the function f that takes n as a parameter,
// and returns an array of size n, such that the value of the element at index i is the factorial of i if i is even
// or the sum of numbers from 1 to i otherwise.
// i starts from 1.
// the factorial of i is the multiplication of the numbers from 1 to i (1 * 2 * ... * i).
// Example:
// f(n: 5) == [1, 2, 6, 24, 15]
func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumOfNumbers(i))
        }
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

// Helper function to calculate the sum of numbers from 1 to n
func sumOfNumbers(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

// Check function to verify the correctness of the solution
func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumToI(i))
        }
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

func sumToI(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Implement the function f that takes n as a parameter,
// and returns an array of size n, such that the value of the element at index i is the factorial of i if i is even
// or the sum of numbers from 1 to i otherwise.
// i starts from 1.
// the factorial of i is the multiplication of the numbers from 1 to i (1 * 2 * ... * i).
// Example:
// f(n: 5) == [1, 2, 6, 24, 15]
func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumToI(i))
        }
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

// Helper function to calculate the sum of numbers from 1 to n
func sumToI(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

// Check function to verify the correctness of the solution
func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumOfNumbers(i))
        }
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= i
    }
    return result
}

func sumOfNumbers(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Implement the function f that takes n as a parameter,
// and returns an array of size n, such that the value of the element at index i is the factorial of i if i is even
// or the sum of numbers from 1 to i otherwise.
// i starts from 1.
// the factorial of i is the multiplication of the numbers from 1 to i (1 * 2 * ... * i).
// Example:
// f(n: 5) == [1, 2, 6, 24, 15]
func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumOfNumbers(i))
        }
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= i
    }
    return result
}

// Helper function to calculate the sum of numbers from 1 to n
func sumOfNumbers(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

// Check function to verify the correctness of the solution
func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumOfNumbers(i))
        }
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= i
    }
    return result
}

func sumOfNumbers(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Implement the function f that takes n as a parameter,
// and returns an array of size n, such that the value of the element at index i is the factorial of i if i is even
// or the sum of numbers from 1 to i otherwise.
// i starts from 1.
// the factorial of i is the multiplication of the numbers from 1 to i (1 * 2 * ... * i).
// Example:
// f(n: 5) == [1, 2, 6, 24, 15]
func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumOfNumbers(i))
        }
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= i
    }
    return result
}

// Helper function to calculate the sum of numbers from 1 to n
func sumOfNumbers(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

// Check function to verify the correctness of the solution
func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumUpTo(i))
        }
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

func sumUpTo(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// Implement the function f that takes n as a parameter,
// and returns an array of size n, such that the value of the element at index i is the factorial of i if i is even
// or the sum of numbers from 1 to i otherwise.
// i starts from 1.
// the factorial of i is the multiplication of the numbers from 1 to i (1 * 2 * ... * i).
// Example:
// f(n: 5) == [1, 2, 6, 24, 15]
func f(n: Int) -> [Int] {
    var result = [Int]()
    for i in 1...n {
        if i % 2 == 0 {
            result.append(factorial(i))
        } else {
            result.append(sumUpTo(i))
        }
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

// Helper function to calculate the sum of numbers from 1 to n
func sumUpTo(_ n: Int) -> Int {
    var result = 0
    for i in 1...n {
        result += i
    }
    return result
}

// Check function to verify the correctness of the f function
func check() {
    assert(f(n: 5) == [1, 2, 6, 24, 15], "Test case 1 failed")
    assert(f(n: 3) == [1, 2, 6], "Test case 2 failed")
    assert(f(n: 1) == [1], "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}
```swift
// Given a positive integer n, return a tuple that has the number of even and odd
// integer palindromes that fall within the range(1, n), inclusive.
// Example 1:
// Explanation:
// Integer palindrome are 1, 2, 3. one of them is even, and two of them are odd.
// Example 2:
// Explanation:
// Integer palindrome are 1, 2, 3, 4, 5, 6, 7, 8, 9, 11. four of them are even, and 6 of them are odd.
// Note:
// 1. 1 <= n <= 10^3
// 2. returned tuple has the number of even and odd integer palindromes respectively.
// evenOddPalindrome(n: 3) == (1, 2)
// evenOddPalindrome(n: 12) == (4, 6)
func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}
```
if isPalindrome(i) { // cannot find 'isPalindrome' in scope

func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```swift
// Given a positive integer n, return a tuple that has the number of even and odd
// integer palindromes that fall within the range(1, n), inclusive.
// Example 1:
// Explanation:
// Integer palindrome are 1, 2, 3. one of them is even, and two of them are odd.
// Example 2:
// Explanation:
// Integer palindrome are 1, 2, 3, 4, 5, 6, 7, 8, 9, 11. four of them are even, and 6 of them are odd.
// Note:
// 1. 1 <= n <= 10^3
// 2. returned tuple has the number of even and odd integer palindromes respectively.
// evenOddPalindrome(n: 3) == (1, 2)
// evenOddPalindrome(n: 12) == (4, 6)
func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```

func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```swift
// Given a positive integer n, return a tuple that has the number of even and odd
// integer palindromes that fall within the range(1, n), inclusive.
// Example 1:
// Explanation:
// Integer palindrome are 1, 2, 3. one of them is even, and two of them are odd.
// Example 2:
// Explanation:
// Integer palindrome are 1, 2, 3, 4, 5, 6, 7, 8, 9, 11. four of them are even, and 6 of them are odd.
// Note:
// 1. 1 <= n <= 10^3
// 2. returned tuple has the number of even and odd integer palindromes respectively.
// evenOddPalindrome(n: 3) == (1, 2)
// evenOddPalindrome(n: 12) == (4, 6)
func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```

func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```swift
// Given a positive integer n, return a tuple that has the number of even and odd
// integer palindromes that fall within the range(1, n), inclusive.
// Example 1:
// Explanation:
// Integer palindrome are 1, 2, 3. one of them is even, and two of them are odd.
// Example 2:
// Explanation:
// Integer palindrome are 1, 2, 3, 4, 5, 6, 7, 8, 9, 11. four of them are even, and 6 of them are odd.
// Note:
// 1. 1 <= n <= 10^3
// 2. returned tuple has the number of even and odd integer palindromes respectively.
// evenOddPalindrome(n: 3) == (1, 2)
// evenOddPalindrome(n: 12) == (4, 6)
func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```

func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```swift
// Given a positive integer n, return a tuple that has the number of even and odd
// integer palindromes that fall within the range(1, n), inclusive.
// Example 1:
// Explanation:
// Integer palindrome are 1, 2, 3. one of them is even, and two of them are odd.
// Example 2:
// Explanation:
// Integer palindrome are 1, 2, 3, 4, 5, 6, 7, 8, 9, 11. four of them are even, and 6 of them are odd.
// Note:
// 1. 1 <= n <= 10^3
// 2. returned tuple has the number of even and odd integer palindromes respectively.
// evenOddPalindrome(n: 3) == (1, 2)
// evenOddPalindrome(n: 12) == (4, 6)
func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```

func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```swift
// Given a positive integer n, return a tuple that has the number of even and odd
// integer palindromes that fall within the range(1, n), inclusive.
// Example 1:
// Explanation:
// Integer palindrome are 1, 2, 3. one of them is even, and two of them are odd.
// Example 2:
// Explanation:
// Integer palindrome are 1, 2, 3, 4, 5, 6, 7, 8, 9, 11. four of them are even, and 6 of them are odd.
// Note:
// 1. 1 <= n <= 10^3
// 2. returned tuple has the number of even and odd integer palindromes respectively.
// evenOddPalindrome(n: 3) == (1, 2)
// evenOddPalindrome(n: 12) == (4, 6)
func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}
func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```

func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```swift
// Given a positive integer n, return a tuple that has the number of even and odd
// integer palindromes that fall within the range(1, n), inclusive.
// Example 1:
// Explanation:
// Integer palindrome are 1, 2, 3. one of them is even, and two of them are odd.
// Example 2:
// Explanation:
// Integer palindrome are 1, 2, 3, 4, 5, 6, 7, 8, 9, 11. four of them are even, and 6 of them are odd.
// Note:
// 1. 1 <= n <= 10^3
// 2. returned tuple has the number of even and odd integer palindromes respectively.
// evenOddPalindrome(n: 3) == (1, 2)
// evenOddPalindrome(n: 12) == (4, 6)
func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```

func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```swift
// Given a positive integer n, return a tuple that has the number of even and odd
// integer palindromes that fall within the range(1, n), inclusive.
// Example 1:
// Explanation:
// Integer palindrome are 1, 2, 3. one of them is even, and two of them are odd.
// Example 2:
// Explanation:
// Integer palindrome are 1, 2, 3, 4, 5, 6, 7, 8, 9, 11. four of them are even, and 6 of them are odd.
// Note:
// 1. 1 <= n <= 10^3
// 2. returned tuple has the number of even and odd integer palindromes respectively.
// evenOddPalindrome(n: 3) == (1, 2)
// evenOddPalindrome(n: 12) == (4, 6)
func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```

func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```swift
// Given a positive integer n, return a tuple that has the number of even and odd
// integer palindromes that fall within the range(1, n), inclusive.
// Example 1:
// Explanation:
// Integer palindrome are 1, 2, 3. one of them is even, and two of them are odd.
// Example 2:
// Explanation:
// Integer palindrome are 1, 2, 3, 4, 5, 6, 7, 8, 9, 11. four of them are even, and 6 of them are odd.
// Note:
// 1. 1 <= n <= 10^3
// 2. returned tuple has the number of even and odd integer palindromes respectively.
// evenOddPalindrome(n: 3) == (1, 2)
// evenOddPalindrome(n: 12) == (4, 6)
func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```

func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```swift
// Given a positive integer n, return a tuple that has the number of even and odd
// integer palindromes that fall within the range(1, n), inclusive.
// Example 1:
// Explanation:
// Integer palindrome are 1, 2, 3. one of them is even, and two of them are odd.
// Example 2:
// Explanation:
// Integer palindrome are 1, 2, 3, 4, 5, 6, 7, 8, 9, 11. four of them are even, and 6 of them are odd.
// Note:
// 1. 1 <= n <= 10^3
// 2. returned tuple has the number of even and odd integer palindromes respectively.
// evenOddPalindrome(n: 3) == (1, 2)
// evenOddPalindrome(n: 12) == (4, 6)
func evenOddPalindrome(n: Int) -> (Int, Int) {
    var evenCount = 0
    var oddCount = 0
    for i in 1...n {
        if isPalindrome(i) {
            if i % 2 == 0 {
                evenCount += 1
            } else {
                oddCount += 1
            }
        }
    }
    return (evenCount, oddCount)
}

func isPalindrome(_ num: Int) -> Bool {
    let str = String(num)
    return str == String(str.reversed())
}
```

func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function count_nums which takes an array of integers and returns
// the number of elements which has a sum of digits > 0.
// If a number is negative, then its first signed digit will be negative:
// e.g. -123 has signed digits -1, 2, and 3.
// countNums(arr: [] as [Int]) == 0
// countNums(arr: [-1, 11, -11]) == 1
// countNums(arr: [1, 1, 2]) == 3
func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var absNum = abs(num)
        while absNum > 0 {
            sum += absNum % 10
            absNum /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function count_nums which takes an array of integers and returns
// the number of elements which has a sum of digits > 0.
// If a number is negative, then its first signed digit will be negative:
// e.g. -123 has signed digits -1, 2, and 3.
// countNums(arr: [] as [Int]) == 0
// countNums(arr: [-1, 11, -11]) == 1
// countNums(arr: [1, 1, 2]) == 3
func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var absNum = abs(num)
        while absNum > 0 {
            sum += absNum % 10
            absNum /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function count_nums which takes an array of integers and returns
// the number of elements which has a sum of digits > 0.
// If a number is negative, then its first signed digit will be negative:
// e.g. -123 has signed digits -1, 2, and 3.
// countNums(arr: [] as [Int]) == 0
// countNums(arr: [-1, 11, -11]) == 1
// countNums(arr: [1, 1, 2]) == 3
func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function count_nums which takes an array of integers and returns
// the number of elements which has a sum of digits > 0.
// If a number is negative, then its first signed digit will be negative:
// e.g. -123 has signed digits -1, 2, and 3.
// countNums(arr: [] as [Int]) == 0
// countNums(arr: [-1, 11, -11]) == 1
// countNums(arr: [1, 1, 2]) == 3
func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function count_nums which takes an array of integers and returns
// the number of elements which has a sum of digits > 0.
// If a number is negative, then its first signed digit will be negative:
// e.g. -123 has signed digits -1, 2, and 3.
// countNums(arr: [] as [Int]) == 0
// countNums(arr: [-1, 11, -11]) == 1
// countNums(arr: [1, 1, 2]) == 3
func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function count_nums which takes an array of integers and returns
// the number of elements which has a sum of digits > 0.
// If a number is negative, then its first signed digit will be negative:
// e.g. -123 has signed digits -1, 2, and 3.
// countNums(arr: [] as [Int]) == 0
// countNums(arr: [-1, 11, -11]) == 1
// countNums(arr: [1, 1, 2]) == 3
func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function count_nums which takes an array of integers and returns
// the number of elements which has a sum of digits > 0.
// If a number is negative, then its first signed digit will be negative:
// e.g. -123 has signed digits -1, 2, and 3.
// countNums(arr: [] as [Int]) == 0
// countNums(arr: [-1, 11, -11]) == 1
// countNums(arr: [1, 1, 2]) == 3
func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function count_nums which takes an array of integers and returns
// the number of elements which has a sum of digits > 0.
// If a number is negative, then its first signed digit will be negative:
// e.g. -123 has signed digits -1, 2, and 3.
// countNums(arr: [] as [Int]) == 0
// countNums(arr: [-1, 11, -11]) == 1
// countNums(arr: [1, 1, 2]) == 3
func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function count_nums which takes an array of integers and returns
// the number of elements which has a sum of digits > 0.
// If a number is negative, then its first signed digit will be negative:
// e.g. -123 has signed digits -1, 2, and 3.
// countNums(arr: [] as [Int]) == 0
// countNums(arr: [-1, 11, -11]) == 1
// countNums(arr: [1, 1, 2]) == 3
func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function count_nums which takes an array of integers and returns
// the number of elements which has a sum of digits > 0.
// If a number is negative, then its first signed digit will be negative:
// e.g. -123 has signed digits -1, 2, and 3.
// countNums(arr: [] as [Int]) == 0
// countNums(arr: [-1, 11, -11]) == 1
// countNums(arr: [1, 1, 2]) == 3
func countNums(arr: [Int]) -> Int {
    var count = 0
    for num in arr {
        var sum = 0
        var num = abs(num)
        while num > 0 {
            sum += num % 10
            num /= 10
        }
        if sum > 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func moveOneBall(arr: [Int]) -> Bool {
    // Your code goes here
}
```swift
// We have an array 'arr' of N integers arr[1], arr[2], ..., arr[N].The
// numbers in the array will be randomly ordered. Your task is to determine if
// it is possible to get an array sorted in non-decreasing order by performing 
// the following operation on the given array:
// You are allowed to perform right shift operation any number of times.
// One right shift operation means shifting all elements of the array by one
// position in the right direction. The last element of the array will be moved to
// the starting position in the array i.e. 0th index. 
// If it is possible to obtain the sorted array by performing the above operation
// then return true else return false.
// If the given array is empty then return true.
// Note: The given array is guaranteed to have unique elements.
// For Example:
// Explanation: By performin 2 right shift operations, non-decreasing order can
// be achieved for the given array.
// Explanation:It is not possible to get non-decreasing order for the given
// array by performing any number of right shift operations.
// moveOneBall(arr: [3, 4, 5, 1, 2]) == true
// moveOneBall(arr: [3, 5, 4, 1, 2]) == false
func moveOneBall(arr: [Int]) -> Bool {
    // Your code goes here
}
```

} // missing return in global function expected to return 'Bool'

func moveOneBall(arr: [Int]) -> Bool {
    // Write your code here
}
```swift
// We have an array 'arr' of N integers arr[1], arr[2], ..., arr[N].The
// numbers in the array will be randomly ordered. Your task is to determine if
// it is possible to get an array sorted in non-decreasing order by performing 
// the following operation on the given array:
// You are allowed to perform right shift operation any number of times.
// One right shift operation means shifting all elements of the array by one
// position in the right direction. The last element of the array will be moved to
// the starting position in the array i.e. 0th index. 
// If it is possible to obtain the sorted array by performing the above operation
// then return true else return false.
// If the given array is empty then return true.
// Note: The given array is guaranteed to have unique elements.
// For Example:
// Explanation: By performin 2 right shift operations, non-decreasing order can
// be achieved for the given array.
// Explanation:It is not possible to get non-decreasing order for the given
// array by performing any number of right shift operations.
// moveOneBall(arr: [3, 4, 5, 1, 2]) == true
// moveOneBall(arr: [3, 5, 4, 1, 2]) == false
func moveOneBall(arr: [Int]) -> Bool {
    // Write your code here
}
```

} // missing return in global function expected to return 'Bool'

func moveOneBall(arr: [Int]) -> Bool {
    if arr.isEmpty {
        return true
    }
    let sortedArr = arr.sorted()
    var count = 0
    for i in 0..<arr.count {
        if arr[i] != sortedArr[i] {
            count += 1
        }
    }
    return count <= 1
}
```swift
// We have an array 'arr' of N integers arr[1], arr[2], ..., arr[N].The
// numbers in the array will be randomly ordered. Your task is to determine if
// it is possible to get an array sorted in non-decreasing order by performing 
// the following operation on the given array:
// You are allowed to perform right shift operation any number of times.
// One right shift operation means shifting all elements of the array by one
// position in the right direction. The last element of the array will be moved to
// the starting position in the array i.e. 0th index. 
// If it is possible to obtain the sorted array by performing the above operation
// then return true else return false.
// If the given array is empty then return true.
// Note: The given array is guaranteed to have unique elements.
// For Example:
// Explanation: By performin 2 right shift operations, non-decreasing order can
// be achieved for the given array.
// Explanation:It is not possible to get non-decreasing order for the given
// array by performing any number of right shift operations.
// moveOneBall(arr: [3, 4, 5, 1, 2]) == true
// moveOneBall(arr: [3, 5, 4, 1, 2]) == false
func moveOneBall(arr: [Int]) -> Bool {
    if arr.isEmpty {
        return true
    }
    let sortedArr = arr.sorted()
    var count = 0
    for i in 0..<arr.count {
        if arr[i] != sortedArr[i] {
            count += 1
        }
    }
    return count <= 1
}
```

 // XCTAssertTrue failed

func moveOneBall(arr: [Int]) -> Bool {
    // Write your code here.
    if arr.isEmpty {
        return true
    }
    var arr = arr
    var count = 0
    while count < arr.count {
        if arr == arr.sorted() {
            return true
        }
        arr.insert(arr.removeLast(), at: 0)
        count += 1
    }
    return false
}
```swift
// We have an array 'arr' of N integers arr[1], arr[2], ..., arr[N].The
// numbers in the array will be randomly ordered. Your task is to determine if
// it is possible to get an array sorted in non-decreasing order by performing 
// the following operation on the given array:
// You are allowed to perform right shift operation any number of times.
// One right shift operation means shifting all elements of the array by one
// position in the right direction. The last element of the array will be moved to
// the starting position in the array i.e. 0th index. 
// If it is possible to obtain the sorted array by performing the above operation
// then return true else return false.
// If the given array is empty then return true.
// Note: The given array is guaranteed to have unique elements.
// For Example:
// Explanation: By performin 2 right shift operations, non-decreasing order can
// be achieved for the given array.
// Explanation:It is not possible to get non-decreasing order for the given
// array by performing any number of right shift operations.
// moveOneBall(arr: [3, 4, 5, 1, 2]) == true
// moveOneBall(arr: [3, 5, 4, 1, 2]) == false
func moveOneBall(arr: [Int]) -> Bool {
    // Write your code here.
    if arr.isEmpty {
        return true
    }
    var arr = arr
    var count = 0
    while count < arr.count {
        if arr == arr.sorted() {
            return true
        }
        arr.insert(arr.removeLast(), at: 0)
        count += 1
    }
    return false
}
```

func moveOneBall(arr: [Int]) -> Bool {
    // Write your code here
    if arr.isEmpty {
        return true
    }
    let n = arr.count
    var sortedArr = arr.sorted()
    for i in 0..<n {
        if arr == sortedArr {
            return true
        }
        let last = arr.removeLast()
        arr.insert(last, at: 0)
    }
    return false
}
```swift
// We have an array 'arr' of N integers arr[1], arr[2], ..., arr[N].The
// numbers in the array will be randomly ordered. Your task is to determine if
// it is possible to get an array sorted in non-decreasing order by performing 
// the following operation on the given array:
// You are allowed to perform right shift operation any number of times.
// One right shift operation means shifting all elements of the array by one
// position in the right direction. The last element of the array will be moved to
// the starting position in the array i.e. 0th index. 
// If it is possible to obtain the sorted array by performing the above operation
// then return true else return false.
// If the given array is empty then return true.
// Note: The given array is guaranteed to have unique elements.
// For Example:
// Explanation: By performin 2 right shift operations, non-decreasing order can
// be achieved for the given array.
// Explanation:It is not possible to get non-decreasing order for the given
// array by performing any number of right shift operations.
// moveOneBall(arr: [3, 4, 5, 1, 2]) == true
// moveOneBall(arr: [3, 5, 4, 1, 2]) == false
func moveOneBall(arr: [Int]) -> Bool {
    // Write your code here
    if arr.isEmpty {
        return true
    }
    let n = arr.count
    var sortedArr = arr.sorted()
    for i in 0..<n {
        if arr == sortedArr {
            return true
        }
        let last = arr.removeLast()
        arr.insert(last, at: 0)
    }
    return false
}
```

let last = arr.removeLast() // cannot use mutating member on immutable value: 'arr' is a 'let' constant
arr.insert(last, at: 0) // cannot use mutating member on immutable value: 'arr' is a 'let' constant

func moveOneBall(arr: [Int]) -> Bool {
    // Your code goes here
    return false
}
```swift
// We have an array 'arr' of N integers arr[1], arr[2], ..., arr[N].The
// numbers in the array will be randomly ordered. Your task is to determine if
// it is possible to get an array sorted in non-decreasing order by performing 
// the following operation on the given array:
// You are allowed to perform right shift operation any number of times.
// One right shift operation means shifting all elements of the array by one
// position in the right direction. The last element of the array will be moved to
// the starting position in the array i.e. 0th index. 
// If it is possible to obtain the sorted array by performing the above operation
// then return true else return false.
// If the given array is empty then return true.
// Note: The given array is guaranteed to have unique elements.
// For Example:
// Explanation: By performin 2 right shift operations, non-decreasing order can
// be achieved for the given array.
// Explanation:It is not possible to get non-decreasing order for the given
// array by performing any number of right shift operations.
// moveOneBall(arr: [3, 4, 5, 1, 2]) == true
// moveOneBall(arr: [3, 5, 4, 1, 2]) == false
func moveOneBall(arr: [Int]) -> Bool {
    // Your code goes here
    return false
}
```

 // XCTAssertTrue failed

func moveOneBall(arr: [Int]) -> Bool {
    // Your code goes here
    return false
}
```swift
// We have an array 'arr' of N integers arr[1], arr[2], ..., arr[N].The
// numbers in the array will be randomly ordered. Your task is to determine if
// it is possible to get an array sorted in non-decreasing order by performing 
// the following operation on the given array:
// You are allowed to perform right shift operation any number of times.
// One right shift operation means shifting all elements of the array by one
// position in the right direction. The last element of the array will be moved to
// the starting position in the array i.e. 0th index. 
// If it is possible to obtain the sorted array by performing the above operation
// then return true else return false.
// If the given array is empty then return true.
// Note: The given array is guaranteed to have unique elements.
// For Example:
// Explanation: By performin 2 right shift operations, non-decreasing order can
// be achieved for the given array.
// Explanation:It is not possible to get non-decreasing order for the given
// array by performing any number of right shift operations.
// moveOneBall(arr: [3, 4, 5, 1, 2]) == true
// moveOneBall(arr: [3, 5, 4, 1, 2]) == false
func moveOneBall(arr: [Int]) -> Bool {
    // Your code goes here
    return false
}
```

 // XCTAssertTrue failed

func moveOneBall(arr: [Int]) -> Bool {
    if arr.isEmpty {
        return true
    }
    var arr = arr
    var count = 0
    while count < arr.count {
        if arr == arr.sorted() {
            return true
        }
        arr.insert(arr.removeLast(), at: 0)
        count += 1
    }
    return false
}
```swift
// We have an array 'arr' of N integers arr[1], arr[2], ..., arr[N].The
// numbers in the array will be randomly ordered. Your task is to determine if
// it is possible to get an array sorted in non-decreasing order by performing 
// the following operation on the given array:
// You are allowed to perform right shift operation any number of times.
// One right shift operation means shifting all elements of the array by one
// position in the right direction. The last element of the array will be moved to
// the starting position in the array i.e. 0th index. 
// If it is possible to obtain the sorted array by performing the above operation
// then return true else return false.
// If the given array is empty then return true.
// Note: The given array is guaranteed to have unique elements.
// For Example:
// Explanation: By performin 2 right shift operations, non-decreasing order can
// be achieved for the given array.
// Explanation:It is not possible to get non-decreasing order for the given
// array by performing any number of right shift operations.
// moveOneBall(arr: [3, 4, 5, 1, 2]) == true
// moveOneBall(arr: [3, 5, 4, 1, 2]) == false
func moveOneBall(arr: [Int]) -> Bool {
    if arr.isEmpty {
        return true
    }
    var arr = arr
    var count = 0
    while count < arr.count {
        if arr == arr.sorted() {
            return true
        }
        arr.insert(arr.removeLast(), at: 0)
        count += 1
    }
    return false
}
```

func moveOneBall(arr: [Int]) -> Bool {
    // Write your code here.
    if arr.isEmpty {
        return true
    }
    var sortedArr = arr.sorted()
    var count = 0
    for i in 0..<arr.count {
        if arr[i] == sortedArr[count] {
            count += 1
        }
        if count == arr.count {
            return true
        }
    }
    return false
}
```swift
// We have an array 'arr' of N integers arr[1], arr[2], ..., arr[N].The
// numbers in the array will be randomly ordered. Your task is to determine if
// it is possible to get an array sorted in non-decreasing order by performing 
// the following operation on the given array:
// You are allowed to perform right shift operation any number of times.
// One right shift operation means shifting all elements of the array by one
// position in the right direction. The last element of the array will be moved to
// the starting position in the array i.e. 0th index. 
// If it is possible to obtain the sorted array by performing the above operation
// then return true else return false.
// If the given array is empty then return true.
// Note: The given array is guaranteed to have unique elements.
// For Example:
// Explanation: By performin 2 right shift operations, non-decreasing order can
// be achieved for the given array.
// Explanation:It is not possible to get non-decreasing order for the given
// array by performing any number of right shift operations.
// moveOneBall(arr: [3, 4, 5, 1, 2]) == true
// moveOneBall(arr: [3, 5, 4, 1, 2]) == false
func moveOneBall(arr: [Int]) -> Bool {
    // Write your code here.
    if arr.isEmpty {
        return true
    }
    var sortedArr = arr.sorted()
    var count = 0
    for i in 0..<arr.count {
        if arr[i] == sortedArr[count] {
            count += 1
        }
        if count == arr.count {
            return true
        }
    }
    return false
}
```

var sortedArr = arr.sorted() // variable 'sortedArr' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func moveOneBall(arr: [Int]) -> Bool {
    // Write your code here
    if arr.isEmpty {
        return true
    }
    var arr = arr
    var count = 0
    while count < arr.count {
        if arr == arr.sorted() {
            return true
        }
        arr.insert(arr.removeLast(), at: 0)
        count += 1
    }
    return false
}
```swift
// We have an array 'arr' of N integers arr[1], arr[2], ..., arr[N].The
// numbers in the array will be randomly ordered. Your task is to determine if
// it is possible to get an array sorted in non-decreasing order by performing 
// the following operation on the given array:
// You are allowed to perform right shift operation any number of times.
// One right shift operation means shifting all elements of the array by one
// position in the right direction. The last element of the array will be moved to
// the starting position in the array i.e. 0th index. 
// If it is possible to obtain the sorted array by performing the above operation
// then return true else return false.
// If the given array is empty then return true.
// Note: The given array is guaranteed to have unique elements.
// For Example:
// Explanation: By performin 2 right shift operations, non-decreasing order can
// be achieved for the given array.
// Explanation:It is not possible to get non-decreasing order for the given
// array by performing any number of right shift operations.
// moveOneBall(arr: [3, 4, 5, 1, 2]) == true
// moveOneBall(arr: [3, 5, 4, 1, 2]) == false
func moveOneBall(arr: [Int]) -> Bool {
    // Write your code here
    if arr.isEmpty {
        return true
    }
    var arr = arr
    var count = 0
    while count < arr.count {
        if arr == arr.sorted() {
            return true
        }
        arr.insert(arr.removeLast(), at: 0)
        count += 1
    }
    return false
}
```

func exchange(lst1: [Int], lst2: [Int]) -> String {
    // Your code here
}
```swift
// In this problem, you will implement a function that takes two arrays of numbers,
// and determines whether it is possible to perform an exchange of elements
// between them to make lst1 an array of only even numbers.
// There is no limit on the number of exchanged elements between lst1 and lst2.
// If it is possible to exchange elements between the lst1 and lst2 to make
// all the elements of lst1 to be even, return "YES".
// Otherwise, return "NO".
// For example:
// It is assumed that the input arrays will be non-empty.
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 2, 3, 4]) == "YES"
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 5, 3, 4]) == "NO"
func exchange(lst1: [Int], lst2: [Int]) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func exchange(lst1: [Int], lst2: [Int]) -> String {
    // Your code here
}
```swift
// In this problem, you will implement a function that takes two arrays of numbers,
// and determines whether it is possible to perform an exchange of elements
// between them to make lst1 an array of only even numbers.
// There is no limit on the number of exchanged elements between lst1 and lst2.
// If it is possible to exchange elements between the lst1 and lst2 to make
// all the elements of lst1 to be even, return "YES".
// Otherwise, return "NO".
// For example:
// It is assumed that the input arrays will be non-empty.
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 2, 3, 4]) == "YES"
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 5, 3, 4]) == "NO"
func exchange(lst1: [Int], lst2: [Int]) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func exchange(lst1: [Int], lst2: [Int]) -> String {
    // Your code here
}
```swift
// In this problem, you will implement a function that takes two arrays of numbers,
// and determines whether it is possible to perform an exchange of elements
// between them to make lst1 an array of only even numbers.
// There is no limit on the number of exchanged elements between lst1 and lst2.
// If it is possible to exchange elements between the lst1 and lst2 to make
// all the elements of lst1 to be even, return "YES".
// Otherwise, return "NO".
// For example:
// It is assumed that the input arrays will be non-empty.
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 2, 3, 4]) == "YES"
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 5, 3, 4]) == "NO"
func exchange(lst1: [Int], lst2: [Int]) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func exchange(lst1: [Int], lst2: [Int]) -> String {
    var oddCount = 0
    var evenCount = 0
    for num in lst1 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount += 1
        }
    }
    for num in lst2 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount -= 1
        }
    }
    return oddCount == 0 ? "YES" : "NO"
}
```swift
// In this problem, you will implement a function that takes two arrays of numbers,
// and determines whether it is possible to perform an exchange of elements
// between them to make lst1 an array of only even numbers.
// There is no limit on the number of exchanged elements between lst1 and lst2.
// If it is possible to exchange elements between the lst1 and lst2 to make
// all the elements of lst1 to be even, return "YES".
// Otherwise, return "NO".
// For example:
// It is assumed that the input arrays will be non-empty.
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 2, 3, 4]) == "YES"
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 5, 3, 4]) == "NO"
func exchange(lst1: [Int], lst2: [Int]) -> String {
    var oddCount = 0
    var evenCount = 0
    for num in lst1 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount += 1
        }
    }
    for num in lst2 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount -= 1
        }
    }
    return oddCount == 0 ? "YES" : "NO"
}
```

 // XCTAssertTrue failed

func exchange(lst1: [Int], lst2: [Int]) -> String {
    var oddCount = 0
    var evenCount = 0
    for num in lst1 {
        if num % 2 != 0 {
            oddCount += 1
        } else {
            evenCount += 1
        }
    }
    for num in lst2 {
        if num % 2 != 0 {
            oddCount -= 1
        } else {
            evenCount += 1
        }
    }
    return oddCount == 0 ? "YES" : "NO"
}
```swift
// In this problem, you will implement a function that takes two arrays of numbers,
// and determines whether it is possible to perform an exchange of elements
// between them to make lst1 an array of only even numbers.
// There is no limit on the number of exchanged elements between lst1 and lst2.
// If it is possible to exchange elements between the lst1 and lst2 to make
// all the elements of lst1 to be even, return "YES".
// Otherwise, return "NO".
// For example:
// It is assumed that the input arrays will be non-empty.
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 2, 3, 4]) == "YES"
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 5, 3, 4]) == "NO"
func exchange(lst1: [Int], lst2: [Int]) -> String {
    var oddCount = 0
    var evenCount = 0
    for num in lst1 {
        if num % 2 != 0 {
            oddCount += 1
        } else {
            evenCount += 1
        }
    }
    for num in lst2 {
        if num % 2 != 0 {
            oddCount -= 1
        } else {
            evenCount += 1
        }
    }
    return oddCount == 0 ? "YES" : "NO"
}
```

 // XCTAssertTrue failed

func exchange(lst1: [Int], lst2: [Int]) -> String {
    var lst1 = lst1
    var lst2 = lst2
    var oddCount = 0
    var evenCount = 0
    for num in lst1 {
        if num % 2 != 0 {
            oddCount += 1
        } else {
            evenCount += 1
        }
    }
    for num in lst2 {
        if num % 2 != 0 {
            oddCount += 1
        } else {
            evenCount += 1
        }
    }
    if evenCount >= oddCount {
        return "YES"
    } else {
        return "NO"
    }
}
```swift
// In this problem, you will implement a function that takes two arrays of numbers,
// and determines whether it is possible to perform an exchange of elements
// between them to make lst1 an array of only even numbers.
// There is no limit on the number of exchanged elements between lst1 and lst2.
// If it is possible to exchange elements between the lst1 and lst2 to make
// all the elements of lst1 to be even, return "YES".
// Otherwise, return "NO".
// For example:
// It is assumed that the input arrays will be non-empty.
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 2, 3, 4]) == "YES"
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 5, 3, 4]) == "NO"
func exchange(lst1: [Int], lst2: [Int]) -> String {
    var lst1 = lst1
    var lst2 = lst2
    var oddCount = 0
    var evenCount = 0
    for num in lst1 {
        if num % 2 != 0 {
            oddCount += 1
        } else {
            evenCount += 1
        }
    }
    for num in lst2 {
        if num % 2 != 0 {
            oddCount += 1
        } else {
            evenCount += 1
        }
    }
    if evenCount >= oddCount {
        return "YES"
    } else {
        return "NO"
    }
}
```

var lst1 = lst1 // variable 'lst1' was never mutated; consider changing to 'let' constant
var lst2 = lst2 // variable 'lst2' was never mutated; consider changing to 'let' constant

func exchange(lst1: [Int], lst2: [Int]) -> String {
    let oddCount = lst1.filter { $0 % 2 != 0 }.count
    let evenCount = lst2.filter { $0 % 2 == 0 }.count
    return oddCount <= evenCount ? "YES" : "NO"
}
```swift
// In this problem, you will implement a function that takes two arrays of numbers,
// and determines whether it is possible to perform an exchange of elements
// between them to make lst1 an array of only even numbers.
// There is no limit on the number of exchanged elements between lst1 and lst2.
// If it is possible to exchange elements between the lst1 and lst2 to make
// all the elements of lst1 to be even, return "YES".
// Otherwise, return "NO".
// For example:
// It is assumed that the input arrays will be non-empty.
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 2, 3, 4]) == "YES"
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 5, 3, 4]) == "NO"
func exchange(lst1: [Int], lst2: [Int]) -> String {
    let oddCount = lst1.filter { $0 % 2 != 0 }.count
    let evenCount = lst2.filter { $0 % 2 == 0 }.count
    return oddCount <= evenCount ? "YES" : "NO"
}
```

func exchange(lst1: [Int], lst2: [Int]) -> String {
    // Your code here
}
```swift
// In this problem, you will implement a function that takes two arrays of numbers,
// and determines whether it is possible to perform an exchange of elements
// between them to make lst1 an array of only even numbers.
// There is no limit on the number of exchanged elements between lst1 and lst2.
// If it is possible to exchange elements between the lst1 and lst2 to make
// all the elements of lst1 to be even, return "YES".
// Otherwise, return "NO".
// For example:
// It is assumed that the input arrays will be non-empty.
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 2, 3, 4]) == "YES"
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 5, 3, 4]) == "NO"
func exchange(lst1: [Int], lst2: [Int]) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func exchange(lst1: [Int], lst2: [Int]) -> String {
    var oddCount = 0
    var evenCount = 0
    for num in lst1 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount += 1
        }
    }
    for num in lst2 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount -= 1
        }
    }
    return oddCount == 0 ? "YES" : "NO"
}
```swift
// In this problem, you will implement a function that takes two arrays of numbers,
// and determines whether it is possible to perform an exchange of elements
// between them to make lst1 an array of only even numbers.
// There is no limit on the number of exchanged elements between lst1 and lst2.
// If it is possible to exchange elements between the lst1 and lst2 to make
// all the elements of lst1 to be even, return "YES".
// Otherwise, return "NO".
// For example:
// It is assumed that the input arrays will be non-empty.
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 2, 3, 4]) == "YES"
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 5, 3, 4]) == "NO"
func exchange(lst1: [Int], lst2: [Int]) -> String {
    var oddCount = 0
    var evenCount = 0
    for num in lst1 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount += 1
        }
    }
    for num in lst2 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount -= 1
        }
    }
    return oddCount == 0 ? "YES" : "NO"
}
```

 // XCTAssertTrue failed

func exchange(lst1: [Int], lst2: [Int]) -> String {
    var oddCount = 0
    var evenCount = 0
    for num in lst1 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount += 1
        }
    }
    for num in lst2 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount += 1
        }
    }
    return oddCount == 0 ? "YES" : "NO"
}
```swift
// In this problem, you will implement a function that takes two arrays of numbers,
// and determines whether it is possible to perform an exchange of elements
// between them to make lst1 an array of only even numbers.
// There is no limit on the number of exchanged elements between lst1 and lst2.
// If it is possible to exchange elements between the lst1 and lst2 to make
// all the elements of lst1 to be even, return "YES".
// Otherwise, return "NO".
// For example:
// It is assumed that the input arrays will be non-empty.
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 2, 3, 4]) == "YES"
// exchange(lst1: [1, 2, 3, 4], lst2: [1, 5, 3, 4]) == "NO"
func exchange(lst1: [Int], lst2: [Int]) -> String {
    var oddCount = 0
    var evenCount = 0
    for num in lst1 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount += 1
        }
    }
    for num in lst2 {
        if num % 2 == 0 {
            evenCount += 1
        } else {
            oddCount += 1
        }
    }
    return oddCount == 0 ? "YES" : "NO"
}
```

 // XCTAssertTrue failed

func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```swift
// Given a string representing a space separated lowercase letters, return a dictionary
// of the letter with the most repetition and containing the corresponding count.
// If several letters have the same occurrence, return all of them.
// Example:
// histogram(test: "a b c") == ["a" : 1, "b" : 1, "c" : 1]
// histogram(test: "a b b a") == ["a" : 2, "b" : 2]
// histogram(test: "a b c a b") == ["a" : 2, "b" : 2]
// histogram(test: "b b b b a") == ["b" : 4]
// histogram(test: "") == [:] as [String : Int]
func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```

 // XCTAssertTrue failed

func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```swift
// Given a string representing a space separated lowercase letters, return a dictionary
// of the letter with the most repetition and containing the corresponding count.
// If several letters have the same occurrence, return all of them.
// Example:
// histogram(test: "a b c") == ["a" : 1, "b" : 1, "c" : 1]
// histogram(test: "a b b a") == ["a" : 2, "b" : 2]
// histogram(test: "a b c a b") == ["a" : 2, "b" : 2]
// histogram(test: "b b b b a") == ["b" : 4]
// histogram(test: "") == [:] as [String : Int]
func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```

 // XCTAssertTrue failed

func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```swift
// Given a string representing a space separated lowercase letters, return a dictionary
// of the letter with the most repetition and containing the corresponding count.
// If several letters have the same occurrence, return all of them.
// Example:
// histogram(test: "a b c") == ["a" : 1, "b" : 1, "c" : 1]
// histogram(test: "a b b a") == ["a" : 2, "b" : 2]
// histogram(test: "a b c a b") == ["a" : 2, "b" : 2]
// histogram(test: "b b b b a") == ["b" : 4]
// histogram(test: "") == [:] as [String : Int]
func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```
 // XCTAssertTrue failed

func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    var maxCount = 0
    for (key, value) in dict {
        if value > maxCount {
            maxCount = value
        }
    }
    var result = [String : Int]()
    for (key, value) in dict {
        if value == maxCount {
            result[key] = value
        }
    }
    return result
}
```swift
// Given a string representing a space separated lowercase letters, return a dictionary
// of the letter with the most repetition and containing the corresponding count.
// If several letters have the same occurrence, return all of them.
// Example:
// histogram(test: "a b c") == ["a" : 1, "b" : 1, "c" : 1]
// histogram(test: "a b b a") == ["a" : 2, "b" : 2]
// histogram(test: "a b c a b") == ["a" : 2, "b" : 2]
// histogram(test: "b b b b a") == ["b" : 4]
// histogram(test: "") == [:] as [String : Int]
func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    var maxCount = 0
    for (key, value) in dict {
        if value > maxCount {
            maxCount = value
        }
    }
    var result = [String : Int]()
    for (key, value) in dict {
        if value == maxCount {
            result[key] = value
        }
    }
    return result
}
```

for (key, value) in dict { // immutable value 'key' was never used; consider replacing with '_' or removing it
 // XCTAssertTrue failed

func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```swift
// Given a string representing a space separated lowercase letters, return a dictionary
// of the letter with the most repetition and containing the corresponding count.
// If several letters have the same occurrence, return all of them.
// Example:
// histogram(test: "a b c") == ["a" : 1, "b" : 1, "c" : 1]
// histogram(test: "a b b a") == ["a" : 2, "b" : 2]
// histogram(test: "a b c a b") == ["a" : 2, "b" : 2]
// histogram(test: "b b b b a") == ["b" : 4]
// histogram(test: "") == [:] as [String : Int]
func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```

 // XCTAssertTrue failed

func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```swift
// Given a string representing a space separated lowercase letters, return a dictionary
// of the letter with the most repetition and containing the corresponding count.
// If several letters have the same occurrence, return all of them.
// Example:
// histogram(test: "a b c") == ["a" : 1, "b" : 1, "c" : 1]
// histogram(test: "a b b a") == ["a" : 2, "b" : 2]
// histogram(test: "a b c a b") == ["a" : 2, "b" : 2]
// histogram(test: "b b b b a") == ["b" : 4]
// histogram(test: "") == [:] as [String : Int]
func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```

 // XCTAssertTrue failed

func histogram(test: String) -> [String : Int] {
    let words = test.components(separatedBy: " ")
    var dict = [String : Int]()
    for word in words {
        if let count = dict[word] {
            dict[word] = count + 1
        } else {
            dict[word] = 1
        }
    }
    return dict
}
```swift
// Given a string representing a space separated lowercase letters, return a dictionary
// of the letter with the most repetition and containing the corresponding count.
// If several letters have the same occurrence, return all of them.
// Example:
// histogram(test: "a b c") == ["a" : 1, "b" : 1, "c" : 1]
// histogram(test: "a b b a") == ["a" : 2, "b" : 2]
// histogram(test: "a b c a b") == ["a" : 2, "b" : 2]
// histogram(test: "b b b b a") == ["b" : 4]
// histogram(test: "") == [:] as [String : Int]
func histogram(test: String) -> [String : Int] {
    let words = test.components(separatedBy: " ")
    var dict = [String : Int]()
    for word in words {
        if let count = dict[word] {
            dict[word] = count + 1
        } else {
            dict[word] = 1
        }
    }
    return dict
}
```

 // XCTAssertTrue failed

func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```swift
// Given a string representing a space separated lowercase letters, return a dictionary
// of the letter with the most repetition and containing the corresponding count.
// If several letters have the same occurrence, return all of them.
// Example:
// histogram(test: "a b c") == ["a" : 1, "b" : 1, "c" : 1]
// histogram(test: "a b b a") == ["a" : 2, "b" : 2]
// histogram(test: "a b c a b") == ["a" : 2, "b" : 2]
// histogram(test: "b b b b a") == ["b" : 4]
// histogram(test: "") == [:] as [String : Int]
func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```

 // XCTAssertTrue failed

func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```swift
// Given a string representing a space separated lowercase letters, return a dictionary
// of the letter with the most repetition and containing the corresponding count.
// If several letters have the same occurrence, return all of them.
// Example:
// histogram(test: "a b c") == ["a" : 1, "b" : 1, "c" : 1]
// histogram(test: "a b b a") == ["a" : 2, "b" : 2]
// histogram(test: "a b c a b") == ["a" : 2, "b" : 2]
// histogram(test: "b b b b a") == ["b" : 4]
// histogram(test: "") == [:] as [String : Int]
func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```

 // XCTAssertTrue failed

func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```swift
// Given a string representing a space separated lowercase letters, return a dictionary
// of the letter with the most repetition and containing the corresponding count.
// If several letters have the same occurrence, return all of them.
// Example:
// histogram(test: "a b c") == ["a" : 1, "b" : 1, "c" : 1]
// histogram(test: "a b b a") == ["a" : 2, "b" : 2]
// histogram(test: "a b c a b") == ["a" : 2, "b" : 2]
// histogram(test: "b b b b a") == ["b" : 4]
// histogram(test: "") == [:] as [String : Int]
func histogram(test: String) -> [String : Int] {
    var dict = [String : Int]()
    let arr = test.components(separatedBy: " ")
    for i in arr {
        if let count = dict[i] {
            dict[i] = count + 1
        } else {
            dict[i] = 1
        }
    }
    return dict
}
```

 // XCTAssertTrue failed

func reverseDelete(s: String, c: String) -> (String, Bool) {
    // Your code here
}
```swift
// Task
// We are given two strings s and c, you have to deleted all the characters in s that are equal to any character in c
// then check if the result string is palindrome.
// A string is called palindrome if it reads the same backward as forward.
// You should return a tuple containing the result string and true/false for the check.
// Example
// reverseDelete(s: "abcde", c: "ae") == ("bcd", false)
// reverseDelete(s: "abcdef", c: "b") == ("acdef", false)
// reverseDelete(s: "abcdedcba", c: "ab") == ("cdedc", true)
func reverseDelete(s: String, c: String) -> (String, Bool) {
    // Your code here
}
```

} // missing return in global function expected to return '(String, Bool)'

func reverseDelete(s: String, c: String) -> (String, Bool) {
    // Your code here
}
```swift
// Task
// We are given two strings s and c, you have to deleted all the characters in s that are equal to any character in c
// then check if the result string is palindrome.
// A string is called palindrome if it reads the same backward as forward.
// You should return a tuple containing the result string and true/false for the check.
// Example
// reverseDelete(s: "abcde", c: "ae") == ("bcd", false)
// reverseDelete(s: "abcdef", c: "b") == ("acdef", false)
// reverseDelete(s: "abcdedcba", c: "ab") == ("cdedc", true)
func reverseDelete(s: String, c: String) -> (String, Bool) {
    // Your code here
}
```

} // missing return in global function expected to return '(String, Bool)'

func reverseDelete(s: String, c: String) -> (String, Bool) {
    // Your code here
}
```swift
// Task
// We are given two strings s and c, you have to deleted all the characters in s that are equal to any character in c
// then check if the result string is palindrome.
// A string is called palindrome if it reads the same backward as forward.
// You should return a tuple containing the result string and true/false for the check.
// Example
// reverseDelete(s: "abcde", c: "ae") == ("bcd", false)
// reverseDelete(s: "abcdef", c: "b") == ("acdef", false)
// reverseDelete(s: "abcdedcba", c: "ab") == ("cdedc", true)
func reverseDelete(s: String, c: String) -> (String, Bool) {
    // Your code here
}
```

} // missing return in global function expected to return '(String, Bool)'

func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) })
    return (result, result == String(result.reversed()))
}
```swift
// Task
// We are given two strings s and c, you have to deleted all the characters in s that are equal to any character in c
// then check if the result string is palindrome.
// A string is called palindrome if it reads the same backward as forward.
// You should return a tuple containing the result string and true/false for the check.
// Example
// reverseDelete(s: "abcde", c: "ae") == ("bcd", false)
// reverseDelete(s: "abcdef", c: "b") == ("acdef", false)
// reverseDelete(s: "abcdedcba", c: "ab") == ("cdedc", true)
func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) })
    return (result, result == String(result.reversed()))
}
```

func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) })
    return (result, result == String(result.reversed()))
}
```swift
// Task
// We are given two strings s and c, you have to deleted all the characters in s that are equal to any character in c
// then check if the result string is palindrome.
// A string is called palindrome if it reads the same backward as forward.
// You should return a tuple containing the result string and true/false for the check.
// Example
// reverseDelete(s: "abcde", c: "ae") == ("bcd", false)
// reverseDelete(s: "abcdef", c: "b") == ("acdef", false)
// reverseDelete(s: "abcdedcba", c: "ab") == ("cdedc", true)
func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) })
    return (result, result == String(result.reversed()))
}
```

func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) })
    return (result, result == String(result.reversed()))
}
```swift
// Task
// We are given two strings s and c, you have to deleted all the characters in s that are equal to any character in c
// then check if the result string is palindrome.
// A string is called palindrome if it reads the same backward as forward.
// You should return a tuple containing the result string and true/false for the check.
// Example
// reverseDelete(s: "abcde", c: "ae") == ("bcd", false)
// reverseDelete(s: "abcdef", c: "b") == ("acdef", false)
// reverseDelete(s: "abcdedcba", c: "ab") == ("cdedc", true)
func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) })
    return (result, result == String(result.reversed()))
}
```

func reverseDelete(s: String, c: String) -> (String, Bool) {
    let filteredString = s.filter { !c.contains($0) }
    let isPalindrome = filteredString == String(filteredString.reversed())
    return (filteredString, isPalindrome)
}
```swift
// Task
// We are given two strings s and c, you have to deleted all the characters in s that are equal to any character in c
// then check if the result string is palindrome.
// A string is called palindrome if it reads the same backward as forward.
// You should return a tuple containing the result string and true/false for the check.
// Example
// reverseDelete(s: "abcde", c: "ae") == ("bcd", false)
// reverseDelete(s: "abcdef", c: "b") == ("acdef", false)
// reverseDelete(s: "abcdedcba", c: "ab") == ("cdedc", true)
func reverseDelete(s: String, c: String) -> (String, Bool) {
    let filteredString = s.filter { !c.contains($0) }
    let isPalindrome = filteredString == String(filteredString.reversed())
    return (filteredString, isPalindrome)
}
```

func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) })
    return (result, result == String(result.reversed()))
}
```swift
// Task
// We are given two strings s and c, you have to deleted all the characters in s that are equal to any character in c
// then check if the result string is palindrome.
// A string is called palindrome if it reads the same backward as forward.
// You should return a tuple containing the result string and true/false for the check.
// Example
// reverseDelete(s: "abcde", c: "ae") == ("bcd", false)
// reverseDelete(s: "abcdef", c: "b") == ("acdef", false)
// reverseDelete(s: "abcdedcba", c: "ab") == ("cdedc", true)
func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) })
    return (result, result == String(result.reversed()))
}
```

func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) }).reversed()
    return (result, result == String(result.reversed()))
}
```swift
// Task
// We are given two strings s and c, you have to deleted all the characters in s that are equal to any character in c
// then check if the result string is palindrome.
// A string is called palindrome if it reads the same backward as forward.
// You should return a tuple containing the result string and true/false for the check.
// Example
// reverseDelete(s: "abcde", c: "ae") == ("bcd", false)
// reverseDelete(s: "abcdef", c: "b") == ("acdef", false)
// reverseDelete(s: "abcdedcba", c: "ab") == ("cdedc", true)
func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) }).reversed()
    return (result, result == String(result.reversed()))
}
```

return (result, result == String(result.reversed())) // cannot convert value of type 'ReversedCollection<String>' to expected argument type 'String'
return (result, result == String(result.reversed())) // cannot convert return expression of type '(ReversedCollection<String>, Bool)' to return type '(String, Bool)'

func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) }).reversed()
    return (result, result == String(result.reversed()))
}
```swift
// Task
// We are given two strings s and c, you have to deleted all the characters in s that are equal to any character in c
// then check if the result string is palindrome.
// A string is called palindrome if it reads the same backward as forward.
// You should return a tuple containing the result string and true/false for the check.
// Example
// reverseDelete(s: "abcde", c: "ae") == ("bcd", false)
// reverseDelete(s: "abcdef", c: "b") == ("acdef", false)
// reverseDelete(s: "abcdedcba", c: "ab") == ("cdedc", true)
func reverseDelete(s: String, c: String) -> (String, Bool) {
    let result = String(s.filter { !c.contains($0) }).reversed()
    return (result, result == String(result.reversed()))
}
```

return (result, result == String(result.reversed())) // cannot convert value of type 'ReversedCollection<String>' to expected argument type 'String'
return (result, result == String(result.reversed())) // cannot convert return expression of type '(ReversedCollection<String>, Bool)' to return type '(String, Bool)'

func oddCount(lst: [String]) -> [String] {
    var result = [String]()
    for str in lst {
        var count = 0
        for char in str {
            if let digit = Int(String(char)), digit % 2 != 0 {
                count += 1
            }
        }
        result.append("the number of odd elements \(count)n the str\(count)ng \(count) of the \(count)nput.")
    }
    return result
}
```swift
// Given an array of strings, where each string consists of only digits, return an array.
// Each element i of the output should be "the number of odd elements in the
// string i of the input." where all the i's should be replaced by the number
// of odd digits in the i'th string of the input.
// oddCount(lst: ["1234567"]) == ["the number of odd elements 4n the str4ng 4 of the 4nput."]
// oddCount(lst: ["3", "11111111"]) == ["the number of odd elements 1n the str1ng 1 of the 1nput.", "the number of odd elements 8n the str8ng 8 of the 8nput."]
func oddCount(lst: [String]) -> [String] {
    var result = [String]()
    for str in lst {
        var count = 0
        for char in str {
            if let digit = Int(String(char)), digit % 2 != 0 {
                count += 1
            }
        }
        result.append("the number of odd elements \(count)n the str\(count)ng \(count) of the \(count)nput.")
    }
    return result
}
```

func oddCount(lst: [String]) -> [String] {
    var result = [String]()
    for str in lst {
        var count = 0
        for char in str {
            if let digit = Int(String(char)), digit % 2 != 0 {
                count += 1
            }
        }
        result.append("the number of odd elements \(count)n the str\(count)ng \(count) of the \(count)nput.")
    }
    return result
}
```swift
// Given an array of strings, where each string consists of only digits, return an array.
// Each element i of the output should be "the number of odd elements in the
// string i of the input." where all the i's should be replaced by the number
// of odd digits in the i'th string of the input.
// oddCount(lst: ["1234567"]) == ["the number of odd elements 4n the str4ng 4 of the 4nput."]
// oddCount(lst: ["3", "11111111"]) == ["the number of odd elements 1n the str1ng 1 of the 1nput.", "the number of odd elements 8n the str8ng 8 of the 8nput."]
func oddCount(lst: [String]) -> [String] {
    var result = [String]()
    for str in lst {
        var count = 0
        for char in str {
            if let digit = Int(String(char)), digit % 2 != 0 {
                count += 1
            }
        }
        result.append("the number of odd elements \(count)n the str\(count)ng \(count) of the \(count)nput.")
    }
    return result
}
```

func oddCount(lst: [String]) -> [String] {
    var result = [String]()
    for str in lst {
        var count = 0
        for char in str {
            if let digit = Int(String(char)), digit % 2 != 0 {
                count += 1
            }
        }
        result.append("the number of odd elements \(count)n the str\(count)ng \(count) of the \(count)nput.")
    }
    return result
}
```swift
// Given an array of strings, where each string consists of only digits, return an array.
// Each element i of the output should be "the number of odd elements in the
// string i of the input." where all the i's should be replaced by the number
// of odd digits in the i'th string of the input.
// oddCount(lst: ["1234567"]) == ["the number of odd elements 4n the str4ng 4 of the 4nput."]
// oddCount(lst: ["3", "11111111"]) == ["the number of odd elements 1n the str1ng 1 of the 1nput.", "the number of odd elements 8n the str8ng 8 of the 8nput."]
func oddCount(lst: [String]) -> [String] {
    var result = [String]()
    for str in lst {
        var count = 0
        for char in str {
            if let digit = Int(String(char)), digit % 2 != 0 {
                count += 1
            }
        }
        result.append("the number of odd elements \(count)n the str\(count)ng \(count) of the \(count)nput.")
    }
    return result
}
```

func oddCount(lst: [String]) -> [String] {
    lst.map { str in
        let oddCount = str.filter { Int(String($0))! % 2 != 0 }.count
        return "the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput."
    }
}
```swift
// Given an array of strings, where each string consists of only digits, return an array.
// Each element i of the output should be "the number of odd elements in the
// string i of the input." where all the i's should be replaced by the number
// of odd digits in the i'th string of the input.
// oddCount(lst: ["1234567"]) == ["the number of odd elements 4n the str4ng 4 of the 4nput."]
// oddCount(lst: ["3", "11111111"]) == ["the number of odd elements 1n the str1ng 1 of the 1nput.", "the number of odd elements 8n the str8ng 8 of the 8nput."]
func oddCount(lst: [String]) -> [String] {
    lst.map { str in
        let oddCount = str.filter { Int(String($0))! % 2 != 0 }.count
        return "the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput."
    }
}
```

func oddCount(lst: [String]) -> [String] {
    return lst.map { str in
        let oddCount = str.filter { Int(String($0))! % 2 != 0 }.count
        return "the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput."
    }
}
```swift
// Given an array of strings, where each string consists of only digits, return an array.
// Each element i of the output should be "the number of odd elements in the
// string i of the input." where all the i's should be replaced by the number
// of odd digits in the i'th string of the input.
// oddCount(lst: ["1234567"]) == ["the number of odd elements 4n the str4ng 4 of the 4nput."]
// oddCount(lst: ["3", "11111111"]) == ["the number of odd elements 1n the str1ng 1 of the 1nput.", "the number of odd elements 8n the str8ng 8 of the 8nput."]
func oddCount(lst: [String]) -> [String] {
    return lst.map { str in
        let oddCount = str.filter { Int(String($0))! % 2 != 0 }.count
        return "the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput."
    }
}
```

func oddCount(lst: [String]) -> [String] {
    return lst.map { str in
        let oddCount = str.filter { Int(String($0))! % 2 != 0 }.count
        return "the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput."
    }
}
```swift
// Given an array of strings, where each string consists of only digits, return an array.
// Each element i of the output should be "the number of odd elements in the
// string i of the input." where all the i's should be replaced by the number
// of odd digits in the i'th string of the input.
// oddCount(lst: ["1234567"]) == ["the number of odd elements 4n the str4ng 4 of the 4nput."]
// oddCount(lst: ["3", "11111111"]) == ["the number of odd elements 1n the str1ng 1 of the 1nput.", "the number of odd elements 8n the str8ng 8 of the 8nput."]
func oddCount(lst: [String]) -> [String] {
    return lst.map { str in
        let oddCount = str.filter { Int(String($0))! % 2 != 0 }.count
        return "the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput."
    }
}
```

func oddCount(lst: [String]) -> [String] {
    return lst.map { str in
        let oddCount = str.filter { Int(String($0))! % 2 != 0 }.count
        return "the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput."
    }
}
```swift
// Given an array of strings, where each string consists of only digits, return an array.
// Each element i of the output should be "the number of odd elements in the
// string i of the input." where all the i's should be replaced by the number
// of odd digits in the i'th string of the input.
// oddCount(lst: ["1234567"]) == ["the number of odd elements 4n the str4ng 4 of the 4nput."]
// oddCount(lst: ["3", "11111111"]) == ["the number of odd elements 1n the str1ng 1 of the 1nput.", "the number of odd elements 8n the str8ng 8 of the 8nput."]
func oddCount(lst: [String]) -> [String] {
    return lst.map { str in
        let oddCount = str.filter { Int(String($0))! % 2 != 0 }.count
        return "the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput."
    }
}
```

func oddCount(lst: [String]) -> [String] {
    return lst.map { str in
        let oddCount = str.filter { Int(String($0))! % 2 != 0 }.count
        return "the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput."
    }
}
```swift
// Given an array of strings, where each string consists of only digits, return an array.
// Each element i of the output should be "the number of odd elements in the
// string i of the input." where all the i's should be replaced by the number
// of odd digits in the i'th string of the input.
// oddCount(lst: ["1234567"]) == ["the number of odd elements 4n the str4ng 4 of the 4nput."]
// oddCount(lst: ["3", "11111111"]) == ["the number of odd elements 1n the str1ng 1 of the 1nput.", "the number of odd elements 8n the str8ng 8 of the 8nput."]
func oddCount(lst: [String]) -> [String] {
    return lst.map { str in
        let oddCount = str.filter { Int(String($0))! % 2 != 0 }.count
        return "the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput."
    }
}
```

func oddCount(lst: [String]) -> [String] {
    var result = [String]()
    for str in lst {
        var oddCount = 0
        for char in str {
            if let digit = Int(String(char)), digit % 2 != 0 {
                oddCount += 1
            }
        }
        result.append("the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput.")
    }
    return result
}
```swift
// Given an array of strings, where each string consists of only digits, return an array.
// Each element i of the output should be "the number of odd elements in the
// string i of the input." where all the i's should be replaced by the number
// of odd digits in the i'th string of the input.
// oddCount(lst: ["1234567"]) == ["the number of odd elements 4n the str4ng 4 of the 4nput."]
// oddCount(lst: ["3", "11111111"]) == ["the number of odd elements 1n the str1ng 1 of the 1nput.", "the number of odd elements 8n the str8ng 8 of the 8nput."]
func oddCount(lst: [String]) -> [String] {
    var result = [String]()
    for str in lst {
        var oddCount = 0
        for char in str {
            if let digit = Int(String(char)), digit % 2 != 0 {
                oddCount += 1
            }
        }
        result.append("the number of odd elements \(oddCount)n the str\(oddCount)ng \(oddCount) of the \(oddCount)nput.")
    }
    return result
}
```

func oddCount(lst: [String]) -> [String] {
    var result = [String]()
    for str in lst {
        var count = 0
        for char in str {
            if let digit = Int(String(char)), digit % 2 != 0 {
                count += 1
            }
        }
        result.append("the number of odd elements \(count)n the str\(count)ng \(count) of the \(count)nput.")
    }
    return result
}
```swift
// Given an array of strings, where each string consists of only digits, return an array.
// Each element i of the output should be "the number of odd elements in the
// string i of the input." where all the i's should be replaced by the number
// of odd digits in the i'th string of the input.
// oddCount(lst: ["1234567"]) == ["the number of odd elements 4n the str4ng 4 of the 4nput."]
// oddCount(lst: ["3", "11111111"]) == ["the number of odd elements 1n the str1ng 1 of the 1nput.", "the number of odd elements 8n the str8ng 8 of the 8nput."]
func oddCount(lst: [String]) -> [String] {
    var result = [String]()
    for str in lst {
        var count = 0
        for char in str {
            if let digit = Int(String(char)), digit % 2 != 0 {
                count += 1
            }
        }
        result.append("the number of odd elements \(count)n the str\(count)ng \(count) of the \(count)nput.")
    }
    return result
}
```

func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```swift
// Given an array of integers nums, find the minimum sum of any non-empty sub-array
// of nums.
// Example
// minSubArraySum(nums: [2, 3, 4, 1, 2, 4]) == 1
// minSubArraySum(nums: [-1, -2, -3]) == -6
func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```

func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```swift
// Given an array of integers nums, find the minimum sum of any non-empty sub-array
// of nums.
// Example
// minSubArraySum(nums: [2, 3, 4, 1, 2, 4]) == 1
// minSubArraySum(nums: [-1, -2, -3]) == -6
func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```

func minSubArraySum(nums: [Int]) -> Int {
    var minSum = Int.max
    var currentSum = 0
    
    for num in nums {
        currentSum += num
        minSum = min(minSum, currentSum)
        if currentSum > 0 {
            currentSum = 0
        }
    }
    
    return minSum
}
```swift
// Given an array of integers nums, find the minimum sum of any non-empty sub-array
// of nums.
// Example
// minSubArraySum(nums: [2, 3, 4, 1, 2, 4]) == 1
// minSubArraySum(nums: [-1, -2, -3]) == -6
func minSubArraySum(nums: [Int]) -> Int {
    var minSum = Int.max
    var currentSum = 0
    
    for num in nums {
        currentSum += num
        minSum = min(minSum, currentSum)
        if currentSum > 0 {
            currentSum = 0
        }
    }
    
    return minSum
}
```

func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```swift
// Given an array of integers nums, find the minimum sum of any non-empty sub-array
// of nums.
// Example
// minSubArraySum(nums: [2, 3, 4, 1, 2, 4]) == 1
// minSubArraySum(nums: [-1, -2, -3]) == -6
func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```

func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```swift
// Given an array of integers nums, find the minimum sum of any non-empty sub-array
// of nums.
// Example
// minSubArraySum(nums: [2, 3, 4, 1, 2, 4]) == 1
// minSubArraySum(nums: [-1, -2, -3]) == -6
func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```

func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```swift
// Given an array of integers nums, find the minimum sum of any non-empty sub-array
// of nums.
// Example
// minSubArraySum(nums: [2, 3, 4, 1, 2, 4]) == 1
// minSubArraySum(nums: [-1, -2, -3]) == -6
func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```

func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```swift
// Given an array of integers nums, find the minimum sum of any non-empty sub-array
// of nums.
// Example
// minSubArraySum(nums: [2, 3, 4, 1, 2, 4]) == 1
// minSubArraySum(nums: [-1, -2, -3]) == -6
func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```

func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```swift
// Given an array of integers nums, find the minimum sum of any non-empty sub-array
// of nums.
// Example
// minSubArraySum(nums: [2, 3, 4, 1, 2, 4]) == 1
// minSubArraySum(nums: [-1, -2, -3]) == -6
func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```

func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```swift
// Given an array of integers nums, find the minimum sum of any non-empty sub-array
// of nums.
// Example
// minSubArraySum(nums: [2, 3, 4, 1, 2, 4]) == 1
// minSubArraySum(nums: [-1, -2, -3]) == -6
func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```

func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```swift
// Given an array of integers nums, find the minimum sum of any non-empty sub-array
// of nums.
// Example
// minSubArraySum(nums: [2, 3, 4, 1, 2, 4]) == 1
// minSubArraySum(nums: [-1, -2, -3]) == -6
func minSubArraySum(nums: [Int]) -> Int {
    var minSum = nums[0]
    var currentSum = nums[0]
    for i in 1..<nums.count {
        currentSum = min(nums[i], currentSum + nums[i])
        minSum = min(minSum, currentSum)
    }
    return minSum
}
```

func maxFill(grid: [[Int]], capacity: Int) -> Int {
    let rows = grid.count
    let cols = grid[0].count
    var buckets = Array(repeating: capacity, count: rows)
    var times = 0
    for col in 0..<cols {
        for row in 0..<rows {
            if grid[row][col] == 1 {
                if buckets[row] == 0 {
                    times += 1
                    buckets[row] = capacity
                }
                buckets[row] -= 1
            }
        }
    }
    return times
}
```swift
// You are given a rectangular grid of wells. Each row represents a single well,
// and each 1 in a row represents a single unit of water.
// Each well has a corresponding bucket that can be used to extract water from it, 
// and all buckets have the same capacity.
// Your task is to use the buckets to empty the wells.
// Output the number of times you need to lower the buckets.
// Example 1:
// Example 2:
// Example 3:
// Constraints:
// * all wells have the same length
// * 1 <= grid.length <= 10^2
// * 1 <= grid[:,1].length <= 10^2
// * grid[i][j] -> 0 | 1
// * 1 <= capacity <= 10
// maxFill(grid: [[0, 0, 1, 0], [0, 1, 0, 0], [1, 1, 1, 1]], capacity: 1) == 6
// maxFill(grid: [[0, 0, 1, 1], [0, 0, 0, 0], [1, 1, 1, 1], [0, 1, 1, 1]], capacity: 2) == 5
// maxFill(grid: [[0, 0, 0], [0, 0, 0]], capacity: 5) == 0
func maxFill(grid: [[Int]], capacity: Int) -> Int {
    let rows = grid.count
    let cols = grid[0].count
    var buckets = Array(repeating: capacity, count: rows)
    var times = 0
    for col in 0..<cols {
        for row in 0..<rows {
            if grid[row][col] == 1 {
                if buckets[row] == 0 {
                    times += 1
                    buckets[row] = capacity
                }
                buckets[row] -= 1
            }
        }
    }
    return times
}
```

 // XCTAssertTrue failed

func maxFill(grid: [[Int]], capacity: Int) -> Int {
    let rows = grid.count
    let cols = grid[0].count
    var buckets = Array(repeating: capacity, count: rows)
    var totalDrops = 0
    for col in 0..<cols {
        for row in 0..<rows {
            if grid[row][col] == 1 {
                if buckets[row] > 0 {
                    buckets[row] -= 1
                } else {
                    totalDrops += 1
                    buckets[row] = capacity - 1
                }
            }
        }
    }
    return totalDrops
}
```swift
// You are given a rectangular grid of wells. Each row represents a single well,
// and each 1 in a row represents a single unit of water.
// Each well has a corresponding bucket that can be used to extract water from it, 
// and all buckets have the same capacity.
// Your task is to use the buckets to empty the wells.
// Output the number of times you need to lower the buckets.
// Example 1:
// Example 2:
// Example 3:
// Constraints:
// * all wells have the same length
// * 1 <= grid.length <= 10^2
// * 1 <= grid[:,1].length <= 10^2
// * grid[i][j] -> 0 | 1
// * 1 <= capacity <= 10
// maxFill(grid: [[0, 0, 1, 0], [0, 1, 0, 0], [1, 1, 1, 1]], capacity: 1) == 6
// maxFill(grid: [[0, 0, 1, 1], [0, 0, 0, 0], [1, 1, 1, 1], [0, 1, 1, 1]], capacity: 2) == 5
// maxFill(grid: [[0, 0, 0], [0, 0, 0]], capacity: 5) == 0
func maxFill(grid: [[Int]], capacity: Int) -> Int {
    let rows = grid.count
    let cols = grid[0].count
    var buckets = Array(repeating: capacity, count: rows)
    var totalDrops = 0
    for col in 0..<cols {
        for row in 0..<rows {
            if grid[row][col] == 1 {
                if buckets[row] > 0 {
                    buckets[row] -= 1
                } else {
                    totalDrops += 1
                    buckets[row] = capacity - 1
                }
            }
        }
    }
    return totalDrops
}
```

 // XCTAssertTrue failed

func maxFill(grid: [[Int]], capacity: Int) -> Int {
    let rows = grid.count
    let cols = grid[0].count
    var buckets = Array(repeating: capacity, count: rows)
    var totalDrops = 0
    
    for col in 0..<cols {
        for row in 0..<rows {
            if grid[row][col] == 1 {
                if buckets[row] > 0 {
                    buckets[row] -= 1
                } else {
                    totalDrops += 1
                    buckets[row] = capacity - 1
                }
            }
        }
    }
    
    return totalDrops
}
```swift
// You are given a rectangular grid of wells. Each row represents a single well,
// and each 1 in a row represents a single unit of water.
// Each well has a corresponding bucket that can be used to extract water from it, 
// and all buckets have the same capacity.
// Your task is to use the buckets to empty the wells.
// Output the number of times you need to lower the buckets.
// Example 1:
// Example 2:
// Example 3:
// Constraints:
// * all wells have the same length
// * 1 <= grid.length <= 10^2
// * 1 <= grid[:,1].length <= 10^2
// * grid[i][j] -> 0 | 1
// * 1 <= capacity <= 10
// maxFill(grid: [[0, 0, 1, 0], [0, 1, 0, 0], [1, 1, 1, 1]], capacity: 1) == 6
// maxFill(grid: [[0, 0, 1, 1], [0, 0, 0, 0], [1, 1, 1, 1], [0, 1, 1, 1]], capacity: 2) == 5
// maxFill(grid: [[0, 0, 0], [0, 0, 0]], capacity: 5) == 0
func maxFill(grid: [[Int]], capacity: Int) -> Int {
    let rows = grid.count
    let cols = grid[0].count
    var buckets = Array(repeating: capacity, count: rows)
    var totalDrops = 0
    
    for col in 0..<cols {
        for row in 0..<rows {
            if grid[row][col] == 1 {
                if buckets[row] > 0 {
                    buckets[row] -= 1
                } else {
                    totalDrops += 1
                    buckets[row] = capacity - 1
                }
            }
        }
    }
    
    return totalDrops
}
```
 // XCTAssertTrue failed

func maxFill(grid: [[Int]], capacity: Int) -> Int {
    var wells = grid
    var buckets = 0
    var water = 0
    for well in wells {
        for bucket in well {
            if bucket == 1 {
                water += 1
            }
        }
        buckets += water / capacity
        water = water % capacity
    }
    return buckets
}
```swift
// You are given a rectangular grid of wells. Each row represents a single well,
// and each 1 in a row represents a single unit of water.
// Each well has a corresponding bucket that can be used to extract water from it, 
// and all buckets have the same capacity.
// Your task is to use the buckets to empty the wells.
// Output the number of times you need to lower the buckets.
// Example 1:
// Example 2:
// Example 3:
// Constraints:
// * all wells have the same length
// * 1 <= grid.length <= 10^2
// * 1 <= grid[:,1].length <= 10^2
// * grid[i][j] -> 0 | 1
// * 1 <= capacity <= 10
// maxFill(grid: [[0, 0, 1, 0], [0, 1, 0, 0], [1, 1, 1, 1]], capacity: 1) == 6
// maxFill(grid: [[0, 0, 1, 1], [0, 0, 0, 0], [1, 1, 1, 1], [0, 1, 1, 1]], capacity: 2) == 5
// maxFill(grid: [[0, 0, 0], [0, 0, 0]], capacity: 5) == 0
func maxFill(grid: [[Int]], capacity: Int) -> Int {
    var wells = grid
    var buckets = 0
    var water = 0
    for well in wells {
        for bucket in well {
            if bucket == 1 {
                water += 1
            }
        }
        buckets += water / capacity
        water = water % capacity
    }
    return buckets
}
```

var wells = grid // variable 'wells' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func maxFill(grid: [[Int]], capacity: Int) -> Int {
    var wells = grid
    var buckets = capacity
    var drops = 0
    for well in wells {
        for water in well {
            if water == 1 {
                buckets -= 1
                if buckets == 0 {
                    drops += 1
                    buckets = capacity
                }
            }
        }
    }
    return drops
}
```swift
// You are given a rectangular grid of wells. Each row represents a single well,
// and each 1 in a row represents a single unit of water.
// Each well has a corresponding bucket that can be used to extract water from it, 
// and all buckets have the same capacity.
// Your task is to use the buckets to empty the wells.
// Output the number of times you need to lower the buckets.
// Example 1:
// Example 2:
// Example 3:
// Constraints:
// * all wells have the same length
// * 1 <= grid.length <= 10^2
// * 1 <= grid[:,1].length <= 10^2
// * grid[i][j] -> 0 | 1
// * 1 <= capacity <= 10
// maxFill(grid: [[0, 0, 1, 0], [0, 1, 0, 0], [1, 1, 1, 1]], capacity: 1) == 6
// maxFill(grid: [[0, 0, 1, 1], [0, 0, 0, 0], [1, 1, 1, 1], [0, 1, 1, 1]], capacity: 2) == 5
// maxFill(grid: [[0, 0, 0], [0, 0, 0]], capacity: 5) == 0
func maxFill(grid: [[Int]], capacity: Int) -> Int {
    var wells = grid
    var buckets = capacity
    var drops = 0
    for well in wells {
        for water in well {
            if water == 1 {
                buckets -= 1
                if buckets == 0 {
                    drops += 1
                    buckets = capacity
                }
            }
        }
    }
    return drops
}
```

var wells = grid // variable 'wells' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func maxFill(grid: [[Int]], capacity: Int) -> Int {
    var buckets = 0
    var wells = grid
    for i in 0..<wells.count {
        for j in 0..<wells[i].count {
            if wells[i][j] == 1 {
                wells[i][j] = 0
                buckets += 1
                if buckets == capacity {
                    buckets = 0
                }
            }
        }
    }
    return buckets
}
```swift
// You are given a rectangular grid of wells. Each row represents a single well,
// and each 1 in a row represents a single unit of water.
// Each well has a corresponding bucket that can be used to extract water from it, 
// and all buckets have the same capacity.
// Your task is to use the buckets to empty the wells.
// Output the number of times you need to lower the buckets.
// Example 1:
// Example 2:
// Example 3:
// Constraints:
// * all wells have the same length
// * 1 <= grid.length <= 10^2
// * 1 <= grid[:,1].length <= 10^2
// * grid[i][j] -> 0 | 1
// * 1 <= capacity <= 10
// maxFill(grid: [[0, 0, 1, 0], [0, 1, 0, 0], [1, 1, 1, 1]], capacity: 1) == 6
// maxFill(grid: [[0, 0, 1, 1], [0, 0, 0, 0], [1, 1, 1, 1], [0, 1, 1, 1]], capacity: 2) == 5
// maxFill(grid: [[0, 0, 0], [0, 0, 0]], capacity: 5) == 0
func maxFill(grid: [[Int]], capacity: Int) -> Int {
    var buckets = 0
    var wells = grid
    for i in 0..<wells.count {
        for j in 0..<wells[i].count {
            if wells[i][j] == 1 {
                wells[i][j] = 0
                buckets += 1
                if buckets == capacity {
                    buckets = 0
                }
            }
        }
    }
    return buckets
}
```

 // XCTAssertTrue failed

func maxFill(grid: [[Int]], capacity: Int) -> Int {
    var wells = grid
    var buckets = 0
    var water = 0
    for i in 0..<wells.count {
        for j in 0..<wells[i].count {
            if wells[i][j] == 1 {
                water += 1
            }
        }
        if water > 0 {
            buckets += water / capacity
            if water % capacity != 0 {
                buckets += 1
            }
            water = 0
        }
    }
    return buckets
}
```swift
// You are given a rectangular grid of wells. Each row represents a single well,
// and each 1 in a row represents a single unit of water.
// Each well has a corresponding bucket that can be used to extract water from it, 
// and all buckets have the same capacity.
// Your task is to use the buckets to empty the wells.
// Output the number of times you need to lower the buckets.
// Example 1:
// Example 2:
// Example 3:
// Constraints:
// * all wells have the same length
// * 1 <= grid.length <= 10^2
// * 1 <= grid[:,1].length <= 10^2
// * grid[i][j] -> 0 | 1
// * 1 <= capacity <= 10
// maxFill(grid: [[0, 0, 1, 0], [0, 1, 0, 0], [1, 1, 1, 1]], capacity: 1) == 6
// maxFill(grid: [[0, 0, 1, 1], [0, 0, 0, 0], [1, 1, 1, 1], [0, 1, 1, 1]], capacity: 2) == 5
// maxFill(grid: [[0, 0, 0], [0, 0, 0]], capacity: 5) == 0
func maxFill(grid: [[Int]], capacity: Int) -> Int {
    var wells = grid
    var buckets = 0
    var water = 0
    for i in 0..<wells.count {
        for j in 0..<wells[i].count {
            if wells[i][j] == 1 {
                water += 1
            }
        }
        if water > 0 {
            buckets += water / capacity
            if water % capacity != 0 {
                buckets += 1
            }
            water = 0
        }
    }
    return buckets
}
```

var wells = grid // variable 'wells' was never mutated; consider changing to 'let' constant

func maxFill(grid: [[Int]], capacity: Int) -> Int {
    let rows = grid.count
    let cols = grid[0].count
    var buckets = Array(repeating: capacity, count: rows)
    var totalDrops = 0
    for col in 0..<cols {
        for row in 0..<rows {
            if grid[row][col] == 1 {
                if buckets[row] > 0 {
                    buckets[row] -= 1
                } else {
                    totalDrops += 1
                    buckets[row] = capacity - 1
                }
            }
        }
    }
    return totalDrops
}
```swift
// You are given a rectangular grid of wells. Each row represents a single well,
// and each 1 in a row represents a single unit of water.
// Each well has a corresponding bucket that can be used to extract water from it, 
// and all buckets have the same capacity.
// Your task is to use the buckets to empty the wells.
// Output the number of times you need to lower the buckets.
// Example 1:
// Example 2:
// Example 3:
// Constraints:
// * all wells have the same length
// * 1 <= grid.length <= 10^2
// * 1 <= grid[:,1].length <= 10^2
// * grid[i][j] -> 0 | 1
// * 1 <= capacity <= 10
// maxFill(grid: [[0, 0, 1, 0], [0, 1, 0, 0], [1, 1, 1, 1]], capacity: 1) == 6
// maxFill(grid: [[0, 0, 1, 1], [0, 0, 0, 0], [1, 1, 1, 1], [0, 1, 1, 1]], capacity: 2) == 5
// maxFill(grid: [[0, 0, 0], [0, 0, 0]], capacity: 5) == 0
func maxFill(grid: [[Int]], capacity: Int) -> Int {
    let rows = grid.count
    let cols = grid[0].count
    var buckets = Array(repeating: capacity, count: rows)
    var totalDrops = 0
    for col in 0..<cols {
        for row in 0..<rows {
            if grid[row][col] == 1 {
                if buckets[row] > 0 {
                    buckets[row] -= 1
                } else {
                    totalDrops += 1
                    buckets[row] = capacity - 1
                }
            }
        }
    }
    return totalDrops
}
```
 // XCTAssertTrue failed

func maxFill(grid: [[Int]], capacity: Int) -> Int {
    var wells = grid
    var buckets = 0
    var water = 0
    for i in 0..<wells.count {
        for j in 0..<wells[i].count {
            if wells[i][j] == 1 {
                water += 1
            }
        }
        buckets += water / capacity
        water = water % capacity
    }
    return buckets
}
```swift
// You are given a rectangular grid of wells. Each row represents a single well,
// and each 1 in a row represents a single unit of water.
// Each well has a corresponding bucket that can be used to extract water from it, 
// and all buckets have the same capacity.
// Your task is to use the buckets to empty the wells.
// Output the number of times you need to lower the buckets.
// Example 1:
// Example 2:
// Example 3:
// Constraints:
// * all wells have the same length
// * 1 <= grid.length <= 10^2
// * 1 <= grid[:,1].length <= 10^2
// * grid[i][j] -> 0 | 1
// * 1 <= capacity <= 10
// maxFill(grid: [[0, 0, 1, 0], [0, 1, 0, 0], [1, 1, 1, 1]], capacity: 1) == 6
// maxFill(grid: [[0, 0, 1, 1], [0, 0, 0, 0], [1, 1, 1, 1], [0, 1, 1, 1]], capacity: 2) == 5
// maxFill(grid: [[0, 0, 0], [0, 0, 0]], capacity: 5) == 0
func maxFill(grid: [[Int]], capacity: Int) -> Int {
    var wells = grid
    var buckets = 0
    var water = 0
    for i in 0..<wells.count {
        for j in 0..<wells[i].count {
            if wells[i][j] == 1 {
                water += 1
            }
        }
        buckets += water / capacity
        water = water % capacity
    }
    return buckets
}
```

var wells = grid // variable 'wells' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func maxFill(grid: [[Int]], capacity: Int) -> Int {
    let rows = grid.count
    let cols = grid[0].count
    var buckets = Array(repeating: capacity, count: rows)
    var times = 0
    for j in 0..<cols {
        for i in 0..<rows {
            if grid[i][j] == 1 {
                if buckets[i] == 0 {
                    times += 1
                    buckets[i] = capacity
                }
                buckets[i] -= 1
            }
        }
    }
    return times
}
```swift
// You are given a rectangular grid of wells. Each row represents a single well,
// and each 1 in a row represents a single unit of water.
// Each well has a corresponding bucket that can be used to extract water from it, 
// and all buckets have the same capacity.
// Your task is to use the buckets to empty the wells.
// Output the number of times you need to lower the buckets.
// Example 1:
// Example 2:
// Example 3:
// Constraints:
// * all wells have the same length
// * 1 <= grid.length <= 10^2
// * 1 <= grid[:,1].length <= 10^2
// * grid[i][j] -> 0 | 1
// * 1 <= capacity <= 10
// maxFill(grid: [[0, 0, 1, 0], [0, 1, 0, 0], [1, 1, 1, 1]], capacity: 1) == 6
// maxFill(grid: [[0, 0, 1, 1], [0, 0, 0, 0], [1, 1, 1, 1], [0, 1, 1, 1]], capacity: 2) == 5
// maxFill(grid: [[0, 0, 0], [0, 0, 0]], capacity: 5) == 0
func maxFill(grid: [[Int]], capacity: Int) -> Int {
    let rows = grid.count
    let cols = grid[0].count
    var buckets = Array(repeating: capacity, count: rows)
    var times = 0
    for j in 0..<cols {
        for i in 0..<rows {
            if grid[i][j] == 1 {
                if buckets[i] == 0 {
                    times += 1
                    buckets[i] = capacity
                }
                buckets[i] -= 1
            }
        }
    }
    return times
}
```

 // XCTAssertTrue failed

func sortArray(arr: [Int]) -> [Int] {
    arr.sorted { $0.nonzeroBitCount == $1.nonzeroBitCount ? $0 < $1 : $0.nonzeroBitCount < $1.nonzeroBitCount }
}
```swift
// In this Kata, you have to sort an array of non-negative integers according to
// number of ones in their binary representation in ascending order.
// For similar number of ones, sort based on decimal value.
// It must be implemented like this:
// sortArray(arr: [1, 5, 2, 3, 4]) == [1, 2, 3, 4, 5]
// sortArray(arr: [-2, -3, -4, -5, -6]) == [-6, -5, -4, -3, -2]
// sortArray(arr: [1, 0, 2, 3, 4]) == [0, 1, 2, 3, 4]
func sortArray(arr: [Int]) -> [Int] {
    arr.sorted { $0.nonzeroBitCount == $1.nonzeroBitCount ? $0 < $1 : $0.nonzeroBitCount < $1.nonzeroBitCount }
}
```

 // XCTAssertTrue failed

func sortArray(arr: [Int]) -> [Int] {
    let sorted = arr.sorted { (first, second) -> Bool in
        let firstBinary = String(first, radix: 2)
        let secondBinary = String(second, radix: 2)
        let firstOnes = firstBinary.filter { $0 == "1" }.count
        let secondOnes = secondBinary.filter { $0 == "1" }.count
        if firstOnes == secondOnes {
            return first < second
        } else {
            return firstOnes < secondOnes
        }
    }
    return sorted
}
```swift
// In this Kata, you have to sort an array of non-negative integers according to
// number of ones in their binary representation in ascending order.
// For similar number of ones, sort based on decimal value.
// It must be implemented like this:
// sortArray(arr: [1, 5, 2, 3, 4]) == [1, 2, 3, 4, 5]
// sortArray(arr: [-2, -3, -4, -5, -6]) == [-6, -5, -4, -3, -2]
// sortArray(arr: [1, 0, 2, 3, 4]) == [0, 1, 2, 3, 4]
func sortArray(arr: [Int]) -> [Int] {
    let sorted = arr.sorted { (first, second) -> Bool in
        let firstBinary = String(first, radix: 2)
        let secondBinary = String(second, radix: 2)
        let firstOnes = firstBinary.filter { $0 == "1" }.count
        let secondOnes = secondBinary.filter { $0 == "1" }.count
        if firstOnes == secondOnes {
            return first < second
        } else {
            return firstOnes < secondOnes
        }
    }
    return sorted
}
```

func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        }
        return aOnes < bOnes
    }
}
```swift
// In this Kata, you have to sort an array of non-negative integers according to
// number of ones in their binary representation in ascending order.
// For similar number of ones, sort based on decimal value.
// It must be implemented like this:
// sortArray(arr: [1, 5, 2, 3, 4]) == [1, 2, 3, 4, 5]
// sortArray(arr: [-2, -3, -4, -5, -6]) == [-6, -5, -4, -3, -2]
// sortArray(arr: [1, 0, 2, 3, 4]) == [0, 1, 2, 3, 4]
func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        }
        return aOnes < bOnes
    }
}
```

func sortArray(arr: [Int]) -> [Int] {
    let sortedArray = arr.sorted { (first, second) -> Bool in
        let firstBinary = String(first, radix: 2)
        let secondBinary = String(second, radix: 2)
        let firstOnes = firstBinary.filter { $0 == "1" }.count
        let secondOnes = secondBinary.filter { $0 == "1" }.count
        if firstOnes == secondOnes {
            return first < second
        }
        return firstOnes < secondOnes
    }
    return sortedArray
}
```swift
// In this Kata, you have to sort an array of non-negative integers according to
// number of ones in their binary representation in ascending order.
// For similar number of ones, sort based on decimal value.
// It must be implemented like this:
// sortArray(arr: [1, 5, 2, 3, 4]) == [1, 2, 3, 4, 5]
// sortArray(arr: [-2, -3, -4, -5, -6]) == [-6, -5, -4, -3, -2]
// sortArray(arr: [1, 0, 2, 3, 4]) == [0, 1, 2, 3, 4]
func sortArray(arr: [Int]) -> [Int] {
    let sortedArray = arr.sorted { (first, second) -> Bool in
        let firstBinary = String(first, radix: 2)
        let secondBinary = String(second, radix: 2)
        let firstOnes = firstBinary.filter { $0 == "1" }.count
        let secondOnes = secondBinary.filter { $0 == "1" }.count
        if firstOnes == secondOnes {
            return first < second
        }
        return firstOnes < secondOnes
    }
    return sortedArray
}
```

func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        }
        return aOnes < bOnes
    }
}
```swift
// In this Kata, you have to sort an array of non-negative integers according to
// number of ones in their binary representation in ascending order.
// For similar number of ones, sort based on decimal value.
// It must be implemented like this:
// sortArray(arr: [1, 5, 2, 3, 4]) == [1, 2, 3, 4, 5]
// sortArray(arr: [-2, -3, -4, -5, -6]) == [-6, -5, -4, -3, -2]
// sortArray(arr: [1, 0, 2, 3, 4]) == [0, 1, 2, 3, 4]
func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        }
        return aOnes < bOnes
    }
}
```

func sortArray(arr: [Int]) -> [Int] {
    let sorted = arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        }
        return aOnes < bOnes
    }
    return sorted
}
```swift
// In this Kata, you have to sort an array of non-negative integers according to
// number of ones in their binary representation in ascending order.
// For similar number of ones, sort based on decimal value.
// It must be implemented like this:
// sortArray(arr: [1, 5, 2, 3, 4]) == [1, 2, 3, 4, 5]
// sortArray(arr: [-2, -3, -4, -5, -6]) == [-6, -5, -4, -3, -2]
// sortArray(arr: [1, 0, 2, 3, 4]) == [0, 1, 2, 3, 4]
func sortArray(arr: [Int]) -> [Int] {
    let sorted = arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        }
        return aOnes < bOnes
    }
    return sorted
}
```

func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        } else {
            return aOnes < bOnes
        }
    }
}
```swift
// In this Kata, you have to sort an array of non-negative integers according to
// number of ones in their binary representation in ascending order.
// For similar number of ones, sort based on decimal value.
// It must be implemented like this:
// sortArray(arr: [1, 5, 2, 3, 4]) == [1, 2, 3, 4, 5]
// sortArray(arr: [-2, -3, -4, -5, -6]) == [-6, -5, -4, -3, -2]
// sortArray(arr: [1, 0, 2, 3, 4]) == [0, 1, 2, 3, 4]
func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        } else {
            return aOnes < bOnes
        }
    }
}
```

func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        } else {
            return aOnes < bOnes
        }
    }
}
```swift
// In this Kata, you have to sort an array of non-negative integers according to
// number of ones in their binary representation in ascending order.
// For similar number of ones, sort based on decimal value.
// It must be implemented like this:
// sortArray(arr: [1, 5, 2, 3, 4]) == [1, 2, 3, 4, 5]
// sortArray(arr: [-2, -3, -4, -5, -6]) == [-6, -5, -4, -3, -2]
// sortArray(arr: [1, 0, 2, 3, 4]) == [0, 1, 2, 3, 4]
func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        } else {
            return aOnes < bOnes
        }
    }
}
```

func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        }
        return aOnes < bOnes
    }
}
```swift
// In this Kata, you have to sort an array of non-negative integers according to
// number of ones in their binary representation in ascending order.
// For similar number of ones, sort based on decimal value.
// It must be implemented like this:
// sortArray(arr: [1, 5, 2, 3, 4]) == [1, 2, 3, 4, 5]
// sortArray(arr: [-2, -3, -4, -5, -6]) == [-6, -5, -4, -3, -2]
// sortArray(arr: [1, 0, 2, 3, 4]) == [0, 1, 2, 3, 4]
func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        }
        return aOnes < bOnes
    }
}
```

func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        }
        return aOnes < bOnes
    }
}
```swift
// In this Kata, you have to sort an array of non-negative integers according to
// number of ones in their binary representation in ascending order.
// For similar number of ones, sort based on decimal value.
// It must be implemented like this:
// sortArray(arr: [1, 5, 2, 3, 4]) == [1, 2, 3, 4, 5]
// sortArray(arr: [-2, -3, -4, -5, -6]) == [-6, -5, -4, -3, -2]
// sortArray(arr: [1, 0, 2, 3, 4]) == [0, 1, 2, 3, 4]
func sortArray(arr: [Int]) -> [Int] {
    return arr.sorted { (a, b) -> Bool in
        let aBinary = String(a, radix: 2)
        let bBinary = String(b, radix: 2)
        let aOnes = aBinary.filter { $0 == "1" }.count
        let bOnes = bBinary.filter { $0 == "1" }.count
        if aOnes == bOnes {
            return a < b
        }
        return aOnes < bOnes
    }
}
```

func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: " ")
    var result: [String] = []
    for word in words {
        let consonantsCount = word.filter { !vowels.contains($0) }.count
        if consonantsCount == n {
            result.append(word)
        }
    }
    return result
}
```swift
// Given a string s and a natural number n, you have been tasked to implement 
// a function that returns an array of all words from string s that contain exactly 
// n consonants, in order these words appear in the string s.
// If the string s is empty then the function should return an empty array.
// Note: you may assume the input string contains only letters and spaces.
// Examples:
// selectWords(s: "Mary had a little lamb", n: 4) == ["little"]
// selectWords(s: "Mary had a little lamb", n: 3) == ["Mary", "lamb"]
// selectWords(s: "simple white space", n: 2) == [] as [String]
// selectWords(s: "Hello world", n: 4) == ["world"]
// selectWords(s: "Uncle sam", n: 3) == ["Uncle"]
func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: " ")
    var result: [String] = []
    for word in words {
        let consonantsCount = word.filter { !vowels.contains($0) }.count
        if consonantsCount == n {
            result.append(word)
        }
    }
    return result
}
```

func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiou")
    let words = s.components(separatedBy: " ")
    var result = [String]()
    for word in words {
        let consonants = word.filter { !vowels.contains($0.lowercased()) }
        if consonants.count == n {
            result.append(word)
        }
    }
    return result
}
```swift
// Given a string s and a natural number n, you have been tasked to implement 
// a function that returns an array of all words from string s that contain exactly 
// n consonants, in order these words appear in the string s.
// If the string s is empty then the function should return an empty array.
// Note: you may assume the input string contains only letters and spaces.
// Examples:
// selectWords(s: "Mary had a little lamb", n: 4) == ["little"]
// selectWords(s: "Mary had a little lamb", n: 3) == ["Mary", "lamb"]
// selectWords(s: "simple white space", n: 2) == [] as [String]
// selectWords(s: "Hello world", n: 4) == ["world"]
// selectWords(s: "Uncle sam", n: 3) == ["Uncle"]
func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiou")
    let words = s.components(separatedBy: " ")
    var result = [String]()
    for word in words {
        let consonants = word.filter { !vowels.contains($0.lowercased()) }
        if consonants.count == n {
            result.append(word)
        }
    }
    return result
}
```

func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: " ")
    return words.filter { $0.filter { !vowels.contains($0) }.count == n }
}
```swift
// Given a string s and a natural number n, you have been tasked to implement 
// a function that returns an array of all words from string s that contain exactly 
// n consonants, in order these words appear in the string s.
// If the string s is empty then the function should return an empty array.
// Note: you may assume the input string contains only letters and spaces.
// Examples:
// selectWords(s: "Mary had a little lamb", n: 4) == ["little"]
// selectWords(s: "Mary had a little lamb", n: 3) == ["Mary", "lamb"]
// selectWords(s: "simple white space", n: 2) == [] as [String]
// selectWords(s: "Hello world", n: 4) == ["world"]
// selectWords(s: "Uncle sam", n: 3) == ["Uncle"]
func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: " ")
    return words.filter { $0.filter { !vowels.contains($0) }.count == n }
}
```

func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: .whitespacesAndNewlines)
    return words.filter { $0.filter { !vowels.contains($0) }.count == n }
}
```swift
// Given a string s and a natural number n, you have been tasked to implement 
// a function that returns an array of all words from string s that contain exactly 
// n consonants, in order these words appear in the string s.
// If the string s is empty then the function should return an empty array.
// Note: you may assume the input string contains only letters and spaces.
// Examples:
// selectWords(s: "Mary had a little lamb", n: 4) == ["little"]
// selectWords(s: "Mary had a little lamb", n: 3) == ["Mary", "lamb"]
// selectWords(s: "simple white space", n: 2) == [] as [String]
// selectWords(s: "Hello world", n: 4) == ["world"]
// selectWords(s: "Uncle sam", n: 3) == ["Uncle"]
func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: .whitespacesAndNewlines)
    return words.filter { $0.filter { !vowels.contains($0) }.count == n }
}
```

func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: .whitespacesAndNewlines).filter { !$0.isEmpty }
    return words.filter { $0.filter { !vowels.contains($0) }.count == n }
}
```swift
// Given a string s and a natural number n, you have been tasked to implement 
// a function that returns an array of all words from string s that contain exactly 
// n consonants, in order these words appear in the string s.
// If the string s is empty then the function should return an empty array.
// Note: you may assume the input string contains only letters and spaces.
// Examples:
// selectWords(s: "Mary had a little lamb", n: 4) == ["little"]
// selectWords(s: "Mary had a little lamb", n: 3) == ["Mary", "lamb"]
// selectWords(s: "simple white space", n: 2) == [] as [String]
// selectWords(s: "Hello world", n: 4) == ["world"]
// selectWords(s: "Uncle sam", n: 3) == ["Uncle"]
func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: .whitespacesAndNewlines).filter { !$0.isEmpty }
    return words.filter { $0.filter { !vowels.contains($0) }.count == n }
}
```

func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: " ")
    return words.filter { $0.filter { !vowels.contains($0) }.count == n }
}
```swift
// Given a string s and a natural number n, you have been tasked to implement 
// a function that returns an array of all words from string s that contain exactly 
// n consonants, in order these words appear in the string s.
// If the string s is empty then the function should return an empty array.
// Note: you may assume the input string contains only letters and spaces.
// Examples:
// selectWords(s: "Mary had a little lamb", n: 4) == ["little"]
// selectWords(s: "Mary had a little lamb", n: 3) == ["Mary", "lamb"]
// selectWords(s: "simple white space", n: 2) == [] as [String]
// selectWords(s: "Hello world", n: 4) == ["world"]
// selectWords(s: "Uncle sam", n: 3) == ["Uncle"]
func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: " ")
    return words.filter { $0.filter { !vowels.contains($0) }.count == n }
}
```

func selectWords(s: String, n: Int) -> [String] {
    let vowels = "aeiouAEIOU"
    var result = [String]()
    let words = s.components(separatedBy: " ")
    for word in words {
        let consonants = word.filter { !vowels.contains($0) }
        if consonants.count == n {
            result.append(word)
        }
    }
    return result
}
```swift
// Given a string s and a natural number n, you have been tasked to implement 
// a function that returns an array of all words from string s that contain exactly 
// n consonants, in order these words appear in the string s.
// If the string s is empty then the function should return an empty array.
// Note: you may assume the input string contains only letters and spaces.
// Examples:
// selectWords(s: "Mary had a little lamb", n: 4) == ["little"]
// selectWords(s: "Mary had a little lamb", n: 3) == ["Mary", "lamb"]
// selectWords(s: "simple white space", n: 2) == [] as [String]
// selectWords(s: "Hello world", n: 4) == ["world"]
// selectWords(s: "Uncle sam", n: 3) == ["Uncle"]
func selectWords(s: String, n: Int) -> [String] {
    let vowels = "aeiouAEIOU"
    var result = [String]()
    let words = s.components(separatedBy: " ")
    for word in words {
        let consonants = word.filter { !vowels.contains($0) }
        if consonants.count == n {
            result.append(word)
        }
    }
    return result
}
```

func selectWords(s: String, n: Int) -> [String] {
    let vowels = "aeiouAEIOU"
    let words = s.components(separatedBy: " ")
    var result = [String]()
    for word in words {
        let consonants = word.filter { !vowels.contains($0) }
        if consonants.count == n {
            result.append(word)
        }
    }
    return result
}
```swift
// Given a string s and a natural number n, you have been tasked to implement 
// a function that returns an array of all words from string s that contain exactly 
// n consonants, in order these words appear in the string s.
// If the string s is empty then the function should return an empty array.
// Note: you may assume the input string contains only letters and spaces.
// Examples:
// selectWords(s: "Mary had a little lamb", n: 4) == ["little"]
// selectWords(s: "Mary had a little lamb", n: 3) == ["Mary", "lamb"]
// selectWords(s: "simple white space", n: 2) == [] as [String]
// selectWords(s: "Hello world", n: 4) == ["world"]
// selectWords(s: "Uncle sam", n: 3) == ["Uncle"]
func selectWords(s: String, n: Int) -> [String] {
    let vowels = "aeiouAEIOU"
    let words = s.components(separatedBy: " ")
    var result = [String]()
    for word in words {
        let consonants = word.filter { !vowels.contains($0) }
        if consonants.count == n {
            result.append(word)
        }
    }
    return result
}
```

func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: " ")
    var result: [String] = []
    for word in words {
        let consonants = word.filter { !vowels.contains($0) }
        if consonants.count == n {
            result.append(word)
        }
    }
    return result
}
```swift
// Given a string s and a natural number n, you have been tasked to implement 
// a function that returns an array of all words from string s that contain exactly 
// n consonants, in order these words appear in the string s.
// If the string s is empty then the function should return an empty array.
// Note: you may assume the input string contains only letters and spaces.
// Examples:
// selectWords(s: "Mary had a little lamb", n: 4) == ["little"]
// selectWords(s: "Mary had a little lamb", n: 3) == ["Mary", "lamb"]
// selectWords(s: "simple white space", n: 2) == [] as [String]
// selectWords(s: "Hello world", n: 4) == ["world"]
// selectWords(s: "Uncle sam", n: 3) == ["Uncle"]
func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: " ")
    var result: [String] = []
    for word in words {
        let consonants = word.filter { !vowels.contains($0) }
        if consonants.count == n {
            result.append(word)
        }
    }
    return result
}
```

func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: " ")
    var result = [String]()
    for word in words {
        let consonants = word.filter { !vowels.contains($0) }
        if consonants.count == n {
            result.append(word)
        }
    }
    return result
}
```swift
// Given a string s and a natural number n, you have been tasked to implement 
// a function that returns an array of all words from string s that contain exactly 
// n consonants, in order these words appear in the string s.
// If the string s is empty then the function should return an empty array.
// Note: you may assume the input string contains only letters and spaces.
// Examples:
// selectWords(s: "Mary had a little lamb", n: 4) == ["little"]
// selectWords(s: "Mary had a little lamb", n: 3) == ["Mary", "lamb"]
// selectWords(s: "simple white space", n: 2) == [] as [String]
// selectWords(s: "Hello world", n: 4) == ["world"]
// selectWords(s: "Uncle sam", n: 3) == ["Uncle"]
func selectWords(s: String, n: Int) -> [String] {
    let vowels = Set("aeiouAEIOU")
    let words = s.components(separatedBy: " ")
    var result = [String]()
    for word in words {
        let consonants = word.filter { !vowels.contains($0) }
        if consonants.count == n {
            result.append(word)
        }
    }
    return result
}
```

func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var prevConsonant = false
    var foundVowel = false
    
    for char in word.reversed() {
        if vowels.contains(char) {
            if prevConsonant {
                closestVowel = String(char)
                foundVowel = true
                break
            }
            prevConsonant = false
        } else {
            prevConsonant = true
        }
    }
    
    return foundVowel ? closestVowel : ""
}
```swift
// You are given a word. Your task is to find the closest vowel that stands between 
// two consonants from the right side of the word (case sensitive).
// Vowels in the beginning and ending doesn't count. Return empty string if you didn't
// find any vowel met the above condition. 
// You may assume that the given string contains English letter only.
// Example:
// getClosestVowel(word: "yogurt") == "u"
// getClosestVowel(word: "FULL") == "U"
// getClosestVowel(word: "quick") == ""
// getClosestVowel(word: "ab") == ""
func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var prevConsonant = false
    var foundVowel = false
    
    for char in word.reversed() {
        if vowels.contains(char) {
            if prevConsonant {
                closestVowel = String(char)
                foundVowel = true
                break
            }
            prevConsonant = false
        } else {
            prevConsonant = true
        }
    }
    
    return foundVowel ? closestVowel : ""
}
```

 // XCTAssertTrue failed

func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index < lastConsonantIndex {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```swift
// You are given a word. Your task is to find the closest vowel that stands between 
// two consonants from the right side of the word (case sensitive).
// Vowels in the beginning and ending doesn't count. Return empty string if you didn't
// find any vowel met the above condition. 
// You may assume that the given string contains English letter only.
// Example:
// getClosestVowel(word: "yogurt") == "u"
// getClosestVowel(word: "FULL") == "U"
// getClosestVowel(word: "quick") == ""
// getClosestVowel(word: "ab") == ""
func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index < lastConsonantIndex {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```

 // XCTAssertTrue failed

func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index < lastConsonantIndex {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```swift
// You are given a word. Your task is to find the closest vowel that stands between 
// two consonants from the right side of the word (case sensitive).
// Vowels in the beginning and ending doesn't count. Return empty string if you didn't
// find any vowel met the above condition. 
// You may assume that the given string contains English letter only.
// Example:
// getClosestVowel(word: "yogurt") == "u"
// getClosestVowel(word: "FULL") == "U"
// getClosestVowel(word: "quick") == ""
// getClosestVowel(word: "ab") == ""
func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index < lastConsonantIndex {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```

 // XCTAssertTrue failed

func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index - lastConsonantIndex == 2 {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```swift
// You are given a word. Your task is to find the closest vowel that stands between 
// two consonants from the right side of the word (case sensitive).
// Vowels in the beginning and ending doesn't count. Return empty string if you didn't
// find any vowel met the above condition. 
// You may assume that the given string contains English letter only.
// Example:
// getClosestVowel(word: "yogurt") == "u"
// getClosestVowel(word: "FULL") == "U"
// getClosestVowel(word: "quick") == ""
// getClosestVowel(word: "ab") == ""
func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index - lastConsonantIndex == 2 {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```

 // XCTAssertTrue failed

func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    let consonants = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if consonants.contains(char) {
            lastConsonantIndex = index
        } else if vowels.contains(char) && lastConsonantIndex != -1 && index < lastConsonantIndex {
            closestVowel = String(char)
            break
        }
    }
    
    return closestVowel
}
```swift
// You are given a word. Your task is to find the closest vowel that stands between 
// two consonants from the right side of the word (case sensitive).
// Vowels in the beginning and ending doesn't count. Return empty string if you didn't
// find any vowel met the above condition. 
// You may assume that the given string contains English letter only.
// Example:
// getClosestVowel(word: "yogurt") == "u"
// getClosestVowel(word: "FULL") == "U"
// getClosestVowel(word: "quick") == ""
// getClosestVowel(word: "ab") == ""
func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    let consonants = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if consonants.contains(char) {
            lastConsonantIndex = index
        } else if vowels.contains(char) && lastConsonantIndex != -1 && index < lastConsonantIndex {
            closestVowel = String(char)
            break
        }
    }
    
    return closestVowel
}
```

 // XCTAssertTrue failed

func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```swift
// You are given a word. Your task is to find the closest vowel that stands between 
// two consonants from the right side of the word (case sensitive).
// Vowels in the beginning and ending doesn't count. Return empty string if you didn't
// find any vowel met the above condition. 
// You may assume that the given string contains English letter only.
// Example:
// getClosestVowel(word: "yogurt") == "u"
// getClosestVowel(word: "FULL") == "U"
// getClosestVowel(word: "quick") == ""
// getClosestVowel(word: "ab") == ""
func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```
 // XCTAssertTrue failed

func getClosestVowel(word: String) -> String {
    let vowels = Set("aeiouAEIOU")
    var closestVowel = ""
    var lastConsonantIndex = -1

    for (index, char) in word.reversed().enumerated() {
        if vowels.contains(char) {
            if lastConsonantIndex - index > 1 {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }

    return closestVowel
}
```swift
// You are given a word. Your task is to find the closest vowel that stands between 
// two consonants from the right side of the word (case sensitive).
// Vowels in the beginning and ending doesn't count. Return empty string if you didn't
// find any vowel met the above condition. 
// You may assume that the given string contains English letter only.
// Example:
// getClosestVowel(word: "yogurt") == "u"
// getClosestVowel(word: "FULL") == "U"
// getClosestVowel(word: "quick") == ""
// getClosestVowel(word: "ab") == ""
func getClosestVowel(word: String) -> String {
    let vowels = Set("aeiouAEIOU")
    var closestVowel = ""
    var lastConsonantIndex = -1

    for (index, char) in word.reversed().enumerated() {
        if vowels.contains(char) {
            if lastConsonantIndex - index > 1 {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }

    return closestVowel
}
```

 // XCTAssertTrue failed

func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index < lastConsonantIndex {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```swift
// You are given a word. Your task is to find the closest vowel that stands between 
// two consonants from the right side of the word (case sensitive).
// Vowels in the beginning and ending doesn't count. Return empty string if you didn't
// find any vowel met the above condition. 
// You may assume that the given string contains English letter only.
// Example:
// getClosestVowel(word: "yogurt") == "u"
// getClosestVowel(word: "FULL") == "U"
// getClosestVowel(word: "quick") == ""
// getClosestVowel(word: "ab") == ""
func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index < lastConsonantIndex {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```

 // XCTAssertTrue failed

func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index < lastConsonantIndex {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```swift
// You are given a word. Your task is to find the closest vowel that stands between 
// two consonants from the right side of the word (case sensitive).
// Vowels in the beginning and ending doesn't count. Return empty string if you didn't
// find any vowel met the above condition. 
// You may assume that the given string contains English letter only.
// Example:
// getClosestVowel(word: "yogurt") == "u"
// getClosestVowel(word: "FULL") == "U"
// getClosestVowel(word: "quick") == ""
// getClosestVowel(word: "ab") == ""
func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index < lastConsonantIndex {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```
 // XCTAssertTrue failed

func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index < lastConsonantIndex {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```swift
// You are given a word. Your task is to find the closest vowel that stands between 
// two consonants from the right side of the word (case sensitive).
// Vowels in the beginning and ending doesn't count. Return empty string if you didn't
// find any vowel met the above condition. 
// You may assume that the given string contains English letter only.
// Example:
// getClosestVowel(word: "yogurt") == "u"
// getClosestVowel(word: "FULL") == "U"
// getClosestVowel(word: "quick") == ""
// getClosestVowel(word: "ab") == ""
func getClosestVowel(word: String) -> String {
    let vowels = "aeiouAEIOU"
    var closestVowel = ""
    var lastConsonantIndex = -1
    
    for (index, char) in word.enumerated().reversed() {
        if vowels.contains(char) {
            if lastConsonantIndex != -1 && index < lastConsonantIndex {
                closestVowel = String(char)
                break
            }
        } else {
            lastConsonantIndex = index
        }
    }
    
    return closestVowel
}
```

 // XCTAssertTrue failed

func matchParens(lst: [String]) -> String {
    // Your code here
}
```swift
// You are given an array of two strings, both strings consist of open
// parentheses '(' or close parentheses ')' only.
// Your job is to check if it is possible to concatenate the two strings in
// some order, that the resulting string will be good.
// A string S is considered to be good if and only if all parentheses in S
// are balanced. For example: the string '(())()' is good, while the string
// '())' is not.
// Return 'Yes' if there's a way to make a good string, and return 'No' otherwise.
// Examples:
// matchParens(lst: ["()(", ")"]) == "Yes"
// matchParens(lst: [")", ")"]) == "No"
func matchParens(lst: [String]) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func matchParens(lst: [String]) -> String {
    // Your code here
}
```swift
// You are given an array of two strings, both strings consist of open
// parentheses '(' or close parentheses ')' only.
// Your job is to check if it is possible to concatenate the two strings in
// some order, that the resulting string will be good.
// A string S is considered to be good if and only if all parentheses in S
// are balanced. For example: the string '(())()' is good, while the string
// '())' is not.
// Return 'Yes' if there's a way to make a good string, and return 'No' otherwise.
// Examples:
// matchParens(lst: ["()(", ")"]) == "Yes"
// matchParens(lst: [")", ")"]) == "No"
func matchParens(lst: [String]) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func matchParens(lst: [String]) -> String {
    var openCount = 0
    var closeCount = 0
    for str in lst {
        for char in str {
            if char == "(" {
                openCount += 1
            } else {
                closeCount += 1
            }
        }
    }
    if openCount == closeCount {
        return "Yes"
    } else {
        return "No"
    }
}
```swift
// You are given an array of two strings, both strings consist of open
// parentheses '(' or close parentheses ')' only.
// Your job is to check if it is possible to concatenate the two strings in
// some order, that the resulting string will be good.
// A string S is considered to be good if and only if all parentheses in S
// are balanced. For example: the string '(())()' is good, while the string
// '())' is not.
// Return 'Yes' if there's a way to make a good string, and return 'No' otherwise.
// Examples:
// matchParens(lst: ["()(", ")"]) == "Yes"
// matchParens(lst: [")", ")"]) == "No"
func matchParens(lst: [String]) -> String {
    var openCount = 0
    var closeCount = 0
    for str in lst {
        for char in str {
            if char == "(" {
                openCount += 1
            } else {
                closeCount += 1
            }
        }
    }
    if openCount == closeCount {
        return "Yes"
    } else {
        return "No"
    }
}
```

 // XCTAssertTrue failed

func matchParens(lst: [String]) -> String {
    // Your code here
}
```swift
// You are given an array of two strings, both strings consist of open
// parentheses '(' or close parentheses ')' only.
// Your job is to check if it is possible to concatenate the two strings in
// some order, that the resulting string will be good.
// A string S is considered to be good if and only if all parentheses in S
// are balanced. For example: the string '(())()' is good, while the string
// '())' is not.
// Return 'Yes' if there's a way to make a good string, and return 'No' otherwise.
// Examples:
// matchParens(lst: ["()(", ")"]) == "Yes"
// matchParens(lst: [")", ")"]) == "No"
func matchParens(lst: [String]) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func matchParens(lst: [String]) -> String {
    var open = 0
    var close = 0
    for str in lst {
        for char in str {
            if char == "(" {
                open += 1
            } else {
                close += 1
            }
        }
    }
    if open == close {
        return "Yes"
    } else {
        return "No"
    }
}
```swift
// You are given an array of two strings, both strings consist of open
// parentheses '(' or close parentheses ')' only.
// Your job is to check if it is possible to concatenate the two strings in
// some order, that the resulting string will be good.
// A string S is considered to be good if and only if all parentheses in S
// are balanced. For example: the string '(())()' is good, while the string
// '())' is not.
// Return 'Yes' if there's a way to make a good string, and return 'No' otherwise.
// Examples:
// matchParens(lst: ["()(", ")"]) == "Yes"
// matchParens(lst: [")", ")"]) == "No"
func matchParens(lst: [String]) -> String {
    var open = 0
    var close = 0
    for str in lst {
        for char in str {
            if char == "(" {
                open += 1
            } else {
                close += 1
            }
        }
    }
    if open == close {
        return "Yes"
    } else {
        return "No"
    }
}
```

 // XCTAssertTrue failed

func matchParens(lst: [String]) -> String {
    var open = 0
    var close = 0
    for str in lst {
        for char in str {
            if char == "(" {
                open += 1
            } else {
                close += 1
            }
        }
    }
    if open == close {
        return "Yes"
    } else {
        return "No"
    }
}
```swift
// You are given an array of two strings, both strings consist of open
// parentheses '(' or close parentheses ')' only.
// Your job is to check if it is possible to concatenate the two strings in
// some order, that the resulting string will be good.
// A string S is considered to be good if and only if all parentheses in S
// are balanced. For example: the string '(())()' is good, while the string
// '())' is not.
// Return 'Yes' if there's a way to make a good string, and return 'No' otherwise.
// Examples:
// matchParens(lst: ["()(", ")"]) == "Yes"
// matchParens(lst: [")", ")"]) == "No"
func matchParens(lst: [String]) -> String {
    var open = 0
    var close = 0
    for str in lst {
        for char in str {
            if char == "(" {
                open += 1
            } else {
                close += 1
            }
        }
    }
    if open == close {
        return "Yes"
    } else {
        return "No"
    }
}
```

 // XCTAssertTrue failed

func matchParens(lst: [String]) -> String {
    var openCount = 0
    var closeCount = 0
    for str in lst {
        for char in str {
            if char == "(" {
                openCount += 1
            } else {
                closeCount += 1
            }
        }
    }
    if openCount == closeCount {
        return "Yes"
    } else {
        return "No"
    }
}
```swift
// You are given an array of two strings, both strings consist of open
// parentheses '(' or close parentheses ')' only.
// Your job is to check if it is possible to concatenate the two strings in
// some order, that the resulting string will be good.
// A string S is considered to be good if and only if all parentheses in S
// are balanced. For example: the string '(())()' is good, while the string
// '())' is not.
// Return 'Yes' if there's a way to make a good string, and return 'No' otherwise.
// Examples:
// matchParens(lst: ["()(", ")"]) == "Yes"
// matchParens(lst: [")", ")"]) == "No"
func matchParens(lst: [String]) -> String {
    var openCount = 0
    var closeCount = 0
    for str in lst {
        for char in str {
            if char == "(" {
                openCount += 1
            } else {
                closeCount += 1
            }
        }
    }
    if openCount == closeCount {
        return "Yes"
    } else {
        return "No"
    }
}
```

 // XCTAssertTrue failed

func matchParens(lst: [String]) -> String {
    var openCount = 0
    var closeCount = 0
    
    for str in lst {
        for char in str {
            if char == "(" {
                openCount += 1
            } else {
                closeCount += 1
            }
        }
    }
    
    if openCount == closeCount {
        return "Yes"
    } else {
        return "No"
    }
}
```swift
// You are given an array of two strings, both strings consist of open
// parentheses '(' or close parentheses ')' only.
// Your job is to check if it is possible to concatenate the two strings in
// some order, that the resulting string will be good.
// A string S is considered to be good if and only if all parentheses in S
// are balanced. For example: the string '(())()' is good, while the string
// '())' is not.
// Return 'Yes' if there's a way to make a good string, and return 'No' otherwise.
// Examples:
// matchParens(lst: ["()(", ")"]) == "Yes"
// matchParens(lst: [")", ")"]) == "No"
func matchParens(lst: [String]) -> String {
    var openCount = 0
    var closeCount = 0
    
    for str in lst {
        for char in str {
            if char == "(" {
                openCount += 1
            } else {
                closeCount += 1
            }
        }
    }
    
    if openCount == closeCount {
        return "Yes"
    } else {
        return "No"
    }
}
```

 // XCTAssertTrue failed

func matchParens(lst: [String]) -> String {
    var openCount = 0
    var closeCount = 0
    
    for str in lst {
        for char in str {
            if char == "(" {
                openCount += 1
            } else {
                closeCount += 1
            }
        }
    }
    
    if openCount == closeCount {
        return "Yes"
    } else {
        return "No"
    }
}
```swift
// You are given an array of two strings, both strings consist of open
// parentheses '(' or close parentheses ')' only.
// Your job is to check if it is possible to concatenate the two strings in
// some order, that the resulting string will be good.
// A string S is considered to be good if and only if all parentheses in S
// are balanced. For example: the string '(())()' is good, while the string
// '())' is not.
// Return 'Yes' if there's a way to make a good string, and return 'No' otherwise.
// Examples:
// matchParens(lst: ["()(", ")"]) == "Yes"
// matchParens(lst: [")", ")"]) == "No"
func matchParens(lst: [String]) -> String {
    var openCount = 0
    var closeCount = 0
    
    for str in lst {
        for char in str {
            if char == "(" {
                openCount += 1
            } else {
                closeCount += 1
            }
        }
    }
    
    if openCount == closeCount {
        return "Yes"
    } else {
        return "No"
    }
}
```

 // XCTAssertTrue failed

func matchParens(lst: [String]) -> String {
    let first = lst[0]
    let second = lst[1]
    var firstCount = 0
    var secondCount = 0
    for i in first {
        if i == "(" {
            firstCount += 1
        } else {
            firstCount -= 1
        }
    }
    for i in second {
        if i == "(" {
            secondCount += 1
        } else {
            secondCount -= 1
        }
    }
    if firstCount == secondCount {
        return "Yes"
    } else {
        return "No"
    }
}
```swift
// You are given an array of two strings, both strings consist of open
// parentheses '(' or close parentheses ')' only.
// Your job is to check if it is possible to concatenate the two strings in
// some order, that the resulting string will be good.
// A string S is considered to be good if and only if all parentheses in S
// are balanced. For example: the string '(())()' is good, while the string
// '())' is not.
// Return 'Yes' if there's a way to make a good string, and return 'No' otherwise.
// Examples:
// matchParens(lst: ["()(", ")"]) == "Yes"
// matchParens(lst: [")", ")"]) == "No"
func matchParens(lst: [String]) -> String {
    let first = lst[0]
    let second = lst[1]
    var firstCount = 0
    var secondCount = 0
    for i in first {
        if i == "(" {
            firstCount += 1
        } else {
            firstCount -= 1
        }
    }
    for i in second {
        if i == "(" {
            secondCount += 1
        } else {
            secondCount -= 1
        }
    }
    if firstCount == secondCount {
        return "Yes"
    } else {
        return "No"
    }
}
```

 // XCTAssertTrue failed

func maximum(arr: [Int], k: Int) -> [Int] {
    // Your code here
}
```swift
// Given an array arr of integers and a positive integer k, return a sorted array 
// of length k with the maximum k numbers in arr.
// Example 1:
// Example 2:
// Example 3:
// Note:
// 1. The length of the array will be in the range of [1, 1000].
// 2. The elements in the array will be in the range of [-1000, 1000].
// 3. 0 <= k <= len(arr)
// maximum(arr: [-3, -4, 5], k: 3) == [-4, -3, 5]
// maximum(arr: [4, -4, 4], k: 2) == [4, 4]
// maximum(arr: [-3, 2, 1, 2, -1, -2, 1], k: 1) == [2]
func maximum(arr: [Int], k: Int) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func maximum(arr: [Int], k: Int) -> [Int] {
    return arr.sorted(by: >).prefix(k)
}
```swift
// Given an array arr of integers and a positive integer k, return a sorted array 
// of length k with the maximum k numbers in arr.
// Example 1:
// Example 2:
// Example 3:
// Note:
// 1. The length of the array will be in the range of [1, 1000].
// 2. The elements in the array will be in the range of [-1000, 1000].
// 3. 0 <= k <= len(arr)
// maximum(arr: [-3, -4, 5], k: 3) == [-4, -3, 5]
// maximum(arr: [4, -4, 4], k: 2) == [4, 4]
// maximum(arr: [-3, 2, 1, 2, -1, -2, 1], k: 1) == [2]
func maximum(arr: [Int], k: Int) -> [Int] {
    return arr.sorted(by: >).prefix(k)
}
```

return arr.sorted(by: >).prefix(k) // cannot convert return expression of type 'Array<Int>.SubSequence' (aka 'ArraySlice<Int>') to return type '[Int]'

func maximum(arr: [Int], k: Int) -> [Int] {
    return arr.sorted(by: >).prefix(k)
}
```swift
// Given an array arr of integers and a positive integer k, return a sorted array 
// of length k with the maximum k numbers in arr.
// Example 1:
// Example 2:
// Example 3:
// Note:
// 1. The length of the array will be in the range of [1, 1000].
// 2. The elements in the array will be in the range of [-1000, 1000].
// 3. 0 <= k <= len(arr)
// maximum(arr: [-3, -4, 5], k: 3) == [-4, -3, 5]
// maximum(arr: [4, -4, 4], k: 2) == [4, 4]
// maximum(arr: [-3, 2, 1, 2, -1, -2, 1], k: 1) == [2]
func maximum(arr: [Int], k: Int) -> [Int] {
    return arr.sorted(by: >).prefix(k)
}
```

return arr.sorted(by: >).prefix(k) // cannot convert return expression of type 'Array<Int>.SubSequence' (aka 'ArraySlice<Int>') to return type '[Int]'

func maximum(arr: [Int], k: Int) -> [Int] {
    // Your code here
}
```swift
// Given an array arr of integers and a positive integer k, return a sorted array 
// of length k with the maximum k numbers in arr.
// Example 1:
// Example 2:
// Example 3:
// Note:
// 1. The length of the array will be in the range of [1, 1000].
// 2. The elements in the array will be in the range of [-1000, 1000].
// 3. 0 <= k <= len(arr)
// maximum(arr: [-3, -4, 5], k: 3) == [-4, -3, 5]
// maximum(arr: [4, -4, 4], k: 2) == [4, 4]
// maximum(arr: [-3, 2, 1, 2, -1, -2, 1], k: 1) == [2]
func maximum(arr: [Int], k: Int) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func maximum(arr: [Int], k: Int) -> [Int] {
    return arr.sorted().suffix(k).reversed()
}
```swift
// Given an array arr of integers and a positive integer k, return a sorted array 
// of length k with the maximum k numbers in arr.
// Example 1:
// Example 2:
// Example 3:
// Note:
// 1. The length of the array will be in the range of [1, 1000].
// 2. The elements in the array will be in the range of [-1000, 1000].
// 3. 0 <= k <= len(arr)
// maximum(arr: [-3, -4, 5], k: 3) == [-4, -3, 5]
// maximum(arr: [4, -4, 4], k: 2) == [4, 4]
// maximum(arr: [-3, 2, 1, 2, -1, -2, 1], k: 1) == [2]
func maximum(arr: [Int], k: Int) -> [Int] {
    return arr.sorted().suffix(k).reversed()
}
```
 // XCTAssertTrue failed

func maximum(arr: [Int], k: Int) -> [Int] {
    return Array(arr.sorted().suffix(k))
}
```swift
// Given an array arr of integers and a positive integer k, return a sorted array 
// of length k with the maximum k numbers in arr.
// Example 1:
// Example 2:
// Example 3:
// Note:
// 1. The length of the array will be in the range of [1, 1000].
// 2. The elements in the array will be in the range of [-1000, 1000].
// 3. 0 <= k <= len(arr)
// maximum(arr: [-3, -4, 5], k: 3) == [-4, -3, 5]
// maximum(arr: [4, -4, 4], k: 2) == [4, 4]
// maximum(arr: [-3, 2, 1, 2, -1, -2, 1], k: 1) == [2]
func maximum(arr: [Int], k: Int) -> [Int] {
    return Array(arr.sorted().suffix(k))
}
```

func maximum(arr: [Int], k: Int) -> [Int] {
    return Array(arr.sorted().suffix(k))
}
```swift
// Given an array arr of integers and a positive integer k, return a sorted array 
// of length k with the maximum k numbers in arr.
// Example 1:
// Example 2:
// Example 3:
// Note:
// 1. The length of the array will be in the range of [1, 1000].
// 2. The elements in the array will be in the range of [-1000, 1000].
// 3. 0 <= k <= len(arr)
// maximum(arr: [-3, -4, 5], k: 3) == [-4, -3, 5]
// maximum(arr: [4, -4, 4], k: 2) == [4, 4]
// maximum(arr: [-3, 2, 1, 2, -1, -2, 1], k: 1) == [2]
func maximum(arr: [Int], k: Int) -> [Int] {
    return Array(arr.sorted().suffix(k))
}
```

func maximum(arr: [Int], k: Int) -> [Int] {
    var sortedArr = arr.sorted()
    return Array(sortedArr.suffix(k))
}
```swift
// Given an array arr of integers and a positive integer k, return a sorted array 
// of length k with the maximum k numbers in arr.
// Example 1:
// Example 2:
// Example 3:
// Note:
// 1. The length of the array will be in the range of [1, 1000].
// 2. The elements in the array will be in the range of [-1000, 1000].
// 3. 0 <= k <= len(arr)
// maximum(arr: [-3, -4, 5], k: 3) == [-4, -3, 5]
// maximum(arr: [4, -4, 4], k: 2) == [4, 4]
// maximum(arr: [-3, 2, 1, 2, -1, -2, 1], k: 1) == [2]
func maximum(arr: [Int], k: Int) -> [Int] {
    var sortedArr = arr.sorted()
    return Array(sortedArr.suffix(k))
}
```

var sortedArr = arr.sorted() // variable 'sortedArr' was never mutated; consider changing to 'let' constant

func maximum(arr: [Int], k: Int) -> [Int] {
    return arr.sorted().suffix(k)
}
```swift
// Given an array arr of integers and a positive integer k, return a sorted array 
// of length k with the maximum k numbers in arr.
// Example 1:
// Example 2:
// Example 3:
// Note:
// 1. The length of the array will be in the range of [1, 1000].
// 2. The elements in the array will be in the range of [-1000, 1000].
// 3. 0 <= k <= len(arr)
// maximum(arr: [-3, -4, 5], k: 3) == [-4, -3, 5]
// maximum(arr: [4, -4, 4], k: 2) == [4, 4]
// maximum(arr: [-3, 2, 1, 2, -1, -2, 1], k: 1) == [2]
func maximum(arr: [Int], k: Int) -> [Int] {
    return arr.sorted().suffix(k)
}
```

func maximum(arr: [Int], k: Int) -> [Int] {
    var sortedArr = arr.sorted()
    return Array(sortedArr.suffix(k))
}
```swift
// Given an array arr of integers and a positive integer k, return a sorted array 
// of length k with the maximum k numbers in arr.
// Example 1:
// Example 2:
// Example 3:
// Note:
// 1. The length of the array will be in the range of [1, 1000].
// 2. The elements in the array will be in the range of [-1000, 1000].
// 3. 0 <= k <= len(arr)
// maximum(arr: [-3, -4, 5], k: 3) == [-4, -3, 5]
// maximum(arr: [4, -4, 4], k: 2) == [4, 4]
// maximum(arr: [-3, 2, 1, 2, -1, -2, 1], k: 1) == [2]
func maximum(arr: [Int], k: Int) -> [Int] {
    var sortedArr = arr.sorted()
    return Array(sortedArr.suffix(k))
}
```
var sortedArr = arr.sorted() // variable 'sortedArr' was never mutated; consider changing to 'let' constant

func solution(lst: [Int]) -> Int {
    // Your code here
}
```swift
// Given a non-empty array of integers, return the sum of all of the odd elements that are in even positions.
// Examples
// solution(lst: [5, 8, 7, 1]) == 12
// solution(lst: [3, 3, 3, 3, 3]) == 9
// solution(lst: [30, 13, 24, 321]) == 0
func solution(lst: [Int]) -> Int {
    // Your code here
}
```

} // missing return in global function expected to return 'Int'

func solution(lst: [Int]) -> Int {
    // Your code here
}
```swift
// Given a non-empty array of integers, return the sum of all of the odd elements that are in even positions.
// Examples
// solution(lst: [5, 8, 7, 1]) == 12
// solution(lst: [3, 3, 3, 3, 3]) == 9
// solution(lst: [30, 13, 24, 321]) == 0
func solution(lst: [Int]) -> Int {
    // Your code here
}
```

} // missing return in global function expected to return 'Int'

func solution(lst: [Int]) -> Int {
    return lst.enumerated().filter { $0.offset % 2 == 0 && $0.element % 2 != 0 }.map { $0.element }.reduce(0, +)
}
```swift
// Given a non-empty array of integers, return the sum of all of the odd elements that are in even positions.
// Examples
// solution(lst: [5, 8, 7, 1]) == 12
// solution(lst: [3, 3, 3, 3, 3]) == 9
// solution(lst: [30, 13, 24, 321]) == 0
func solution(lst: [Int]) -> Int {
    return lst.enumerated().filter { $0.offset % 2 == 0 && $0.element % 2 != 0 }.map { $0.element }.reduce(0, +)
}
```

func solution(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 0 && value % 2 != 0 {
            sum += value
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers, return the sum of all of the odd elements that are in even positions.
// Examples
// solution(lst: [5, 8, 7, 1]) == 12
// solution(lst: [3, 3, 3, 3, 3]) == 9
// solution(lst: [30, 13, 24, 321]) == 0
func solution(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 0 && value % 2 != 0 {
            sum += value
        }
    }
    return sum
}
```

func solution(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 0 && lst[i] % 2 != 0 {
            sum += lst[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers, return the sum of all of the odd elements that are in even positions.
// Examples
// solution(lst: [5, 8, 7, 1]) == 12
// solution(lst: [3, 3, 3, 3, 3]) == 9
// solution(lst: [30, 13, 24, 321]) == 0
func solution(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 0 && lst[i] % 2 != 0 {
            sum += lst[i]
        }
    }
    return sum
}
```

func solution(lst: [Int]) -> Int {
    return lst.enumerated().filter { $0.offset % 2 == 0 && $0.element % 2 != 0 }.map { $0.element }.reduce(0, +)
}
```swift
// Given a non-empty array of integers, return the sum of all of the odd elements that are in even positions.
// Examples
// solution(lst: [5, 8, 7, 1]) == 12
// solution(lst: [3, 3, 3, 3, 3]) == 9
// solution(lst: [30, 13, 24, 321]) == 0
func solution(lst: [Int]) -> Int {
    return lst.enumerated().filter { $0.offset % 2 == 0 && $0.element % 2 != 0 }.map { $0.element }.reduce(0, +)
}
```

func solution(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 0 && value % 2 != 0 {
            sum += value
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers, return the sum of all of the odd elements that are in even positions.
// Examples
// solution(lst: [5, 8, 7, 1]) == 12
// solution(lst: [3, 3, 3, 3, 3]) == 9
// solution(lst: [30, 13, 24, 321]) == 0
func solution(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 0 && value % 2 != 0 {
            sum += value
        }
    }
    return sum
}
```

func solution(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 0 && value % 2 != 0 {
            sum += value
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers, return the sum of all of the odd elements that are in even positions.
// Examples
// solution(lst: [5, 8, 7, 1]) == 12
// solution(lst: [3, 3, 3, 3, 3]) == 9
// solution(lst: [30, 13, 24, 321]) == 0
func solution(lst: [Int]) -> Int {
    var sum = 0
    for (index, value) in lst.enumerated() {
        if index % 2 == 0 && value % 2 != 0 {
            sum += value
        }
    }
    return sum
}
```

func solution(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 0 && lst[i] % 2 != 0 {
            sum += lst[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers, return the sum of all of the odd elements that are in even positions.
// Examples
// solution(lst: [5, 8, 7, 1]) == 12
// solution(lst: [3, 3, 3, 3, 3]) == 9
// solution(lst: [30, 13, 24, 321]) == 0
func solution(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 0 && lst[i] % 2 != 0 {
            sum += lst[i]
        }
    }
    return sum
}
```

func solution(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 0 && lst[i] % 2 != 0 {
            sum += lst[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers, return the sum of all of the odd elements that are in even positions.
// Examples
// solution(lst: [5, 8, 7, 1]) == 12
// solution(lst: [3, 3, 3, 3, 3]) == 9
// solution(lst: [30, 13, 24, 321]) == 0
func solution(lst: [Int]) -> Int {
    var sum = 0
    for i in 0..<lst.count {
        if i % 2 == 0 && lst[i] % 2 != 0 {
            sum += lst[i]
        }
    }
    return sum
}
```

func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if abs(arr[i]) < 100 {
            sum += arr[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers arr and an integer k, return
// the sum of the elements with at most two digits from the first k elements of arr.
// Example:
// Constraints:
// 1. 1 <= len(arr) <= 100
// 2. 1 <= k <= len(arr)
// addElements(arr: [111, 21, 3, 4000, 5, 6, 7, 8, 9], k: 4) == 24
func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if abs(arr[i]) < 100 {
            sum += arr[i]
        }
    }
    return sum
}
```

func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers arr and an integer k, return
// the sum of the elements with at most two digits from the first k elements of arr.
// Example:
// Constraints:
// 1. 1 <= len(arr) <= 100
// 2. 1 <= k <= len(arr)
// addElements(arr: [111, 21, 3, 4000, 5, 6, 7, 8, 9], k: 4) == 24
func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```

func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers arr and an integer k, return
// the sum of the elements with at most two digits from the first k elements of arr.
// Example:
// Constraints:
// 1. 1 <= len(arr) <= 100
// 2. 1 <= k <= len(arr)
// addElements(arr: [111, 21, 3, 4000, 5, 6, 7, 8, 9], k: 4) == 24
func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```

func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        let num = arr[i]
        if num >= -99 && num <= 99 {
            sum += num
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers arr and an integer k, return
// the sum of the elements with at most two digits from the first k elements of arr.
// Example:
// Constraints:
// 1. 1 <= len(arr) <= 100
// 2. 1 <= k <= len(arr)
// addElements(arr: [111, 21, 3, 4000, 5, 6, 7, 8, 9], k: 4) == 24
func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        let num = arr[i]
        if num >= -99 && num <= 99 {
            sum += num
        }
    }
    return sum
}
```

func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers arr and an integer k, return
// the sum of the elements with at most two digits from the first k elements of arr.
// Example:
// Constraints:
// 1. 1 <= len(arr) <= 100
// 2. 1 <= k <= len(arr)
// addElements(arr: [111, 21, 3, 4000, 5, 6, 7, 8, 9], k: 4) == 24
func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```

func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers arr and an integer k, return
// the sum of the elements with at most two digits from the first k elements of arr.
// Example:
// Constraints:
// 1. 1 <= len(arr) <= 100
// 2. 1 <= k <= len(arr)
// addElements(arr: [111, 21, 3, 4000, 5, 6, 7, 8, 9], k: 4) == 24
func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```

func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers arr and an integer k, return
// the sum of the elements with at most two digits from the first k elements of arr.
// Example:
// Constraints:
// 1. 1 <= len(arr) <= 100
// 2. 1 <= k <= len(arr)
// addElements(arr: [111, 21, 3, 4000, 5, 6, 7, 8, 9], k: 4) == 24
func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```

func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers arr and an integer k, return
// the sum of the elements with at most two digits from the first k elements of arr.
// Example:
// Constraints:
// 1. 1 <= len(arr) <= 100
// 2. 1 <= k <= len(arr)
// addElements(arr: [111, 21, 3, 4000, 5, 6, 7, 8, 9], k: 4) == 24
func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```

func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        let num = arr[i]
        if num >= -99 && num <= 99 {
            sum += num
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers arr and an integer k, return
// the sum of the elements with at most two digits from the first k elements of arr.
// Example:
// Constraints:
// 1. 1 <= len(arr) <= 100
// 2. 1 <= k <= len(arr)
// addElements(arr: [111, 21, 3, 4000, 5, 6, 7, 8, 9], k: 4) == 24
func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        let num = arr[i]
        if num >= -99 && num <= 99 {
            sum += num
        }
    }
    return sum
}
```

func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```swift
// Given a non-empty array of integers arr and an integer k, return
// the sum of the elements with at most two digits from the first k elements of arr.
// Example:
// Constraints:
// 1. 1 <= len(arr) <= 100
// 2. 1 <= k <= len(arr)
// addElements(arr: [111, 21, 3, 4000, 5, 6, 7, 8, 9], k: 4) == 24
func addElements(arr: [Int], k: Int) -> Int {
    var sum = 0
    for i in 0..<k {
        if arr[i] >= -99 && arr[i] <= 99 {
            sum += arr[i]
        }
    }
    return sum
}
```

func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    while n != 1 {
        if n % 2 == 0 {
            n /= 2
        } else {
            n = 3 * n + 1
        }
        collatzSequence.append(n)
    }
    return Array(Set(collatzSequence.filter { $0 % 2 != 0 })).sorted()
}
```swift
// Given a positive integer n, return a sorted array that has the odd numbers in collatz sequence.
// The Collatz conjecture is a conjecture in mathematics that concerns a sequence defined
// as follows: start with any positive integer n. Then each term is obtained from the 
// previous term as follows: if the previous term is even, the next term is one half of 
// the previous term. If the previous term is odd, the next term is 3 times the previous
// term plus 1. The conjecture is that no matter what value of n, the sequence will always reach 1.
// Note: 
// 1. Collatz(1) is [1].
// 2. returned array sorted in increasing order.
// For example:
// get_odd_collatz(5) returns [1, 5] # The collatz sequence for 5 is [5, 16, 8, 4, 2, 1], so the odd numbers are only 1, and 5.
// getOddCollatz(n: 5) == [1, 5]
func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    while n != 1 {
        if n % 2 == 0 {
            n /= 2
        } else {
            n = 3 * n + 1
        }
        collatzSequence.append(n)
    }
    return Array(Set(collatzSequence.filter { $0 % 2 != 0 })).sorted()
}
```

n /= 2 // left side of mutating operator isn't mutable: 'n' is a 'let' constant
n = 3 * n + 1 // cannot assign to value: 'n' is a 'let' constant

func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    while n != 1 {
        if n % 2 == 0 {
            n /= 2
        } else {
            n = 3 * n + 1
        }
        collatzSequence.append(n)
    }
    return collatzSequence.filter { $0 % 2 != 0 }.sorted()
}
```swift
// Given a positive integer n, return a sorted array that has the odd numbers in collatz sequence.
// The Collatz conjecture is a conjecture in mathematics that concerns a sequence defined
// as follows: start with any positive integer n. Then each term is obtained from the 
// previous term as follows: if the previous term is even, the next term is one half of 
// the previous term. If the previous term is odd, the next term is 3 times the previous
// term plus 1. The conjecture is that no matter what value of n, the sequence will always reach 1.
// Note: 
// 1. Collatz(1) is [1].
// 2. returned array sorted in increasing order.
// For example:
// get_odd_collatz(5) returns [1, 5] # The collatz sequence for 5 is [5, 16, 8, 4, 2, 1], so the odd numbers are only 1, and 5.
// getOddCollatz(n: 5) == [1, 5]
func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    while n != 1 {
        if n % 2 == 0 {
            n /= 2
        } else {
            n = 3 * n + 1
        }
        collatzSequence.append(n)
    }
    return collatzSequence.filter { $0 % 2 != 0 }.sorted()
}
```

n /= 2 // left side of mutating operator isn't mutable: 'n' is a 'let' constant
n = 3 * n + 1 // cannot assign to value: 'n' is a 'let' constant

func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    while n != 1 {
        if n % 2 == 0 {
            n /= 2
        } else {
            n = 3 * n + 1
        }
        collatzSequence.append(n)
    }
    return Array(Set(collatzSequence.filter { $0 % 2 != 0 })).sorted()
}
```swift
// Given a positive integer n, return a sorted array that has the odd numbers in collatz sequence.
// The Collatz conjecture is a conjecture in mathematics that concerns a sequence defined
// as follows: start with any positive integer n. Then each term is obtained from the 
// previous term as follows: if the previous term is even, the next term is one half of 
// the previous term. If the previous term is odd, the next term is 3 times the previous
// term plus 1. The conjecture is that no matter what value of n, the sequence will always reach 1.
// Note: 
// 1. Collatz(1) is [1].
// 2. returned array sorted in increasing order.
// For example:
// get_odd_collatz(5) returns [1, 5] # The collatz sequence for 5 is [5, 16, 8, 4, 2, 1], so the odd numbers are only 1, and 5.
// getOddCollatz(n: 5) == [1, 5]
func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    while n != 1 {
        if n % 2 == 0 {
            n /= 2
        } else {
            n = 3 * n + 1
        }
        collatzSequence.append(n)
    }
    return Array(Set(collatzSequence.filter { $0 % 2 != 0 })).sorted()
}
```

n /= 2 // left side of mutating operator isn't mutable: 'n' is a 'let' constant
n = 3 * n + 1 // cannot assign to value: 'n' is a 'let' constant

func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = currentNumber * 3 + 1
        }
        collatzSequence.append(currentNumber)
    }
    return collatzSequence.filter { $0 % 2 != 0 }.sorted()
}
```swift
// Given a positive integer n, return a sorted array that has the odd numbers in collatz sequence.
// The Collatz conjecture is a conjecture in mathematics that concerns a sequence defined
// as follows: start with any positive integer n. Then each term is obtained from the 
// previous term as follows: if the previous term is even, the next term is one half of 
// the previous term. If the previous term is odd, the next term is 3 times the previous
// term plus 1. The conjecture is that no matter what value of n, the sequence will always reach 1.
// Note: 
// 1. Collatz(1) is [1].
// 2. returned array sorted in increasing order.
// For example:
// get_odd_collatz(5) returns [1, 5] # The collatz sequence for 5 is [5, 16, 8, 4, 2, 1], so the odd numbers are only 1, and 5.
// getOddCollatz(n: 5) == [1, 5]
func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = currentNumber * 3 + 1
        }
        collatzSequence.append(currentNumber)
    }
    return collatzSequence.filter { $0 % 2 != 0 }.sorted()
}
```

func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    while n != 1 {
        if n % 2 == 0 {
            n /= 2
        } else {
            n = 3 * n + 1
        }
        collatzSequence.append(n)
    }
    return Array(Set(collatzSequence.filter { $0 % 2 != 0 })).sorted()
}
```swift
// Given a positive integer n, return a sorted array that has the odd numbers in collatz sequence.
// The Collatz conjecture is a conjecture in mathematics that concerns a sequence defined
// as follows: start with any positive integer n. Then each term is obtained from the 
// previous term as follows: if the previous term is even, the next term is one half of 
// the previous term. If the previous term is odd, the next term is 3 times the previous
// term plus 1. The conjecture is that no matter what value of n, the sequence will always reach 1.
// Note: 
// 1. Collatz(1) is [1].
// 2. returned array sorted in increasing order.
// For example:
// get_odd_collatz(5) returns [1, 5] # The collatz sequence for 5 is [5, 16, 8, 4, 2, 1], so the odd numbers are only 1, and 5.
// getOddCollatz(n: 5) == [1, 5]
func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    while n != 1 {
        if n % 2 == 0 {
            n /= 2
        } else {
            n = 3 * n + 1
        }
        collatzSequence.append(n)
    }
    return Array(Set(collatzSequence.filter { $0 % 2 != 0 })).sorted()
}
```

n /= 2 // left side of mutating operator isn't mutable: 'n' is a 'let' constant
n = 3 * n + 1 // cannot assign to value: 'n' is a 'let' constant

func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = currentNumber * 3 + 1
        }
        collatzSequence.append(currentNumber)
    }
    let oddNumbers = collatzSequence.filter { $0 % 2 != 0 }
    return oddNumbers.sorted()
}
```swift
// Given a positive integer n, return a sorted array that has the odd numbers in collatz sequence.
// The Collatz conjecture is a conjecture in mathematics that concerns a sequence defined
// as follows: start with any positive integer n. Then each term is obtained from the 
// previous term as follows: if the previous term is even, the next term is one half of 
// the previous term. If the previous term is odd, the next term is 3 times the previous
// term plus 1. The conjecture is that no matter what value of n, the sequence will always reach 1.
// Note: 
// 1. Collatz(1) is [1].
// 2. returned array sorted in increasing order.
// For example:
// get_odd_collatz(5) returns [1, 5] # The collatz sequence for 5 is [5, 16, 8, 4, 2, 1], so the odd numbers are only 1, and 5.
// getOddCollatz(n: 5) == [1, 5]
func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = currentNumber * 3 + 1
        }
        collatzSequence.append(currentNumber)
    }
    let oddNumbers = collatzSequence.filter { $0 % 2 != 0 }
    return oddNumbers.sorted()
}
```

func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = currentNumber * 3 + 1
        }
        collatzSequence.append(currentNumber)
    }
    return Array(Set(collatzSequence.filter { $0 % 2 != 0 })).sorted()
}
```swift
// Given a positive integer n, return a sorted array that has the odd numbers in collatz sequence.
// The Collatz conjecture is a conjecture in mathematics that concerns a sequence defined
// as follows: start with any positive integer n. Then each term is obtained from the 
// previous term as follows: if the previous term is even, the next term is one half of 
// the previous term. If the previous term is odd, the next term is 3 times the previous
// term plus 1. The conjecture is that no matter what value of n, the sequence will always reach 1.
// Note: 
// 1. Collatz(1) is [1].
// 2. returned array sorted in increasing order.
// For example:
// get_odd_collatz(5) returns [1, 5] # The collatz sequence for 5 is [5, 16, 8, 4, 2, 1], so the odd numbers are only 1, and 5.
// getOddCollatz(n: 5) == [1, 5]
func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = currentNumber * 3 + 1
        }
        collatzSequence.append(currentNumber)
    }
    return Array(Set(collatzSequence.filter { $0 % 2 != 0 })).sorted()
}
```

func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = currentNumber * 3 + 1
        }
        collatzSequence.append(currentNumber)
    }
    return collatzSequence.filter { $0 % 2 != 0 }.sorted()
}
```swift
// Given a positive integer n, return a sorted array that has the odd numbers in collatz sequence.
// The Collatz conjecture is a conjecture in mathematics that concerns a sequence defined
// as follows: start with any positive integer n. Then each term is obtained from the 
// previous term as follows: if the previous term is even, the next term is one half of 
// the previous term. If the previous term is odd, the next term is 3 times the previous
// term plus 1. The conjecture is that no matter what value of n, the sequence will always reach 1.
// Note: 
// 1. Collatz(1) is [1].
// 2. returned array sorted in increasing order.
// For example:
// get_odd_collatz(5) returns [1, 5] # The collatz sequence for 5 is [5, 16, 8, 4, 2, 1], so the odd numbers are only 1, and 5.
// getOddCollatz(n: 5) == [1, 5]
func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = currentNumber * 3 + 1
        }
        collatzSequence.append(currentNumber)
    }
    return collatzSequence.filter { $0 % 2 != 0 }.sorted()
}

// Check function to verify the correctness of the solution
func check() {
    assert(getOddCollatz(n: 5) == [1, 5], "Test case 1 failed")
    assert(getOddCollatz(n: 10) == [1, 5], "Test case 2 failed")
    assert(getOddCollatz(n: 1) == [1], "Test case 3 failed")
    assert(getOddCollatz(n: 7) == [1, 7, 11, 17, 25, 37, 55, 83, 125, 189, 285, 429, 645, 969, 1455, 2183, 3275, 4913, 7371, 11059, 16591, 24887, 37331, 56001, 84003, 126005, 189009, 283515, 425273, 637911, 956867, 1435301, 2152953, 3229431, 4844147, 7266221, 10899333, 16349001, 24523503, 36785255, 55177883, 82766825, 124150239, 186225359, 279338039, 418907059, 628360639, 942541019, 1413811529, 2120717295, 3181075943, 4771613915, 7157420873, 10736131311, 16104196967, 24156295451, 36234443177, 54351664767, 81527497151, 122291245727, 183436868591, 275155302887, 412732954331, 619099431501, 928649147253, 1392973720881, 2089460581323, 3134190871985, 4701286307977, 7051929461967, 10577894192951, 15866841289429, 23799761934143, 35699642901215, 53549464351823, 80324196527735, 120486294791599, 180729442187399, 271094163281099, 406641244921649, 609961867382475, 914

func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = 3 * currentNumber + 1
        }
        collatzSequence.append(currentNumber)
    }
    let oddNumbers = collatzSequence.filter { $0 % 2 != 0 }
    return oddNumbers.sorted()
}
```swift
// Given a positive integer n, return a sorted array that has the odd numbers in collatz sequence.
// The Collatz conjecture is a conjecture in mathematics that concerns a sequence defined
// as follows: start with any positive integer n. Then each term is obtained from the 
// previous term as follows: if the previous term is even, the next term is one half of 
// the previous term. If the previous term is odd, the next term is 3 times the previous
// term plus 1. The conjecture is that no matter what value of n, the sequence will always reach 1.
// Note: 
// 1. Collatz(1) is [1].
// 2. returned array sorted in increasing order.
// For example:
// get_odd_collatz(5) returns [1, 5] # The collatz sequence for 5 is [5, 16, 8, 4, 2, 1], so the odd numbers are only 1, and 5.
// getOddCollatz(n: 5) == [1, 5]
func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = 3 * currentNumber + 1
        }
        collatzSequence.append(currentNumber)
    }
    let oddNumbers = collatzSequence.filter { $0 % 2 != 0 }
    return oddNumbers.sorted()
}
```

func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = currentNumber * 3 + 1
        }
        collatzSequence.append(currentNumber)
    }
    return Array(Set(collatzSequence.filter { $0 % 2 != 0 })).sorted()
}
```swift
// Given a positive integer n, return a sorted array that has the odd numbers in collatz sequence.
// The Collatz conjecture is a conjecture in mathematics that concerns a sequence defined
// as follows: start with any positive integer n. Then each term is obtained from the 
// previous term as follows: if the previous term is even, the next term is one half of 
// the previous term. If the previous term is odd, the next term is 3 times the previous
// term plus 1. The conjecture is that no matter what value of n, the sequence will always reach 1.
// Note: 
// 1. Collatz(1) is [1].
// 2. returned array sorted in increasing order.
// For example:
// get_odd_collatz(5) returns [1, 5] # The collatz sequence for 5 is [5, 16, 8, 4, 2, 1], so the odd numbers are only 1, and 5.
// getOddCollatz(n: 5) == [1, 5]
func getOddCollatz(n: Int) -> [Int] {
    var collatzSequence = [n]
    var currentNumber = n
    while currentNumber != 1 {
        if currentNumber % 2 == 0 {
            currentNumber /= 2
        } else {
            currentNumber = currentNumber * 3 + 1
        }
        collatzSequence.append(currentNumber)
    }
    return Array(Set(collatzSequence.filter { $0 % 2 != 0 })).sorted()
}
```

func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let _ = dateFormatter.date(from: date) {
        return true
    } else {
        return false
    }
}
```swift
// You have to write a function which validates a given date string and
// returns true if the date is valid otherwise false.
// The date is valid if all of the following rules are satisfied:
// 1. The date string is not empty.
// 2. The number of days is not less than 1 or higher than 31 days for months 1,3,5,7,8,10,12. And the number of days is not less than 1 or higher than 30 days for months 4,6,9,11. And, the number of days is not less than 1 or higher than 29 for the month 2.
// 3. The months should not be less than 1 or higher than 12.
// 4. The date should be in the format: mm-dd-yyyy
// validDate(date: "03-11-2000") == true
// validDate(date: "15-01-2012") == false
// validDate(date: "04-0-2040") == false
// validDate(date: "06-04-2020") == true
// validDate(date: "06/04/2020") == false
func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let _ = dateFormatter.date(from: date) {
        return true
    } else {
        return false
    }
}
```

func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let _ = dateFormatter.date(from: date) {
        return true
    } else {
        return false
    }
}
```swift
// You have to write a function which validates a given date string and
// returns true if the date is valid otherwise false.
// The date is valid if all of the following rules are satisfied:
// 1. The date string is not empty.
// 2. The number of days is not less than 1 or higher than 31 days for months 1,3,5,7,8,10,12. And the number of days is not less than 1 or higher than 30 days for months 4,6,9,11. And, the number of days is not less than 1 or higher than 29 for the month 2.
// 3. The months should not be less than 1 or higher than 12.
// 4. The date should be in the format: mm-dd-yyyy
// validDate(date: "03-11-2000") == true
// validDate(date: "15-01-2012") == false
// validDate(date: "04-0-2040") == false
// validDate(date: "06-04-2020") == true
// validDate(date: "06/04/2020") == false
func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let _ = dateFormatter.date(from: date) {
        return true
    } else {
        return false
    }
}
```

func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let _ = dateFormatter.date(from: date) {
        return true
    } else {
        return false
    }
}
```swift
// You have to write a function which validates a given date string and
// returns true if the date is valid otherwise false.
// The date is valid if all of the following rules are satisfied:
// 1. The date string is not empty.
// 2. The number of days is not less than 1 or higher than 31 days for months 1,3,5,7,8,10,12. And the number of days is not less than 1 or higher than 30 days for months 4,6,9,11. And, the number of days is not less than 1 or higher than 29 for the month 2.
// 3. The months should not be less than 1 or higher than 12.
// 4. The date should be in the format: mm-dd-yyyy
// validDate(date: "03-11-2000") == true
// validDate(date: "15-01-2012") == false
// validDate(date: "04-0-2040") == false
// validDate(date: "06-04-2020") == true
// validDate(date: "06/04/2020") == false
func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let _ = dateFormatter.date(from: date) {
        return true
    } else {
        return false
    }
}
```

func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let date = dateFormatter.date(from: date) {
        let components = Calendar.current.dateComponents([.month, .day, .year], from: date)
        let month = components.month ?? 0
        let day = components.day ?? 0
        let year = components.year ?? 0
        if month < 1 || month > 12 {
            return false
        }
        if day < 1 || day > 31 {
            return false
        }
        if month == 2 && day > 29 {
            return false
        }
        if month == 4 || month == 6 || month == 9 || month == 11 && day > 30 {
            return false
        }
        return true
    }
    return false
}
```swift
// You have to write a function which validates a given date string and
// returns true if the date is valid otherwise false.
// The date is valid if all of the following rules are satisfied:
// 1. The date string is not empty.
// 2. The number of days is not less than 1 or higher than 31 days for months 1,3,5,7,8,10,12. And the number of days is not less than 1 or higher than 30 days for months 4,6,9,11. And, the number of days is not less than 1 or higher than 29 for the month 2.
// 3. The months should not be less than 1 or higher than 12.
// 4. The date should be in the format: mm-dd-yyyy
// validDate(date: "03-11-2000") == true
// validDate(date: "15-01-2012") == false
// validDate(date: "04-0-2040") == false
// validDate(date: "06-04-2020") == true
// validDate(date: "06/04/2020") == false
func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let date = dateFormatter.date(from: date) {
        let components = Calendar.current.dateComponents([.month, .day, .year], from: date)
        let month = components.month ?? 0
        let day = components.day ?? 0
        let year = components.year ?? 0
        if month < 1 || month > 12 {
            return false
        }
        if day < 1 || day > 31 {
            return false
        }
        if month == 2 && day > 29 {
            return false
        }
        if month == 4 || month == 6 || month == 9 || month == 11 && day > 30 {
            return false
        }
        return true
    }
    return false
}
```

let year = components.year ?? 0 // initialization of immutable value 'year' was never used; consider replacing with assignment to '_' or removing it
 // XCTAssertTrue failed

func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let date = dateFormatter.date(from: date) {
        let calendar = Calendar.current
        let components = calendar.dateComponents([.month, .day, .year], from: date)
        let month = components.month ?? 0
        let day = components.day ?? 0
        let year = components.year ?? 0
        if month < 1 || month > 12 {
            return false
        }
        if day < 1 || day > 31 {
            return false
        }
        if month == 2 && day > 29 {
            return false
        }
        if month == 4 || month == 6 || month == 9 || month == 11 && day > 30 {
            return false
        }
        return true
    } else {
        return false
    }
}
```swift
// You have to write a function which validates a given date string and
// returns true if the date is valid otherwise false.
// The date is valid if all of the following rules are satisfied:
// 1. The date string is not empty.
// 2. The number of days is not less than 1 or higher than 31 days for months 1,3,5,7,8,10,12. And the number of days is not less than 1 or higher than 30 days for months 4,6,9,11. And, the number of days is not less than 1 or higher than 29 for the month 2.
// 3. The months should not be less than 1 or higher than 12.
// 4. The date should be in the format: mm-dd-yyyy
// validDate(date: "03-11-2000") == true
// validDate(date: "15-01-2012") == false
// validDate(date: "04-0-2040") == false
// validDate(date: "06-04-2020") == true
// validDate(date: "06/04/2020") == false
func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let date = dateFormatter.date(from: date) {
        let calendar = Calendar.current
        let components = calendar.dateComponents([.month, .day, .year], from: date)
        let month = components.month ?? 0
        let day = components.day ?? 0
        let year = components.year ?? 0
        if month < 1 || month > 12 {
            return false
        }
        if day < 1 || day > 31 {
            return false
        }
        if month == 2 && day > 29 {
            return false
        }
        if month == 4 || month == 6 || month == 9 || month == 11 && day > 30 {
            return false
        }
        return true
    } else {
        return false
    }
}
```
let year = components.year ?? 0 // initialization of immutable value 'year' was never used; consider replacing with assignment to '_' or removing it
 // XCTAssertTrue failed

func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let _ = dateFormatter.date(from: date) {
        return true
    } else {
        return false
    }
}
```swift
// You have to write a function which validates a given date string and
// returns true if the date is valid otherwise false.
// The date is valid if all of the following rules are satisfied:
// 1. The date string is not empty.
// 2. The number of days is not less than 1 or higher than 31 days for months 1,3,5,7,8,10,12. And the number of days is not less than 1 or higher than 30 days for months 4,6,9,11. And, the number of days is not less than 1 or higher than 29 for the month 2.
// 3. The months should not be less than 1 or higher than 12.
// 4. The date should be in the format: mm-dd-yyyy
// validDate(date: "03-11-2000") == true
// validDate(date: "15-01-2012") == false
// validDate(date: "04-0-2040") == false
// validDate(date: "06-04-2020") == true
// validDate(date: "06/04/2020") == false
func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let _ = dateFormatter.date(from: date) {
        return true
    } else {
        return false
    }
}
```

func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let date = dateFormatter.date(from: date) {
        let components = Calendar.current.dateComponents([.month, .day, .year], from: date)
        let month = components.month ?? 0
        let day = components.day ?? 0
        let year = components.year ?? 0
        if month < 1 || month > 12 {
            return false
        }
        if month == 2 {
            if day < 1 || day > 29 {
                return false
            }
        } else if month == 4 || month == 6 || month == 9 || month == 11 {
            if day < 1 || day > 30 {
                return false
            }
        } else {
            if day < 1 || day > 31 {
                return false
            }
        }
        return true
    }
    return false
}
```swift
// You have to write a function which validates a given date string and
// returns true if the date is valid otherwise false.
// The date is valid if all of the following rules are satisfied:
// 1. The date string is not empty.
// 2. The number of days is not less than 1 or higher than 31 days for months 1,3,5,7,8,10,12. And the number of days is not less than 1 or higher than 30 days for months 4,6,9,11. And, the number of days is not less than 1 or higher than 29 for the month 2.
// 3. The months should not be less than 1 or higher than 12.
// 4. The date should be in the format: mm-dd-yyyy
// validDate(date: "03-11-2000") == true
// validDate(date: "15-01-2012") == false
// validDate(date: "04-0-2040") == false
// validDate(date: "06-04-2020") == true
// validDate(date: "06/04/2020") == false
func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let date = dateFormatter.date(from: date) {
        let components = Calendar.current.dateComponents([.month, .day, .year], from: date)
        let month = components.month ?? 0
        let day = components.day ?? 0
        let year = components.year ?? 0
        if month < 1 || month > 12 {
            return false
        }
        if month == 2 {
            if day < 1 || day > 29 {
                return false
            }
        } else if month == 4 || month == 6 || month == 9 || month == 11 {
            if day < 1 || day > 30 {
                return false
            }
        } else {
            if day < 1 || day > 31 {
                return false
            }
        }
        return true
    }
    return false
}
```

let year = components.year ?? 0 // initialization of immutable value 'year' was never used; consider replacing with assignment to '_' or removing it

func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let _ = dateFormatter.date(from: date) {
        return true
    } else {
        return false
    }
}
```swift
// You have to write a function which validates a given date string and
// returns true if the date is valid otherwise false.
// The date is valid if all of the following rules are satisfied:
// 1. The date string is not empty.
// 2. The number of days is not less than 1 or higher than 31 days for months 1,3,5,7,8,10,12. And the number of days is not less than 1 or higher than 30 days for months 4,6,9,11. And, the number of days is not less than 1 or higher than 29 for the month 2.
// 3. The months should not be less than 1 or higher than 12.
// 4. The date should be in the format: mm-dd-yyyy
// validDate(date: "03-11-2000") == true
// validDate(date: "15-01-2012") == false
// validDate(date: "04-0-2040") == false
// validDate(date: "06-04-2020") == true
// validDate(date: "06/04/2020") == false
func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let _ = dateFormatter.date(from: date) {
        return true
    } else {
        return false
    }
}
```

func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let date = dateFormatter.date(from: date) {
        let calendar = Calendar.current
        let components = calendar.dateComponents([.year, .month, .day], from: date)
        let year = components.year ?? 0
        let month = components.month ?? 0
        let day = components.day ?? 0
        if month < 1 || month > 12 || day < 1 || day > 31 {
            return false
        }
        if month == 2 && day > 29 {
            return false
        }
        if month == 4 || month == 6 || month == 9 || month == 11 && day > 30 {
            return false
        }
        return true
    } else {
        return false
    }
}
```swift
// You have to write a function which validates a given date string and
// returns true if the date is valid otherwise false.
// The date is valid if all of the following rules are satisfied:
// 1. The date string is not empty.
// 2. The number of days is not less than 1 or higher than 31 days for months 1,3,5,7,8,10,12. And the number of days is not less than 1 or higher than 30 days for months 4,6,9,11. And, the number of days is not less than 1 or higher than 29 for the month 2.
// 3. The months should not be less than 1 or higher than 12.
// 4. The date should be in the format: mm-dd-yyyy
// validDate(date: "03-11-2000") == true
// validDate(date: "15-01-2012") == false
// validDate(date: "04-0-2040") == false
// validDate(date: "06-04-2020") == true
// validDate(date: "06/04/2020") == false
func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let date = dateFormatter.date(from: date) {
        let calendar = Calendar.current
        let components = calendar.dateComponents([.year, .month, .day], from: date)
        let year = components.year ?? 0
        let month = components.month ?? 0
        let day = components.day ?? 0
        if month < 1 || month > 12 || day < 1 || day > 31 {
            return false
        }
        if month == 2 && day > 29 {
            return false
        }
        if month == 4 || month == 6 || month == 9 || month == 11 && day > 30 {
            return false
        }
        return true
    } else {
        return false
    }
}
```

let year = components.year ?? 0 // initialization of immutable value 'year' was never used; consider replacing with assignment to '_' or removing it
 // XCTAssertTrue failed

func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let date = dateFormatter.date(from: date) {
        let components = Calendar.current.dateComponents([.month, .day, .year], from: date)
        let month = components.month ?? 0
        let day = components.day ?? 0
        let year = components.year ?? 0
        if month < 1 || month > 12 {
            return false
        }
        if day < 1 || day > 31 {
            return false
        }
        if month == 2 && day > 29 {
            return false
        }
        if month == 4 || month == 6 || month == 9 || month == 11 && day > 30 {
            return false
        }
        return true
    }
    return false
}
```swift
// You have to write a function which validates a given date string and
// returns true if the date is valid otherwise false.
// The date is valid if all of the following rules are satisfied:
// 1. The date string is not empty.
// 2. The number of days is not less than 1 or higher than 31 days for months 1,3,5,7,8,10,12. And the number of days is not less than 1 or higher than 30 days for months 4,6,9,11. And, the number of days is not less than 1 or higher than 29 for the month 2.
// 3. The months should not be less than 1 or higher than 12.
// 4. The date should be in the format: mm-dd-yyyy
// validDate(date: "03-11-2000") == true
// validDate(date: "15-01-2012") == false
// validDate(date: "04-0-2040") == false
// validDate(date: "06-04-2020") == true
// validDate(date: "06/04/2020") == false
func validDate(date: String) -> Bool {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"
    if let date = dateFormatter.date(from: date) {
        let components = Calendar.current.dateComponents([.month, .day, .year], from: date)
        let month = components.month ?? 0
        let day = components.day ?? 0
        let year = components.year ?? 0
        if month < 1 || month > 12 {
            return false
        }
        if day < 1 || day > 31 {
            return false
        }
        if month == 2 && day > 29 {
            return false
        }
        if month == 4 || month == 6 || month == 9 || month == 11 && day > 30 {
            return false
        }
        return true
    }
    return false
}
```

let year = components.year ?? 0 // initialization of immutable value 'year' was never used; consider replacing with assignment to '_' or removing it
 // XCTAssertTrue failed

extension Int: Error {

}

func splitWords(txt: String) -> Result<[String], Int> {
    // Your code here
}
```swift
extension Int: Error {

}

// Given a string of words, return an array of words split on whitespace, if no whitespaces exists in the text you
// should split on commas ',' if no commas exists you should return the number of lower-case letters with odd order in the
// alphabet, ord('a') = 0, ord('b') = 1, ... ord('z') = 25
// Examples
// splitWords(txt: "Hello world!") == .success(["Hello", "world!"])
// splitWords(txt: "Hello,world!") == .success(["Hello", "world!"])
// splitWords(txt: "abcdef") == .failure(3)
func splitWords(txt: String) -> Result<[String], Int> {
    // Your code here
}
```

} // missing return in global function expected to return 'Result<[String], Int>'

extension Int: Error {

}

func splitWords(txt: String) -> Result<[String], Int> {
    // your code here
}
```swift
extension Int: Error {

}

// Given a string of words, return an array of words split on whitespace, if no whitespaces exists in the text you
// should split on commas ',' if no commas exists you should return the number of lower-case letters with odd order in the
// alphabet, ord('a') = 0, ord('b') = 1, ... ord('z') = 25
// Examples
// splitWords(txt: "Hello world!") == .success(["Hello", "world!"])
// splitWords(txt: "Hello,world!") == .success(["Hello", "world!"])
// splitWords(txt: "abcdef") == .failure(3)
func splitWords(txt: String) -> Result<[String], Int> {
    // your code here
}
```

} // missing return in global function expected to return 'Result<[String], Int>'

extension Int: Error {

}

func splitWords(txt: String) -> Result<[String], Int> {
    // your code here
}
```swift
extension Int: Error {

}

// Given a string of words, return an array of words split on whitespace, if no whitespaces exists in the text you
// should split on commas ',' if no commas exists you should return the number of lower-case letters with odd order in the
// alphabet, ord('a') = 0, ord('b') = 1, ... ord('z') = 25
// Examples
// splitWords(txt: "Hello world!") == .success(["Hello", "world!"])
// splitWords(txt: "Hello,world!") == .success(["Hello", "world!"])
// splitWords(txt: "abcdef") == .failure(3)
func splitWords(txt: String) -> Result<[String], Int> {
    // your code here
}
```

} // missing return in global function expected to return 'Result<[String], Int>'

extension Int: Error {

}

func splitWords(txt: String) -> Result<[String], Int> {
    if let whitespaceIndex = txt.firstIndex(of: " ") {
        return .success(txt.split(separator: " ").map(String.init))
    } else if let commaIndex = txt.firstIndex(of: ",") {
        return .success(txt.split(separator: ",").map(String.init))
    } else {
        let oddCount = txt.filter { $0.isLowercase && $0.asciiValue! % 2 == 1 }.count
        return .failure(oddCount)
    }
}
```swift
extension Int: Error {

}

// Given a string of words, return an array of words split on whitespace, if no whitespaces exists in the text you
// should split on commas ',' if no commas exists you should return the number of lower-case letters with odd order in the
// alphabet, ord('a') = 0, ord('b') = 1, ... ord('z') = 25
// Examples
// splitWords(txt: "Hello world!") == .success(["Hello", "world!"])
// splitWords(txt: "Hello,world!") == .success(["Hello", "world!"])
// splitWords(txt: "abcdef") == .failure(3)
func splitWords(txt: String) -> Result<[String], Int> {
    if let whitespaceIndex = txt.firstIndex(of: " ") {
        return .success(txt.split(separator: " ").map(String.init))
    } else if let commaIndex = txt.firstIndex(of: ",") {
        return .success(txt.split(separator: ",").map(String.init))
    } else {
        let oddCount = txt.filter { $0.isLowercase && $0.asciiValue! % 2 == 1 }.count
        return .failure(oddCount)
    }
}
```

if let whitespaceIndex = txt.firstIndex(of: " ") { // value 'whitespaceIndex' was defined but never used; consider replacing with boolean test
} else if let commaIndex = txt.firstIndex(of: ",") { // value 'commaIndex' was defined but never used; consider replacing with boolean test
 // XCTAssertTrue failed

extension Int: Error {

}

func splitWords(txt: String) -> Result<[String], Int> {
    // Your code here
}
```swift
extension Int: Error {

}

// Given a string of words, return an array of words split on whitespace, if no whitespaces exists in the text you
// should split on commas ',' if no commas exists you should return the number of lower-case letters with odd order in the
// alphabet, ord('a') = 0, ord('b') = 1, ... ord('z') = 25
// Examples
// splitWords(txt: "Hello world!") == .success(["Hello", "world!"])
// splitWords(txt: "Hello,world!") == .success(["Hello", "world!"])
// splitWords(txt: "abcdef") == .failure(3)
func splitWords(txt: String) -> Result<[String], Int> {
    // Your code here
}
```

} // missing return in global function expected to return 'Result<[String], Int>'

extension Int: Error {

}

func splitWords(txt: String) -> Result<[String], Int> {
    if let whitespaceIndex = txt.firstIndex(of: " ") {
        return .success(txt.split(separator: " ").map { String($0) })
    } else if let commaIndex = txt.firstIndex(of: ",") {
        return .success(txt.split(separator: ",").map { String($0) })
    } else {
        let oddCount = txt.filter { $0.isLowercase && $0.asciiValue! % 2 == 1 }.count
        return .failure(oddCount)
    }
}
```swift
extension Int: Error {

}

// Given a string of words, return an array of words split on whitespace, if no whitespaces exists in the text you
// should split on commas ',' if no commas exists you should return the number of lower-case letters with odd order in the
// alphabet, ord('a') = 0, ord('b') = 1, ... ord('z') = 25
// Examples
// splitWords(txt: "Hello world!") == .success(["Hello", "world!"])
// splitWords(txt: "Hello,world!") == .success(["Hello", "world!"])
// splitWords(txt: "abcdef") == .failure(3)
func splitWords(txt: String) -> Result<[String], Int> {
    if let whitespaceIndex = txt.firstIndex(of: " ") {
        return .success(txt.split(separator: " ").map { String($0) })
    } else if let commaIndex = txt.firstIndex(of: ",") {
        return .success(txt.split(separator: ",").map { String($0) })
    } else {
        let oddCount = txt.filter { $0.isLowercase && $0.asciiValue! % 2 == 1 }.count
        return .failure(oddCount)
    }
}
```

if let whitespaceIndex = txt.firstIndex(of: " ") { // value 'whitespaceIndex' was defined but never used; consider replacing with boolean test
} else if let commaIndex = txt.firstIndex(of: ",") { // value 'commaIndex' was defined but never used; consider replacing with boolean test
 // XCTAssertTrue failed

extension Int: Error {

}

func splitWords(txt: String) -> Result<[String], Int> {
    // your code here
}
```swift
extension Int: Error {

}

// Given a string of words, return an array of words split on whitespace, if no whitespaces exists in the text you
// should split on commas ',' if no commas exists you should return the number of lower-case letters with odd order in the
// alphabet, ord('a') = 0, ord('b') = 1, ... ord('z') = 25
// Examples
// splitWords(txt: "Hello world!") == .success(["Hello", "world!"])
// splitWords(txt: "Hello,world!") == .success(["Hello", "world!"])
// splitWords(txt: "abcdef") == .failure(3)
func splitWords(txt: String) -> Result<[String], Int> {
    // your code here
}
```

} // missing return in global function expected to return 'Result<[String], Int>'

extension Int: Error {

}

func splitWords(txt: String) -> Result<[String], Int> {
    if let split = txt.split(separator: " ").first {
        return .success(Array(split))
    } else if let split = txt.split(separator: ",").first {
        return .success(Array(split))
    } else {
        let oddCount = txt.filter { $0.isLowercase && $0.asciiValue! % 2 != 0 }.count
        return .failure(oddCount)
    }
}
```swift
extension Int: Error {

}

// Given a string of words, return an array of words split on whitespace, if no whitespaces exists in the text you
// should split on commas ',' if no commas exists you should return the number of lower-case letters with odd order in the
// alphabet, ord('a') = 0, ord('b') = 1, ... ord('z') = 25
// Examples
// splitWords(txt: "Hello world!") == .success(["Hello", "world!"])
// splitWords(txt: "Hello,world!") == .success(["Hello", "world!"])
// splitWords(txt: "abcdef") == .failure(3)
func splitWords(txt: String) -> Result<[String], Int> {
    if let split = txt.split(separator: " ").first {
        return .success(Array(split))
    } else if let split = txt.split(separator: ",").first {
        return .success(Array(split))
    } else {
        let oddCount = txt.filter { $0.isLowercase && $0.asciiValue! % 2 != 0 }.count
        return .failure(oddCount)
    }
}
```

return .success(Array(split)) // cannot convert value of type 'Array<Substring.Element>' (aka 'Array<Character>') to expected argument type '[String]'
return .success(Array(split)) // cannot convert value of type 'Array<Substring.Element>' (aka 'Array<Character>') to expected argument type '[String]'

extension Int: Error {

}

func splitWords(txt: String) -> Result<[String], Int> {
    // Your code here
}
```swift
extension Int: Error {

}

// Given a string of words, return an array of words split on whitespace, if no whitespaces exists in the text you
// should split on commas ',' if no commas exists you should return the number of lower-case letters with odd order in the
// alphabet, ord('a') = 0, ord('b') = 1, ... ord('z') = 25
// Examples
// splitWords(txt: "Hello world!") == .success(["Hello", "world!"])
// splitWords(txt: "Hello,world!") == .success(["Hello", "world!"])
// splitWords(txt: "abcdef") == .failure(3)
func splitWords(txt: String) -> Result<[String], Int> {
    // Your code here
}
```

} // missing return in global function expected to return 'Result<[String], Int>'

extension Int: Error {

}

func splitWords(txt: String) -> Result<[String], Int> {
    // Your code here
}
```swift
extension Int: Error {

}

// Given a string of words, return an array of words split on whitespace, if no whitespaces exists in the text you
// should split on commas ',' if no commas exists you should return the number of lower-case letters with odd order in the
// alphabet, ord('a') = 0, ord('b') = 1, ... ord('z') = 25
// Examples
// splitWords(txt: "Hello world!") == .success(["Hello", "world!"])
// splitWords(txt: "Hello,world!") == .success(["Hello", "world!"])
// splitWords(txt: "abcdef") == .failure(3)
func splitWords(txt: String) -> Result<[String], Int> {
    // Your code here
}
```

} // missing return in global function expected to return 'Result<[String], Int>'

func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```swift
// Given an array of numbers, return whether or not they are sorted
// in ascending order. If array has more than 1 duplicate of the same
// number, return false. Assume no negative numbers and only integers.
// Examples
// isSorted(lst: [5]) == true
// isSorted(lst: [1, 2, 3, 4, 5]) == true
// isSorted(lst: [1, 3, 2, 4, 5]) == false
// isSorted(lst: [1, 2, 3, 4, 5, 6]) == true
// isSorted(lst: [1, 2, 3, 4, 5, 6, 7]) == true
// isSorted(lst: [1, 3, 2, 4, 5, 6, 7]) == false
// isSorted(lst: [1, 2, 2, 3, 3, 4]) == true
// isSorted(lst: [1, 2, 2, 2, 3, 4]) == false
func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```swift
// Given an array of numbers, return whether or not they are sorted
// in ascending order. If array has more than 1 duplicate of the same
// number, return false. Assume no negative numbers and only integers.
// Examples
// isSorted(lst: [5]) == true
// isSorted(lst: [1, 2, 3, 4, 5]) == true
// isSorted(lst: [1, 3, 2, 4, 5]) == false
// isSorted(lst: [1, 2, 3, 4, 5, 6]) == true
// isSorted(lst: [1, 2, 3, 4, 5, 6, 7]) == true
// isSorted(lst: [1, 3, 2, 4, 5, 6, 7]) == false
// isSorted(lst: [1, 2, 2, 3, 3, 4]) == true
// isSorted(lst: [1, 2, 2, 2, 3, 4]) == false
func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```swift
// Given an array of numbers, return whether or not they are sorted
// in ascending order. If array has more than 1 duplicate of the same
// number, return false. Assume no negative numbers and only integers.
// Examples
// isSorted(lst: [5]) == true
// isSorted(lst: [1, 2, 3, 4, 5]) == true
// isSorted(lst: [1, 3, 2, 4, 5]) == false
// isSorted(lst: [1, 2, 3, 4, 5, 6]) == true
// isSorted(lst: [1, 2, 3, 4, 5, 6, 7]) == true
// isSorted(lst: [1, 3, 2, 4, 5, 6, 7]) == false
// isSorted(lst: [1, 2, 2, 3, 3, 4]) == true
// isSorted(lst: [1, 2, 2, 2, 3, 4]) == false
func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```swift
// Given an array of numbers, return whether or not they are sorted
// in ascending order. If array has more than 1 duplicate of the same
// number, return false. Assume no negative numbers and only integers.
// Examples
// isSorted(lst: [5]) == true
// isSorted(lst: [1, 2, 3, 4, 5]) == true
// isSorted(lst: [1, 3, 2, 4, 5]) == false
// isSorted(lst: [1, 2, 3, 4, 5, 6]) == true
// isSorted(lst: [1, 2, 3, 4, 5, 6, 7]) == true
// isSorted(lst: [1, 3, 2, 4, 5, 6, 7]) == false
// isSorted(lst: [1, 2, 2, 3, 3, 4]) == true
// isSorted(lst: [1, 2, 2, 2, 3, 4]) == false
func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```swift
// Given an array of numbers, return whether or not they are sorted
// in ascending order. If array has more than 1 duplicate of the same
// number, return false. Assume no negative numbers and only integers.
// Examples
// isSorted(lst: [5]) == true
// isSorted(lst: [1, 2, 3, 4, 5]) == true
// isSorted(lst: [1, 3, 2, 4, 5]) == false
// isSorted(lst: [1, 2, 3, 4, 5, 6]) == true
// isSorted(lst: [1, 2, 3, 4, 5, 6, 7]) == true
// isSorted(lst: [1, 3, 2, 4, 5, 6, 7]) == false
// isSorted(lst: [1, 2, 2, 3, 3, 4]) == true
// isSorted(lst: [1, 2, 2, 2, 3, 4]) == false
func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```swift
// Given an array of numbers, return whether or not they are sorted
// in ascending order. If array has more than 1 duplicate of the same
// number, return false. Assume no negative numbers and only integers.
// Examples
// isSorted(lst: [5]) == true
// isSorted(lst: [1, 2, 3, 4, 5]) == true
// isSorted(lst: [1, 3, 2, 4, 5]) == false
// isSorted(lst: [1, 2, 3, 4, 5, 6]) == true
// isSorted(lst: [1, 2, 3, 4, 5, 6, 7]) == true
// isSorted(lst: [1, 3, 2, 4, 5, 6, 7]) == false
// isSorted(lst: [1, 2, 2, 3, 3, 4]) == true
// isSorted(lst: [1, 2, 2, 2, 3, 4]) == false
func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```swift
// Given an array of numbers, return whether or not they are sorted
// in ascending order. If array has more than 1 duplicate of the same
// number, return false. Assume no negative numbers and only integers.
// Examples
// isSorted(lst: [5]) == true
// isSorted(lst: [1, 2, 3, 4, 5]) == true
// isSorted(lst: [1, 3, 2, 4, 5]) == false
// isSorted(lst: [1, 2, 3, 4, 5, 6]) == true
// isSorted(lst: [1, 2, 3, 4, 5, 6, 7]) == true
// isSorted(lst: [1, 3, 2, 4, 5, 6, 7]) == false
// isSorted(lst: [1, 2, 2, 3, 3, 4]) == true
// isSorted(lst: [1, 2, 2, 2, 3, 4]) == false
func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```swift
// Given an array of numbers, return whether or not they are sorted
// in ascending order. If array has more than 1 duplicate of the same
// number, return false. Assume no negative numbers and only integers.
// Examples
// isSorted(lst: [5]) == true
// isSorted(lst: [1, 2, 3, 4, 5]) == true
// isSorted(lst: [1, 3, 2, 4, 5]) == false
// isSorted(lst: [1, 2, 3, 4, 5, 6]) == true
// isSorted(lst: [1, 2, 3, 4, 5, 6, 7]) == true
// isSorted(lst: [1, 3, 2, 4, 5, 6, 7]) == false
// isSorted(lst: [1, 2, 2, 3, 3, 4]) == true
// isSorted(lst: [1, 2, 2, 2, 3, 4]) == false
func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```swift
// Given an array of numbers, return whether or not they are sorted
// in ascending order. If array has more than 1 duplicate of the same
// number, return false. Assume no negative numbers and only integers.
// Examples
// isSorted(lst: [5]) == true
// isSorted(lst: [1, 2, 3, 4, 5]) == true
// isSorted(lst: [1, 3, 2, 4, 5]) == false
// isSorted(lst: [1, 2, 3, 4, 5, 6]) == true
// isSorted(lst: [1, 2, 3, 4, 5, 6, 7]) == true
// isSorted(lst: [1, 3, 2, 4, 5, 6, 7]) == false
// isSorted(lst: [1, 2, 2, 3, 3, 4]) == true
// isSorted(lst: [1, 2, 2, 2, 3, 4]) == false
func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```swift
// Given an array of numbers, return whether or not they are sorted
// in ascending order. If array has more than 1 duplicate of the same
// number, return false. Assume no negative numbers and only integers.
// Examples
// isSorted(lst: [5]) == true
// isSorted(lst: [1, 2, 3, 4, 5]) == true
// isSorted(lst: [1, 3, 2, 4, 5]) == false
// isSorted(lst: [1, 2, 3, 4, 5, 6]) == true
// isSorted(lst: [1, 2, 3, 4, 5, 6, 7]) == true
// isSorted(lst: [1, 3, 2, 4, 5, 6, 7]) == false
// isSorted(lst: [1, 2, 2, 3, 3, 4]) == true
// isSorted(lst: [1, 2, 2, 2, 3, 4]) == false
func isSorted(lst: [Int]) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    let length = end - start + 1
    if length <= 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```swift
// You are given two intervals,
// where each interval is a pair of integers. For example, interval = (start, end) = (1, 2).
// The given intervals are closed which means that the interval (start, end)
// includes both start and end.
// For each given interval, it is assumed that its start is less or equal its end.
// Your task is to determine whether the length of intersection of these two 
// intervals is a prime number.
// Example, the intersection of the intervals (1, 3), (2, 4) is (2, 3)
// which its length is 1, which not a prime number.
// If the length of the intersection is a prime number, return "YES",
// otherwise, return "NO".
// If the two intervals don't intersect, return "NO".
// [input/output] samples:
// intersection(interval1: (1, 2), interval2: (2, 3)) == "NO"
// intersection(interval1: (-1, 1), interval2: (0, 4)) == "NO"
// intersection(interval1: (-3, -1), interval2: (-5, 5)) == "YES"
func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    let length = end - start + 1
    if length <= 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```

 // XCTAssertTrue failed

func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    if start > end {
        return "NO"
    }
    let length = end - start + 1
    if length == 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```swift
// You are given two intervals,
// where each interval is a pair of integers. For example, interval = (start, end) = (1, 2).
// The given intervals are closed which means that the interval (start, end)
// includes both start and end.
// For each given interval, it is assumed that its start is less or equal its end.
// Your task is to determine whether the length of intersection of these two 
// intervals is a prime number.
// Example, the intersection of the intervals (1, 3), (2, 4) is (2, 3)
// which its length is 1, which not a prime number.
// If the length of the intersection is a prime number, return "YES",
// otherwise, return "NO".
// If the two intervals don't intersect, return "NO".
// [input/output] samples:
// intersection(interval1: (1, 2), interval2: (2, 3)) == "NO"
// intersection(interval1: (-1, 1), interval2: (0, 4)) == "NO"
// intersection(interval1: (-3, -1), interval2: (-5, 5)) == "YES"
func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    if start > end {
        return "NO"
    }
    let length = end - start + 1
    if length == 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```

 // XCTAssertTrue failed

func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    if start > end {
        return "NO"
    }
    let length = end - start + 1
    if length == 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```swift
// You are given two intervals,
// where each interval is a pair of integers. For example, interval = (start, end) = (1, 2).
// The given intervals are closed which means that the interval (start, end)
// includes both start and end.
// For each given interval, it is assumed that its start is less or equal its end.
// Your task is to determine whether the length of intersection of these two 
// intervals is a prime number.
// Example, the intersection of the intervals (1, 3), (2, 4) is (2, 3)
// which its length is 1, which not a prime number.
// If the length of the intersection is a prime number, return "YES",
// otherwise, return "NO".
// If the two intervals don't intersect, return "NO".
// [input/output] samples:
// intersection(interval1: (1, 2), interval2: (2, 3)) == "NO"
// intersection(interval1: (-1, 1), interval2: (0, 4)) == "NO"
// intersection(interval1: (-3, -1), interval2: (-5, 5)) == "YES"
func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    if start > end {
        return "NO"
    }
    let length = end - start + 1
    if length == 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```

 // XCTAssertTrue failed

func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    let length = end - start + 1
    if length <= 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```swift
// You are given two intervals,
// where each interval is a pair of integers. For example, interval = (start, end) = (1, 2).
// The given intervals are closed which means that the interval (start, end)
// includes both start and end.
// For each given interval, it is assumed that its start is less or equal its end.
// Your task is to determine whether the length of intersection of these two 
// intervals is a prime number.
// Example, the intersection of the intervals (1, 3), (2, 4) is (2, 3)
// which its length is 1, which not a prime number.
// If the length of the intersection is a prime number, return "YES",
// otherwise, return "NO".
// If the two intervals don't intersect, return "NO".
// [input/output] samples:
// intersection(interval1: (1, 2), interval2: (2, 3)) == "NO"
// intersection(interval1: (-1, 1), interval2: (0, 4)) == "NO"
// intersection(interval1: (-3, -1), interval2: (-5, 5)) == "YES"
func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    let length = end - start + 1
    if length <= 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```

 // XCTAssertTrue failed

func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    let length = end - start + 1
    if length <= 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```swift
// You are given two intervals,
// where each interval is a pair of integers. For example, interval = (start, end) = (1, 2).
// The given intervals are closed which means that the interval (start, end)
// includes both start and end.
// For each given interval, it is assumed that its start is less or equal its end.
// Your task is to determine whether the length of intersection of these two 
// intervals is a prime number.
// Example, the intersection of the intervals (1, 3), (2, 4) is (2, 3)
// which its length is 1, which not a prime number.
// If the length of the intersection is a prime number, return "YES",
// otherwise, return "NO".
// If the two intervals don't intersect, return "NO".
// [input/output] samples:
// intersection(interval1: (1, 2), interval2: (2, 3)) == "NO"
// intersection(interval1: (-1, 1), interval2: (0, 4)) == "NO"
// intersection(interval1: (-3, -1), interval2: (-5, 5)) == "YES"
func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    let length = end - start + 1
    if length <= 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```

 // XCTAssertTrue failed

func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    if start > end {
        return "NO"
    }
    let length = end - start + 1
    if length == 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```swift
// You are given two intervals,
// where each interval is a pair of integers. For example, interval = (start, end) = (1, 2).
// The given intervals are closed which means that the interval (start, end)
// includes both start and end.
// For each given interval, it is assumed that its start is less or equal its end.
// Your task is to determine whether the length of intersection of these two 
// intervals is a prime number.
// Example, the intersection of the intervals (1, 3), (2, 4) is (2, 3)
// which its length is 1, which not a prime number.
// If the length of the intersection is a prime number, return "YES",
// otherwise, return "NO".
// If the two intervals don't intersect, return "NO".
// [input/output] samples:
// intersection(interval1: (1, 2), interval2: (2, 3)) == "NO"
// intersection(interval1: (-1, 1), interval2: (0, 4)) == "NO"
// intersection(interval1: (-3, -1), interval2: (-5, 5)) == "YES"
func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    if start > end {
        return "NO"
    }
    let length = end - start + 1
    if length == 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```

 // XCTAssertTrue failed

func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    if start > end { return "NO" }
    let length = end - start + 1
    if length == 1 { return "NO" }
    for i in 2..<length {
        if length % i == 0 { return "NO" }
    }
    return "YES"
}
```swift
// You are given two intervals,
// where each interval is a pair of integers. For example, interval = (start, end) = (1, 2).
// The given intervals are closed which means that the interval (start, end)
// includes both start and end.
// For each given interval, it is assumed that its start is less or equal its end.
// Your task is to determine whether the length of intersection of these two 
// intervals is a prime number.
// Example, the intersection of the intervals (1, 3), (2, 4) is (2, 3)
// which its length is 1, which not a prime number.
// If the length of the intersection is a prime number, return "YES",
// otherwise, return "NO".
// If the two intervals don't intersect, return "NO".
// [input/output] samples:
// intersection(interval1: (1, 2), interval2: (2, 3)) == "NO"
// intersection(interval1: (-1, 1), interval2: (0, 4)) == "NO"
// intersection(interval1: (-3, -1), interval2: (-5, 5)) == "YES"
func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    if start > end { return "NO" }
    let length = end - start + 1
    if length == 1 { return "NO" }
    for i in 2..<length {
        if length % i == 0 { return "NO" }
    }
    return "YES"
}
```

 // XCTAssertTrue failed

func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    let length = end - start
    if length <= 0 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```swift
// You are given two intervals,
// where each interval is a pair of integers. For example, interval = (start, end) = (1, 2).
// The given intervals are closed which means that the interval (start, end)
// includes both start and end.
// For each given interval, it is assumed that its start is less or equal its end.
// Your task is to determine whether the length of intersection of these two 
// intervals is a prime number.
// Example, the intersection of the intervals (1, 3), (2, 4) is (2, 3)
// which its length is 1, which not a prime number.
// If the length of the intersection is a prime number, return "YES",
// otherwise, return "NO".
// If the two intervals don't intersect, return "NO".
// [input/output] samples:
// intersection(interval1: (1, 2), interval2: (2, 3)) == "NO"
// intersection(interval1: (-1, 1), interval2: (0, 4)) == "NO"
// intersection(interval1: (-3, -1), interval2: (-5, 5)) == "YES"
func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    let length = end - start
    if length <= 0 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```
 // Fatal error: Range requires lowerBound <= upperBound

func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    if start > end {
        return "NO"
    }
    let length = end - start + 1
    if length <= 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```swift
// You are given two intervals,
// where each interval is a pair of integers. For example, interval = (start, end) = (1, 2).
// The given intervals are closed which means that the interval (start, end)
// includes both start and end.
// For each given interval, it is assumed that its start is less or equal its end.
// Your task is to determine whether the length of intersection of these two 
// intervals is a prime number.
// Example, the intersection of the intervals (1, 3), (2, 4) is (2, 3)
// which its length is 1, which not a prime number.
// If the length of the intersection is a prime number, return "YES",
// otherwise, return "NO".
// If the two intervals don't intersect, return "NO".
// [input/output] samples:
// intersection(interval1: (1, 2), interval2: (2, 3)) == "NO"
// intersection(interval1: (-1, 1), interval2: (0, 4)) == "NO"
// intersection(interval1: (-3, -1), interval2: (-5, 5)) == "YES"
func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    if start > end {
        return "NO"
    }
    let length = end - start + 1
    if length <= 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```

 // XCTAssertTrue failed

func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    let length = end - start + 1
    if length <= 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```swift
// You are given two intervals,
// where each interval is a pair of integers. For example, interval = (start, end) = (1, 2).
// The given intervals are closed which means that the interval (start, end)
// includes both start and end.
// For each given interval, it is assumed that its start is less or equal its end.
// Your task is to determine whether the length of intersection of these two 
// intervals is a prime number.
// Example, the intersection of the intervals (1, 3), (2, 4) is (2, 3)
// which its length is 1, which not a prime number.
// If the length of the intersection is a prime number, return "YES",
// otherwise, return "NO".
// If the two intervals don't intersect, return "NO".
// [input/output] samples:
// intersection(interval1: (1, 2), interval2: (2, 3)) == "NO"
// intersection(interval1: (-1, 1), interval2: (0, 4)) == "NO"
// intersection(interval1: (-3, -1), interval2: (-5, 5)) == "YES"
func intersection(interval1: (Int, Int), interval2: (Int, Int)) -> String {
    let start = max(interval1.0, interval2.0)
    let end = min(interval1.1, interval2.1)
    let length = end - start + 1
    if length <= 1 {
        return "NO"
    }
    for i in 2..<length {
        if length % i == 0 {
            return "NO"
        }
    }
    return "YES"
}
```
 // XCTAssertTrue failed

func prodSigns(arr: [Int]) -> Int? {
    // Your code here
}
```swift
// You are given an array arr of integers and you need to return
// sum of magnitudes of integers multiplied by product of all signs
// of each number in the array, represented by 1, -1 or 0.
// Note: return nil for empty arr.
// Example:
// prodSigns(arr: [1, 2, 2, -4]) == 9
// prodSigns(arr: [0, 1]) == 0
// prodSigns(arr: [] as [Int]) == nil
func prodSigns(arr: [Int]) -> Int? {
    // Your code here
}
```

} // missing return in global function expected to return 'Int?'

func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.reduce(0) { $0 + abs($1) }
    return product * sum
}
```swift
// You are given an array arr of integers and you need to return
// sum of magnitudes of integers multiplied by product of all signs
// of each number in the array, represented by 1, -1 or 0.
// Note: return nil for empty arr.
// Example:
// prodSigns(arr: [1, 2, 2, -4]) == 9
// prodSigns(arr: [0, 1]) == 0
// prodSigns(arr: [] as [Int]) == nil
func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.reduce(0) { $0 + abs($1) }
    return product * sum
}
```

func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.reduce(0) { $0 + abs($1) }
    return product * sum
}
```swift
// You are given an array arr of integers and you need to return
// sum of magnitudes of integers multiplied by product of all signs
// of each number in the array, represented by 1, -1 or 0.
// Note: return nil for empty arr.
// Example:
// prodSigns(arr: [1, 2, 2, -4]) == 9
// prodSigns(arr: [0, 1]) == 0
// prodSigns(arr: [] as [Int]) == nil
func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.reduce(0) { $0 + abs($1) }
    return product * sum
}
```

func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let sum = arr.reduce(0, +)
    let product = arr.reduce(1) { $0 * ($1 > 0 ? 1 : ($1 < 0 ? -1 : 0)) }
    return sum * product
}
```swift
// You are given an array arr of integers and you need to return
// sum of magnitudes of integers multiplied by product of all signs
// of each number in the array, represented by 1, -1 or 0.
// Note: return nil for empty arr.
// Example:
// prodSigns(arr: [1, 2, 2, -4]) == 9
// prodSigns(arr: [0, 1]) == 0
// prodSigns(arr: [] as [Int]) == nil
func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let sum = arr.reduce(0, +)
    let product = arr.reduce(1) { $0 * ($1 > 0 ? 1 : ($1 < 0 ? -1 : 0)) }
    return sum * product
}
```

 // XCTAssertTrue failed

func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.reduce(0) { $0 + abs($1) }
    return product * sum
}
```swift
// You are given an array arr of integers and you need to return
// sum of magnitudes of integers multiplied by product of all signs
// of each number in the array, represented by 1, -1 or 0.
// Note: return nil for empty arr.
// Example:
// prodSigns(arr: [1, 2, 2, -4]) == 9
// prodSigns(arr: [0, 1]) == 0
// prodSigns(arr: [] as [Int]) == nil
func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.reduce(0) { $0 + abs($1) }
    return product * sum
}
```

func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.map { abs($0) }.reduce(0, +)
    return product * sum
}
```swift
// You are given an array arr of integers and you need to return
// sum of magnitudes of integers multiplied by product of all signs
// of each number in the array, represented by 1, -1 or 0.
// Note: return nil for empty arr.
// Example:
// prodSigns(arr: [1, 2, 2, -4]) == 9
// prodSigns(arr: [0, 1]) == 0
// prodSigns(arr: [] as [Int]) == nil
func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.map { abs($0) }.reduce(0, +)
    return product * sum
}
```

func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.reduce(0) { $0 + abs($1) }
    return product * sum
}
```swift
// You are given an array arr of integers and you need to return
// sum of magnitudes of integers multiplied by product of all signs
// of each number in the array, represented by 1, -1 or 0.
// Note: return nil for empty arr.
// Example:
// prodSigns(arr: [1, 2, 2, -4]) == 9
// prodSigns(arr: [0, 1]) == 0
// prodSigns(arr: [] as [Int]) == nil
func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.reduce(0) { $0 + abs($1) }
    return product * sum
}
```

func prodSigns(arr: [Int]) -> Int? {
    // Your code here
}
```swift
// You are given an array arr of integers and you need to return
// sum of magnitudes of integers multiplied by product of all signs
// of each number in the array, represented by 1, -1 or 0.
// Note: return nil for empty arr.
// Example:
// prodSigns(arr: [1, 2, 2, -4]) == 9
// prodSigns(arr: [0, 1]) == 0
// prodSigns(arr: [] as [Int]) == nil
func prodSigns(arr: [Int]) -> Int? {
    // Your code here
}
```

} // missing return in global function expected to return 'Int?'

func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let sum = arr.reduce(0) { $0 + abs($1) }
    let product = arr.reduce(1) { $0 * ($1.signum() ?? 1) }
    return sum * product
}
```swift
// You are given an array arr of integers and you need to return
// sum of magnitudes of integers multiplied by product of all signs
// of each number in the array, represented by 1, -1 or 0.
// Note: return nil for empty arr.
// Example:
// prodSigns(arr: [1, 2, 2, -4]) == 9
// prodSigns(arr: [0, 1]) == 0
// prodSigns(arr: [] as [Int]) == nil
func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let sum = arr.reduce(0) { $0 + abs($1) }
    let product = arr.reduce(1) { $0 * ($1.signum() ?? 1) }
    return sum * product
}
```

let product = arr.reduce(1) { $0 * ($1.signum() ?? 1) } // left side of nil coalescing operator '??' has non-optional type 'Int', so the right side is never used

func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.reduce(0) { $0 + abs($1) }
    return product * sum
}
```swift
// You are given an array arr of integers and you need to return
// sum of magnitudes of integers multiplied by product of all signs
// of each number in the array, represented by 1, -1 or 0.
// Note: return nil for empty arr.
// Example:
// prodSigns(arr: [1, 2, 2, -4]) == 9
// prodSigns(arr: [0, 1]) == 0
// prodSigns(arr: [] as [Int]) == nil
func prodSigns(arr: [Int]) -> Int? {
    guard !arr.isEmpty else { return nil }
    let product = arr.reduce(1) { $0 * $1.signum() }
    let sum = arr.reduce(0) { $0 + abs($1) }
    return product * sum
}
```

func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```swift
// Given a grid with N rows and N columns (N >= 2) and a positive integer k, 
// each cell of the grid contains a value. Every integer in the range [1, N * N]
// inclusive appears exactly once on the cells of the grid.
// You have to find the minimum path of length k in the grid. You can start
// from any cell, and in each step you can move to any of the neighbor cells,
// in other words, you can go to cells which share an edge with you current
// cell.
// Please note that a path of length k means visiting exactly k cells (not
// necessarily distinct).
// You CANNOT go off the grid.
// A path A (of length k) is considered less than a path B (of length k) if
// after making the ordered arrays of the values on the cells that A and B go
// through (let's call them lst_A and lst_B), lst_A is lexicographically less
// than lst_B, in other words, there exist an integer index i (1 <= i <= k)
// such that lst_A[i] < lst_B[i] and for any j (1 <= j < i) we have
// lst_A[j] = lst_B[j].
// It is guaranteed that the answer is unique.
// Return an ordered array of the values on the cells that the minimum path go through.
// Examples:    
// minPath(grid: [[1, 2, 3], [4, 5, 6], [7, 8, 9]], k: 3) == [1, 2, 1]
// minPath(grid: [[5, 9, 3], [4, 1, 6], [7, 8, 2]], k: 1) == [1]
func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```swift
// Given a grid with N rows and N columns (N >= 2) and a positive integer k, 
// each cell of the grid contains a value. Every integer in the range [1, N * N]
// inclusive appears exactly once on the cells of the grid.
// You have to find the minimum path of length k in the grid. You can start
// from any cell, and in each step you can move to any of the neighbor cells,
// in other words, you can go to cells which share an edge with you current
// cell.
// Please note that a path of length k means visiting exactly k cells (not
// necessarily distinct).
// You CANNOT go off the grid.
// A path A (of length k) is considered less than a path B (of length k) if
// after making the ordered arrays of the values on the cells that A and B go
// through (let's call them lst_A and lst_B), lst_A is lexicographically less
// than lst_B, in other words, there exist an integer index i (1 <= i <= k)
// such that lst_A[i] < lst_B[i] and for any j (1 <= j < i) we have
// lst_A[j] = lst_B[j].
// It is guaranteed that the answer is unique.
// Return an ordered array of the values on the cells that the minimum path go through.
// Examples:    
// minPath(grid: [[1, 2, 3], [4, 5, 6], [7, 8, 9]], k: 3) == [1, 2, 1]
// minPath(grid: [[5, 9, 3], [4, 1, 6], [7, 8, 2]], k: 1) == [1]
func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```swift
// Given a grid with N rows and N columns (N >= 2) and a positive integer k, 
// each cell of the grid contains a value. Every integer in the range [1, N * N]
// inclusive appears exactly once on the cells of the grid.
// You have to find the minimum path of length k in the grid. You can start
// from any cell, and in each step you can move to any of the neighbor cells,
// in other words, you can go to cells which share an edge with you current
// cell.
// Please note that a path of length k means visiting exactly k cells (not
// necessarily distinct).
// You CANNOT go off the grid.
// A path A (of length k) is considered less than a path B (of length k) if
// after making the ordered arrays of the values on the cells that A and B go
// through (let's call them lst_A and lst_B), lst_A is lexicographically less
// than lst_B, in other words, there exist an integer index i (1 <= i <= k)
// such that lst_A[i] < lst_B[i] and for any j (1 <= j < i) we have
// lst_A[j] = lst_B[j].
// It is guaranteed that the answer is unique.
// Return an ordered array of the values on the cells that the minimum path go through.
// Examples:    
// minPath(grid: [[1, 2, 3], [4, 5, 6], [7, 8, 9]], k: 3) == [1, 2, 1]
// minPath(grid: [[5, 9, 3], [4, 1, 6], [7, 8, 2]], k: 1) == [1]
func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```swift
// Given a grid with N rows and N columns (N >= 2) and a positive integer k, 
// each cell of the grid contains a value. Every integer in the range [1, N * N]
// inclusive appears exactly once on the cells of the grid.
// You have to find the minimum path of length k in the grid. You can start
// from any cell, and in each step you can move to any of the neighbor cells,
// in other words, you can go to cells which share an edge with you current
// cell.
// Please note that a path of length k means visiting exactly k cells (not
// necessarily distinct).
// You CANNOT go off the grid.
// A path A (of length k) is considered less than a path B (of length k) if
// after making the ordered arrays of the values on the cells that A and B go
// through (let's call them lst_A and lst_B), lst_A is lexicographically less
// than lst_B, in other words, there exist an integer index i (1 <= i <= k)
// such that lst_A[i] < lst_B[i] and for any j (1 <= j < i) we have
// lst_A[j] = lst_B[j].
// It is guaranteed that the answer is unique.
// Return an ordered array of the values on the cells that the minimum path go through.
// Examples:    
// minPath(grid: [[1, 2, 3], [4, 5, 6], [7, 8, 9]], k: 3) == [1, 2, 1]
// minPath(grid: [[5, 9, 3], [4, 1, 6], [7, 8, 2]], k: 1) == [1]
func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```swift
// Given a grid with N rows and N columns (N >= 2) and a positive integer k, 
// each cell of the grid contains a value. Every integer in the range [1, N * N]
// inclusive appears exactly once on the cells of the grid.
// You have to find the minimum path of length k in the grid. You can start
// from any cell, and in each step you can move to any of the neighbor cells,
// in other words, you can go to cells which share an edge with you current
// cell.
// Please note that a path of length k means visiting exactly k cells (not
// necessarily distinct).
// You CANNOT go off the grid.
// A path A (of length k) is considered less than a path B (of length k) if
// after making the ordered arrays of the values on the cells that A and B go
// through (let's call them lst_A and lst_B), lst_A is lexicographically less
// than lst_B, in other words, there exist an integer index i (1 <= i <= k)
// such that lst_A[i] < lst_B[i] and for any j (1 <= j < i) we have
// lst_A[j] = lst_B[j].
// It is guaranteed that the answer is unique.
// Return an ordered array of the values on the cells that the minimum path go through.
// Examples:    
// minPath(grid: [[1, 2, 3], [4, 5, 6], [7, 8, 9]], k: 3) == [1, 2, 1]
// minPath(grid: [[5, 9, 3], [4, 1, 6], [7, 8, 2]], k: 1) == [1]
func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```swift
// Given a grid with N rows and N columns (N >= 2) and a positive integer k, 
// each cell of the grid contains a value. Every integer in the range [1, N * N]
// inclusive appears exactly once on the cells of the grid.
// You have to find the minimum path of length k in the grid. You can start
// from any cell, and in each step you can move to any of the neighbor cells,
// in other words, you can go to cells which share an edge with you current
// cell.
// Please note that a path of length k means visiting exactly k cells (not
// necessarily distinct).
// You CANNOT go off the grid.
// A path A (of length k) is considered less than a path B (of length k) if
// after making the ordered arrays of the values on the cells that A and B go
// through (let's call them lst_A and lst_B), lst_A is lexicographically less
// than lst_B, in other words, there exist an integer index i (1 <= i <= k)
// such that lst_A[i] < lst_B[i] and for any j (1 <= j < i) we have
// lst_A[j] = lst_B[j].
// It is guaranteed that the answer is unique.
// Return an ordered array of the values on the cells that the minimum path go through.
// Examples:    
// minPath(grid: [[1, 2, 3], [4, 5, 6], [7, 8, 9]], k: 3) == [1, 2, 1]
// minPath(grid: [[5, 9, 3], [4, 1, 6], [7, 8, 2]], k: 1) == [1]
func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```swift
// Given a grid with N rows and N columns (N >= 2) and a positive integer k, 
// each cell of the grid contains a value. Every integer in the range [1, N * N]
// inclusive appears exactly once on the cells of the grid.
// You have to find the minimum path of length k in the grid. You can start
// from any cell, and in each step you can move to any of the neighbor cells,
// in other words, you can go to cells which share an edge with you current
// cell.
// Please note that a path of length k means visiting exactly k cells (not
// necessarily distinct).
// You CANNOT go off the grid.
// A path A (of length k) is considered less than a path B (of length k) if
// after making the ordered arrays of the values on the cells that A and B go
// through (let's call them lst_A and lst_B), lst_A is lexicographically less
// than lst_B, in other words, there exist an integer index i (1 <= i <= k)
// such that lst_A[i] < lst_B[i] and for any j (1 <= j < i) we have
// lst_A[j] = lst_B[j].
// It is guaranteed that the answer is unique.
// Return an ordered array of the values on the cells that the minimum path go through.
// Examples:    
// minPath(grid: [[1, 2, 3], [4, 5, 6], [7, 8, 9]], k: 3) == [1, 2, 1]
// minPath(grid: [[5, 9, 3], [4, 1, 6], [7, 8, 2]], k: 1) == [1]
func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```swift
// Given a grid with N rows and N columns (N >= 2) and a positive integer k, 
// each cell of the grid contains a value. Every integer in the range [1, N * N]
// inclusive appears exactly once on the cells of the grid.
// You have to find the minimum path of length k in the grid. You can start
// from any cell, and in each step you can move to any of the neighbor cells,
// in other words, you can go to cells which share an edge with you current
// cell.
// Please note that a path of length k means visiting exactly k cells (not
// necessarily distinct).
// You CANNOT go off the grid.
// A path A (of length k) is considered less than a path B (of length k) if
// after making the ordered arrays of the values on the cells that A and B go
// through (let's call them lst_A and lst_B), lst_A is lexicographically less
// than lst_B, in other words, there exist an integer index i (1 <= i <= k)
// such that lst_A[i] < lst_B[i] and for any j (1 <= j < i) we have
// lst_A[j] = lst_B[j].
// It is guaranteed that the answer is unique.
// Return an ordered array of the values on the cells that the minimum path go through.
// Examples:    
// minPath(grid: [[1, 2, 3], [4, 5, 6], [7, 8, 9]], k: 3) == [1, 2, 1]
// minPath(grid: [[5, 9, 3], [4, 1, 6], [7, 8, 2]], k: 1) == [1]
func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```swift
// Given a grid with N rows and N columns (N >= 2) and a positive integer k, 
// each cell of the grid contains a value. Every integer in the range [1, N * N]
// inclusive appears exactly once on the cells of the grid.
// You have to find the minimum path of length k in the grid. You can start
// from any cell, and in each step you can move to any of the neighbor cells,
// in other words, you can go to cells which share an edge with you current
// cell.
// Please note that a path of length k means visiting exactly k cells (not
// necessarily distinct).
// You CANNOT go off the grid.
// A path A (of length k) is considered less than a path B (of length k) if
// after making the ordered arrays of the values on the cells that A and B go
// through (let's call them lst_A and lst_B), lst_A is lexicographically less
// than lst_B, in other words, there exist an integer index i (1 <= i <= k)
// such that lst_A[i] < lst_B[i] and for any j (1 <= j < i) we have
// lst_A[j] = lst_B[j].
// It is guaranteed that the answer is unique.
// Return an ordered array of the values on the cells that the minimum path go through.
// Examples:    
// minPath(grid: [[1, 2, 3], [4, 5, 6], [7, 8, 9]], k: 3) == [1, 2, 1]
// minPath(grid: [[5, 9, 3], [4, 1, 6], [7, 8, 2]], k: 1) == [1]
func minPath(grid: [[Int]], k: Int) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func minPath(grid: [[Int]], k: Int) -> [Int] {
    let n = grid.count
    let directions = [(0, 1), (1, 0), (0, -1), (-1, 0)]
    var visited = Array(repeating: Array(repeating: false, count: n), count: n)
    var minPath = [Int]()
    var minPathValue = Int.max
    
    func dfs(_ x: Int, _ y: Int, _ path: [Int], _ pathValue: Int) {
        if path.count == k {
            if pathValue < minPathValue {
                minPathValue = pathValue
                minPath = path
            }
            return
        }
        
        for (dx, dy) in directions {
            let nx = x + dx
            let ny = y + dy
            if nx >= 0 && nx < n && ny >= 0 && ny < n && !visited[nx][ny] {
                visited[nx][ny] = true
                dfs(nx, ny, path + [grid[nx][ny]], pathValue + grid[nx][ny])
                visited[nx][ny] = false
            }
        }
    }
    
    for i in 0..<n {
        for j in 0..<n {
            visited[i][j] = true
            dfs(i, j, [grid[i][j]], grid[i][j])
            visited[i][j] = false
        }
    }
    
    return minPath
}
```swift
// Given a grid with N rows and N columns (N >= 2) and a positive integer k, 
// each cell of the grid contains a value. Every integer in the range [1, N * N]
// inclusive appears exactly once on the cells of the grid.
// You have to find the minimum path of length k in the grid. You can start
// from any cell, and in each step you can move to any of the neighbor cells,
// in other words, you can go to cells which share an edge with you current
// cell.
// Please note that a path of length k means visiting exactly k cells (not
// necessarily distinct).
// You CANNOT go off the grid.
// A path A (of length k) is considered less than a path B (of length k) if
// after making the ordered arrays of the values on the cells that A and B go
// through (let's call them lst_A and lst_B), lst_A is lexicographically less
// than lst_B, in other words, there exist an integer index i (1 <= i <= k)
// such that lst_A[i] < lst_B[i] and for any j (1 <= j < i) we have
// lst_A[j] = lst_B[j].
// It is guaranteed that the answer is unique.
// Return an ordered array of the values on the cells that the minimum path go through.
// Examples:    
// minPath(grid: [[1, 2, 3], [4, 5, 6], [7, 8, 9]], k: 3) == [1, 2, 1]
// minPath(grid: [[5, 9, 3], [4, 1, 6], [7, 8, 2]], k: 1) == [1]
func minPath(grid: [[Int]], k: Int) -> [Int] {
    let n = grid.count
    let directions = [(0, 1), (1, 0), (0, -1), (-1, 0)]
    var visited = Array(repeating: Array(repeating: false, count: n), count: n)
    var minPath = [Int]()
    var minPathValue = Int.max
    
    func dfs(_ x: Int, _ y: Int, _ path: [Int], _ pathValue: Int) {
        if path.count == k {
            if pathValue < minPathValue {
                minPathValue = pathValue
                minPath = path
            }
            return
        }
        
        for (dx, dy) in directions {
            let nx = x + dx
            let ny = y + dy
            if nx >= 0 && nx < n && ny >= 0 && ny < n && !visited[nx][ny] {
                visited[nx][ny] = true
                dfs(nx, ny, path + [grid[nx][ny]], pathValue + grid[nx][ny])
                visited[nx][ny] = false
            }
        }
    }
    
    for i in 0..<n {
        for j in 0..<n {
            visited[i][j] = true
            dfs(i, j, [grid[i][j]], grid[i][j])
            visited[i][j] = false
        }
    }
    
    return minPath
}
```
 // XCTAssertTrue failed

func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```swift
// Everyone knows Fibonacci sequence, it was studied deeply by mathematicians in 
// the last couple centuries. However, what people don't know is Tribonacci sequence.
// Tribonacci sequence is defined by the recurrence:
// tri(1) = 3
// tri(n) = 1 + n / 2, if n is even.
// tri(n) =  tri(n - 1) + tri(n - 2) + tri(n + 1), if n is odd.
// For example:
// tri(2) = 1 + (2 / 2) = 2
// tri(4) = 3
// tri(3) = tri(2) + tri(1) + tri(4)
// = 2 + 3 + 3 = 8 
// You are given a non-negative integer number n, you have to a return an array of the 
// first n + 1 numbers of the Tribonacci sequence.
// Examples:
// tri(n: 3) == [1, 3, 2, 8]
func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```

 // Fatal error: Index out of range

func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```swift
// Everyone knows Fibonacci sequence, it was studied deeply by mathematicians in 
// the last couple centuries. However, what people don't know is Tribonacci sequence.
// Tribonacci sequence is defined by the recurrence:
// tri(1) = 3
// tri(n) = 1 + n / 2, if n is even.
// tri(n) =  tri(n - 1) + tri(n - 2) + tri(n + 1), if n is odd.
// For example:
// tri(2) = 1 + (2 / 2) = 2
// tri(4) = 3
// tri(3) = tri(2) + tri(1) + tri(4)
// = 2 + 3 + 3 = 8 
// You are given a non-negative integer number n, you have to a return an array of the 
// first n + 1 numbers of the Tribonacci sequence.
// Examples:
// tri(n: 3) == [1, 3, 2, 8]
func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```

 // Fatal error: Index out of range

func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```swift
// Everyone knows Fibonacci sequence, it was studied deeply by mathematicians in 
// the last couple centuries. However, what people don't know is Tribonacci sequence.
// Tribonacci sequence is defined by the recurrence:
// tri(1) = 3
// tri(n) = 1 + n / 2, if n is even.
// tri(n) =  tri(n - 1) + tri(n - 2) + tri(n + 1), if n is odd.
// For example:
// tri(2) = 1 + (2 / 2) = 2
// tri(4) = 3
// tri(3) = tri(2) + tri(1) + tri(4)
// = 2 + 3 + 3 = 8 
// You are given a non-negative integer number n, you have to a return an array of the 
// first n + 1 numbers of the Tribonacci sequence.
// Examples:
// tri(n: 3) == [1, 3, 2, 8]
func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```

 // Fatal error: Index out of range

func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```swift
// Everyone knows Fibonacci sequence, it was studied deeply by mathematicians in 
// the last couple centuries. However, what people don't know is Tribonacci sequence.
// Tribonacci sequence is defined by the recurrence:
// tri(1) = 3
// tri(n) = 1 + n / 2, if n is even.
// tri(n) =  tri(n - 1) + tri(n - 2) + tri(n + 1), if n is odd.
// For example:
// tri(2) = 1 + (2 / 2) = 2
// tri(4) = 3
// tri(3) = tri(2) + tri(1) + tri(4)
// = 2 + 3 + 3 = 8 
// You are given a non-negative integer number n, you have to a return an array of the 
// first n + 1 numbers of the Tribonacci sequence.
// Examples:
// tri(n: 3) == [1, 3, 2, 8]
func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```

 // Fatal error: Index out of range

func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```swift
// Everyone knows Fibonacci sequence, it was studied deeply by mathematicians in 
// the last couple centuries. However, what people don't know is Tribonacci sequence.
// Tribonacci sequence is defined by the recurrence:
// tri(1) = 3
// tri(n) = 1 + n / 2, if n is even.
// tri(n) =  tri(n - 1) + tri(n - 2) + tri(n + 1), if n is odd.
// For example:
// tri(2) = 1 + (2 / 2) = 2
// tri(4) = 3
// tri(3) = tri(2) + tri(1) + tri(4)
// = 2 + 3 + 3 = 8 
// You are given a non-negative integer number n, you have to a return an array of the 
// first n + 1 numbers of the Tribonacci sequence.
// Examples:
// tri(n: 3) == [1, 3, 2, 8]
func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```
 // Fatal error: Index out of range

func tri(n: Int) -> [Int] {
    var result = [Int]()
    for i in 0...n {
        if i == 0 {
            result.append(1)
        } else if i == 1 {
            result.append(3)
        } else if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```swift
// Everyone knows Fibonacci sequence, it was studied deeply by mathematicians in 
// the last couple centuries. However, what people don't know is Tribonacci sequence.
// Tribonacci sequence is defined by the recurrence:
// tri(1) = 3
// tri(n) = 1 + n / 2, if n is even.
// tri(n) =  tri(n - 1) + tri(n - 2) + tri(n + 1), if n is odd.
// For example:
// tri(2) = 1 + (2 / 2) = 2
// tri(4) = 3
// tri(3) = tri(2) + tri(1) + tri(4)
// = 2 + 3 + 3 = 8 
// You are given a non-negative integer number n, you have to a return an array of the 
// first n + 1 numbers of the Tribonacci sequence.
// Examples:
// tri(n: 3) == [1, 3, 2, 8]
func tri(n: Int) -> [Int] {
    var result = [Int]()
    for i in 0...n {
        if i == 0 {
            result.append(1)
        } else if i == 1 {
            result.append(3)
        } else if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```

 // Fatal error: Index out of range

func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```swift
// Everyone knows Fibonacci sequence, it was studied deeply by mathematicians in 
// the last couple centuries. However, what people don't know is Tribonacci sequence.
// Tribonacci sequence is defined by the recurrence:
// tri(1) = 3
// tri(n) = 1 + n / 2, if n is even.
// tri(n) =  tri(n - 1) + tri(n - 2) + tri(n + 1), if n is odd.
// For example:
// tri(2) = 1 + (2 / 2) = 2
// tri(4) = 3
// tri(3) = tri(2) + tri(1) + tri(4)
// = 2 + 3 + 3 = 8 
// You are given a non-negative integer number n, you have to a return an array of the 
// first n + 1 numbers of the Tribonacci sequence.
// Examples:
// tri(n: 3) == [1, 3, 2, 8]
func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```

 // Fatal error: Index out of range

func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```swift
// Everyone knows Fibonacci sequence, it was studied deeply by mathematicians in 
// the last couple centuries. However, what people don't know is Tribonacci sequence.
// Tribonacci sequence is defined by the recurrence:
// tri(1) = 3
// tri(n) = 1 + n / 2, if n is even.
// tri(n) =  tri(n - 1) + tri(n - 2) + tri(n + 1), if n is odd.
// For example:
// tri(2) = 1 + (2 / 2) = 2
// tri(4) = 3
// tri(3) = tri(2) + tri(1) + tri(4)
// = 2 + 3 + 3 = 8 
// You are given a non-negative integer number n, you have to a return an array of the 
// first n + 1 numbers of the Tribonacci sequence.
// Examples:
// tri(n: 3) == [1, 3, 2, 8]
func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```

 // Fatal error: Index out of range

func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```swift
// Everyone knows Fibonacci sequence, it was studied deeply by mathematicians in 
// the last couple centuries. However, what people don't know is Tribonacci sequence.
// Tribonacci sequence is defined by the recurrence:
// tri(1) = 3
// tri(n) = 1 + n / 2, if n is even.
// tri(n) =  tri(n - 1) + tri(n - 2) + tri(n + 1), if n is odd.
// For example:
// tri(2) = 1 + (2 / 2) = 2
// tri(4) = 3
// tri(3) = tri(2) + tri(1) + tri(4)
// = 2 + 3 + 3 = 8 
// You are given a non-negative integer number n, you have to a return an array of the 
// first n + 1 numbers of the Tribonacci sequence.
// Examples:
// tri(n: 3) == [1, 3, 2, 8]
func tri(n: Int) -> [Int] {
    var result = [1, 3]
    for i in 2...n {
        if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```

 // Fatal error: Index out of range

func tri(n: Int) -> [Int] {
    var result = [Int]()
    for i in 0...n {
        if i == 0 {
            result.append(1)
        } else if i == 1 {
            result.append(3)
        } else if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```swift
// Everyone knows Fibonacci sequence, it was studied deeply by mathematicians in 
// the last couple centuries. However, what people don't know is Tribonacci sequence.
// Tribonacci sequence is defined by the recurrence:
// tri(1) = 3
// tri(n) = 1 + n / 2, if n is even.
// tri(n) =  tri(n - 1) + tri(n - 2) + tri(n + 1), if n is odd.
// For example:
// tri(2) = 1 + (2 / 2) = 2
// tri(4) = 3
// tri(3) = tri(2) + tri(1) + tri(4)
// = 2 + 3 + 3 = 8 
// You are given a non-negative integer number n, you have to a return an array of the 
// first n + 1 numbers of the Tribonacci sequence.
// Examples:
// tri(n: 3) == [1, 3, 2, 8]
func tri(n: Int) -> [Int] {
    var result = [Int]()
    for i in 0...n {
        if i == 0 {
            result.append(1)
        } else if i == 1 {
            result.append(3)
        } else if i % 2 == 0 {
            result.append(1 + i / 2)
        } else {
            result.append(result[i - 1] + result[i - 2] + result[i + 1])
        }
    }
    return result
}
```

 // Fatal error: Index out of range

func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```swift
// Given a positive integer n, return the product of the odd digits.
// Return 0 if all digits are even.
// For example:
// digits(n: 1) == 1
// digits(n: 4) == 0
// digits(n: 235) == 15
func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```

 // XCTAssertTrue failed

func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```swift
// Given a positive integer n, return the product of the odd digits.
// Return 0 if all digits are even.
// For example:
// digits(n: 1) == 1
// digits(n: 4) == 0
// digits(n: 235) == 15
func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```

 // XCTAssertTrue failed

func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```swift
// Given a positive integer n, return the product of the odd digits.
// Return 0 if all digits are even.
// For example:
// digits(n: 1) == 1
// digits(n: 4) == 0
// digits(n: 235) == 15
func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```

 // XCTAssertTrue failed

func digits(n: Int) -> Int {
    var product = 1
    var n = n
    var hasOddDigit = false
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
            hasOddDigit = true
        }
        n /= 10
    }
    return hasOddDigit ? product : 0
}
```swift
// Given a positive integer n, return the product of the odd digits.
// Return 0 if all digits are even.
// For example:
// digits(n: 1) == 1
// digits(n: 4) == 0
// digits(n: 235) == 15
func digits(n: Int) -> Int {
    var product = 1
    var n = n
    var hasOddDigit = false
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
            hasOddDigit = true
        }
        n /= 10
    }
    return hasOddDigit ? product : 0
}
```

func digits(n: Int) -> Int {
    var product = 1
    var number = n
    while number > 0 {
        let digit = number % 10
        if digit % 2 != 0 {
            product *= digit
        }
        number /= 10
    }
    return product == 1 ? 0 : product
}
```swift
// Given a positive integer n, return the product of the odd digits.
// Return 0 if all digits are even.
// For example:
// digits(n: 1) == 1
// digits(n: 4) == 0
// digits(n: 235) == 15
func digits(n: Int) -> Int {
    var product = 1
    var number = n
    while number > 0 {
        let digit = number % 10
        if digit % 2 != 0 {
            product *= digit
        }
        number /= 10
    }
    return product == 1 ? 0 : product
}
```

 // XCTAssertTrue failed

func digits(n: Int) -> Int {
    var product = 1
    var number = n
    while number > 0 {
        let digit = number % 10
        if digit % 2 != 0 {
            product *= digit
        }
        number /= 10
    }
    return product == 1 ? 0 : product
}
```swift
// Given a positive integer n, return the product of the odd digits.
// Return 0 if all digits are even.
// For example:
// digits(n: 1) == 1
// digits(n: 4) == 0
// digits(n: 235) == 15
func digits(n: Int) -> Int {
    var product = 1
    var number = n
    while number > 0 {
        let digit = number % 10
        if digit % 2 != 0 {
            product *= digit
        }
        number /= 10
    }
    return product == 1 ? 0 : product
}
```

 // XCTAssertTrue failed

func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```swift
// Given a positive integer n, return the product of the odd digits.
// Return 0 if all digits are even.
// For example:
// digits(n: 1) == 1
// digits(n: 4) == 0
// digits(n: 235) == 15
func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```

 // XCTAssertTrue failed

func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```swift
// Given a positive integer n, return the product of the odd digits.
// Return 0 if all digits are even.
// For example:
// digits(n: 1) == 1
// digits(n: 4) == 0
// digits(n: 235) == 15
func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```

 // XCTAssertTrue failed

func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```swift
// Given a positive integer n, return the product of the odd digits.
// Return 0 if all digits are even.
// For example:
// digits(n: 1) == 1
// digits(n: 4) == 0
// digits(n: 235) == 15
func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```

 // XCTAssertTrue failed

func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```swift
// Given a positive integer n, return the product of the odd digits.
// Return 0 if all digits are even.
// For example:
// digits(n: 1) == 1
// digits(n: 4) == 0
// digits(n: 235) == 15
func digits(n: Int) -> Int {
    var product = 1
    var n = n
    while n > 0 {
        let digit = n % 10
        if digit % 2 != 0 {
            product *= digit
        }
        n /= 10
    }
    return product == 1 ? 0 : product
}
```

 // XCTAssertTrue failed

func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty && string.count >= 4
}
```swift
// Create a function that takes a string as input which contains only square brackets.
// The function should return true if and only if there is a valid subsequence of brackets 
// where at least one bracket in the subsequence is nested.
// isNested(string: "[[]]") == true
// isNested(string: "[]]]]]]][[[[[]") == false
// isNested(string: "[][]") == false
// isNested(string: "[]") == false
// isNested(string: "[[][]]") == true
// isNested(string: "[[]][[") == true
func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty && string.count >= 4
}
```

 // XCTAssertTrue failed

func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.count > 0
}
```swift
// Create a function that takes a string as input which contains only square brackets.
// The function should return true if and only if there is a valid subsequence of brackets 
// where at least one bracket in the subsequence is nested.
// isNested(string: "[[]]") == true
// isNested(string: "[]]]]]]][[[[[]") == false
// isNested(string: "[][]") == false
// isNested(string: "[]") == false
// isNested(string: "[[][]]") == true
// isNested(string: "[[]][[") == true
func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.count > 0
}
```

 // XCTAssertTrue failed

func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty || stack.removeLast() != "[" {
                return false
            }
        }
    }
    return stack.count > 0
}
```swift
// Create a function that takes a string as input which contains only square brackets.
// The function should return true if and only if there is a valid subsequence of brackets 
// where at least one bracket in the subsequence is nested.
// isNested(string: "[[]]") == true
// isNested(string: "[]]]]]]][[[[[]") == false
// isNested(string: "[][]") == false
// isNested(string: "[]") == false
// isNested(string: "[[][]]") == true
// isNested(string: "[[]][[") == true
func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty || stack.removeLast() != "[" {
                return false
            }
        }
    }
    return stack.count > 0
}
```

 // XCTAssertTrue failed

func isNested(string: String) -> Bool {
    var stack = [Character]()
    var nested = false
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            } else {
                stack.popLast()
                if !stack.isEmpty {
                    nested = true
                }
            }
        }
    }
    return nested && stack.isEmpty
}
```swift
// Create a function that takes a string as input which contains only square brackets.
// The function should return true if and only if there is a valid subsequence of brackets 
// where at least one bracket in the subsequence is nested.
// isNested(string: "[[]]") == true
// isNested(string: "[]]]]]]][[[[[]") == false
// isNested(string: "[][]") == false
// isNested(string: "[]") == false
// isNested(string: "[[][]]") == true
// isNested(string: "[[]][[") == true
func isNested(string: String) -> Bool {
    var stack = [Character]()
    var nested = false
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            } else {
                stack.popLast()
                if !stack.isEmpty {
                    nested = true
                }
            }
        }
    }
    return nested && stack.isEmpty
}
```

stack.popLast() // result of call to 'popLast()' is unused
 // XCTAssertTrue failed

func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty && string.contains("[]")
}
```swift
// Create a function that takes a string as input which contains only square brackets.
// The function should return true if and only if there is a valid subsequence of brackets 
// where at least one bracket in the subsequence is nested.
// isNested(string: "[[]]") == true
// isNested(string: "[]]]]]]][[[[[]") == false
// isNested(string: "[][]") == false
// isNested(string: "[]") == false
// isNested(string: "[[][]]") == true
// isNested(string: "[[]][[") == true
func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty && string.contains("[]")
}

// Test cases
print(isNested(string: "[[]]")) // true
print(isNested(string: "[]]]]]]][[[[[]")) // false
print(isNested(string: "[][]")) // false
print(isNested(string: "[]")) // false
print(isNested(string: "[[][]]")) // true
print(isNested(string: "[[]][[") // true
```

 // XCTAssertTrue failed

func isNested(string: String) -> Bool {
    var stack = [Character]()
    var nested = false
    
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if let last = stack.last, last == "[" {
                stack.removeLast()
                nested = true
            } else {
                return false
            }
        }
    }
    
    return nested && stack.isEmpty
}
```swift
// Create a function that takes a string as input which contains only square brackets.
// The function should return true if and only if there is a valid subsequence of brackets 
// where at least one bracket in the subsequence is nested.
// isNested(string: "[[]]") == true
// isNested(string: "[]]]]]]][[[[[]") == false
// isNested(string: "[][]") == false
// isNested(string: "[]") == false
// isNested(string: "[[][]]") == true
// isNested(string: "[[]][[") == true
func isNested(string: String) -> Bool {
    var stack = [Character]()
    var nested = false
    
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if let last = stack.last, last == "[" {
                stack.removeLast()
                nested = true
            } else {
                return false
            }
        }
    }
    
    return nested && stack.isEmpty
}

// Test cases
print(isNested(string: "[[]]")) // true
print(isNested(string: "[]]]]]]][[[[[]")) // false
print(isNested(string: "[][]")) // false
print(isNested(string: "[]")) // false
print(isNested(string: "[[][]]")) // true
print(isNested(string: "[[]][[") // true
```

 // XCTAssertTrue failed

func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty || stack.removeLast() != "[" {
                return false
            }
        }
    }
    return stack.count > 0
}
```swift
// Create a function that takes a string as input which contains only square brackets.
// The function should return true if and only if there is a valid subsequence of brackets 
// where at least one bracket in the subsequence is nested.
// isNested(string: "[[]]") == true
// isNested(string: "[]]]]]]][[[[[]") == false
// isNested(string: "[][]") == false
// isNested(string: "[]") == false
// isNested(string: "[[][]]") == true
// isNested(string: "[[]][[") == true
func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty || stack.removeLast() != "[" {
                return false
            }
        }
    }
    return stack.count > 0
}
```

 // XCTAssertTrue failed

func isNested(string: String) -> Bool {
    var stack = [Character]()
    var nested = false
    
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            } else {
                stack.popLast()
                if !stack.isEmpty {
                    nested = true
                }
            }
        }
    }
    
    return nested && stack.isEmpty
}
```swift
// Create a function that takes a string as input which contains only square brackets.
// The function should return true if and only if there is a valid subsequence of brackets 
// where at least one bracket in the subsequence is nested.
// isNested(string: "[[]]") == true
// isNested(string: "[]]]]]]][[[[[]") == false
// isNested(string: "[][]") == false
// isNested(string: "[]") == false
// isNested(string: "[[][]]") == true
// isNested(string: "[[]][[") == true
func isNested(string: String) -> Bool {
    var stack = [Character]()
    var nested = false
    
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            } else {
                stack.popLast()
                if !stack.isEmpty {
                    nested = true
                }
            }
        }
    }
    
    return nested && stack.isEmpty
}

// Test cases
print(isNested(string: "[[]]")) // true
print(isNested(string: "[]]]]]]][[[[[]")) // false
print(isNested(string: "[][]")) // false
print(isNested(string: "[]")) // false
print(isNested(string: "[[][]]")) // true
print(isNested(string: "[[]][[") // true
```

stack.popLast() // result of call to 'popLast()' is unused
 // XCTAssertTrue failed

func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty && string.count > 2
}
```swift
// Create a function that takes a string as input which contains only square brackets.
// The function should return true if and only if there is a valid subsequence of brackets 
// where at least one bracket in the subsequence is nested.
// isNested(string: "[[]]") == true
// isNested(string: "[]]]]]]][[[[[]") == false
// isNested(string: "[][]") == false
// isNested(string: "[]") == false
// isNested(string: "[[][]]") == true
// isNested(string: "[[]][[") == true
func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty {
                return false
            }
            stack.removeLast()
        }
    }
    return stack.isEmpty && string.count > 2
}
```

 // XCTAssertTrue failed

func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty || stack.removeLast() != "[" {
                return false
            }
        }
    }
    return stack.isEmpty && string.count % 2 == 0
}
```swift
// Create a function that takes a string as input which contains only square brackets.
// The function should return true if and only if there is a valid subsequence of brackets 
// where at least one bracket in the subsequence is nested.
// isNested(string: "[[]]") == true
// isNested(string: "[]]]]]]][[[[[]") == false
// isNested(string: "[][]") == false
// isNested(string: "[]") == false
// isNested(string: "[[][]]") == true
// isNested(string: "[[]][[") == true
func isNested(string: String) -> Bool {
    var stack = [Character]()
    for char in string {
        if char == "[" {
            stack.append(char)
        } else if char == "]" {
            if stack.isEmpty || stack.removeLast() != "[" {
                return false
            }
        }
    }
    return stack.isEmpty && string.count % 2 == 0
}
```

 // XCTAssertTrue failed

func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0 * $0)) }.reduce(0, +)
}
```swift
// You are given an array of numbers.
// You need to return the sum of squared numbers in the given array,
// round each element in the array to the upper int(Ceiling) first.
// Examples:
// sumSquares(lst: [1.0, 2.0, 3.0]) == 14
// sumSquares(lst: [1.0, 4.0, 9.0]) == 98
// sumSquares(lst: [1.0, 3.0, 5.0, 7.0]) == 84
// sumSquares(lst: [1.4, 4.2, 0.0]) == 29
// sumSquares(lst: [-2.4, 1.0, 1.0]) == 6
func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0 * $0)) }.reduce(0, +)
}
```

 // XCTAssertTrue failed

func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0 * $0)) }.reduce(0, +)
}
```swift
// You are given an array of numbers.
// You need to return the sum of squared numbers in the given array,
// round each element in the array to the upper int(Ceiling) first.
// Examples:
// sumSquares(lst: [1.0, 2.0, 3.0]) == 14
// sumSquares(lst: [1.0, 4.0, 9.0]) == 98
// sumSquares(lst: [1.0, 3.0, 5.0, 7.0]) == 84
// sumSquares(lst: [1.4, 4.2, 0.0]) == 29
// sumSquares(lst: [-2.4, 1.0, 1.0]) == 6
func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0 * $0)) }.reduce(0, +)
}
```

 // XCTAssertTrue failed

func sumSquares(lst: [Double]) -> Int {
    return lst.map { Int(ceil($0 * $0)) }.reduce(0, +)
}
```swift
// You are given an array of numbers.
// You need to return the sum of squared numbers in the given array,
// round each element in the array to the upper int(Ceiling) first.
// Examples:
// sumSquares(lst: [1.0, 2.0, 3.0]) == 14
// sumSquares(lst: [1.0, 4.0, 9.0]) == 98
// sumSquares(lst: [1.0, 3.0, 5.0, 7.0]) == 84
// sumSquares(lst: [1.4, 4.2, 0.0]) == 29
// sumSquares(lst: [-2.4, 1.0, 1.0]) == 6
func sumSquares(lst: [Double]) -> Int {
    return lst.map { Int(ceil($0 * $0)) }.reduce(0, +)
}
```

 // XCTAssertTrue failed

func sumSquares(lst: [Double]) -> Int { 
    var sum = 0
    for num in lst {
        sum += Int(ceil(num * num))
    }
    return sum
}
```swift
// You are given an array of numbers.
// You need to return the sum of squared numbers in the given array,
// round each element in the array to the upper int(Ceiling) first.
// Examples:
// sumSquares(lst: [1.0, 2.0, 3.0]) == 14
// sumSquares(lst: [1.0, 4.0, 9.0]) == 98
// sumSquares(lst: [1.0, 3.0, 5.0, 7.0]) == 84
// sumSquares(lst: [1.4, 4.2, 0.0]) == 29
// sumSquares(lst: [-2.4, 1.0, 1.0]) == 6
func sumSquares(lst: [Double]) -> Int { 
    var sum = 0
    for num in lst {
        sum += Int(ceil(num * num))
    }
    return sum
}
```

 // XCTAssertTrue failed

func sumSquares(lst: [Double]) -> Int {
    return lst.map { Int(ceil($0)) * Int(ceil($0)) }.reduce(0, +)
}
```swift
// You are given an array of numbers.
// You need to return the sum of squared numbers in the given array,
// round each element in the array to the upper int(Ceiling) first.
// Examples:
// sumSquares(lst: [1.0, 2.0, 3.0]) == 14
// sumSquares(lst: [1.0, 4.0, 9.0]) == 98
// sumSquares(lst: [1.0, 3.0, 5.0, 7.0]) == 84
// sumSquares(lst: [1.4, 4.2, 0.0]) == 29
// sumSquares(lst: [-2.4, 1.0, 1.0]) == 6
func sumSquares(lst: [Double]) -> Int {
    return lst.map { Int(ceil($0)) * Int(ceil($0)) }.reduce(0, +)
}
```

func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0 * $0)) }.reduce(0, +)
}
```swift
// You are given an array of numbers.
// You need to return the sum of squared numbers in the given array,
// round each element in the array to the upper int(Ceiling) first.
// Examples:
// sumSquares(lst: [1.0, 2.0, 3.0]) == 14
// sumSquares(lst: [1.0, 4.0, 9.0]) == 98
// sumSquares(lst: [1.0, 3.0, 5.0, 7.0]) == 84
// sumSquares(lst: [1.4, 4.2, 0.0]) == 29
// sumSquares(lst: [-2.4, 1.0, 1.0]) == 6
func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0 * $0)) }.reduce(0, +)
}
```

 // XCTAssertTrue failed

func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0 * $0)) }.reduce(0, +)
}
```swift
// You are given an array of numbers.
// You need to return the sum of squared numbers in the given array,
// round each element in the array to the upper int(Ceiling) first.
// Examples:
// sumSquares(lst: [1.0, 2.0, 3.0]) == 14
// sumSquares(lst: [1.0, 4.0, 9.0]) == 98
// sumSquares(lst: [1.0, 3.0, 5.0, 7.0]) == 84
// sumSquares(lst: [1.4, 4.2, 0.0]) == 29
// sumSquares(lst: [-2.4, 1.0, 1.0]) == 6
func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0 * $0)) }.reduce(0, +)
}
```

 // XCTAssertTrue failed

func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0)) }.map { $0 * $0 }.reduce(0, +)
}
```swift
// You are given an array of numbers.
// You need to return the sum of squared numbers in the given array,
// round each element in the array to the upper int(Ceiling) first.
// Examples:
// sumSquares(lst: [1.0, 2.0, 3.0]) == 14
// sumSquares(lst: [1.0, 4.0, 9.0]) == 98
// sumSquares(lst: [1.0, 3.0, 5.0, 7.0]) == 84
// sumSquares(lst: [1.4, 4.2, 0.0]) == 29
// sumSquares(lst: [-2.4, 1.0, 1.0]) == 6
func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0)) }.map { $0 * $0 }.reduce(0, +)
}
```

func sumSquares(lst: [Double]) -> Int {
    return lst.map { Int(ceil($0)) * Int(ceil($0)) }.reduce(0, +)
}
```swift
// You are given an array of numbers.
// You need to return the sum of squared numbers in the given array,
// round each element in the array to the upper int(Ceiling) first.
// Examples:
// sumSquares(lst: [1.0, 2.0, 3.0]) == 14
// sumSquares(lst: [1.0, 4.0, 9.0]) == 98
// sumSquares(lst: [1.0, 3.0, 5.0, 7.0]) == 84
// sumSquares(lst: [1.4, 4.2, 0.0]) == 29
// sumSquares(lst: [-2.4, 1.0, 1.0]) == 6
func sumSquares(lst: [Double]) -> Int {
    return lst.map { Int(ceil($0)) * Int(ceil($0)) }.reduce(0, +)
}
```

func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0)) }.map { $0 * $0 }.reduce(0, +)
}
```swift
// You are given an array of numbers.
// You need to return the sum of squared numbers in the given array,
// round each element in the array to the upper int(Ceiling) first.
// Examples:
// sumSquares(lst: [1.0, 2.0, 3.0]) == 14
// sumSquares(lst: [1.0, 4.0, 9.0]) == 98
// sumSquares(lst: [1.0, 3.0, 5.0, 7.0]) == 84
// sumSquares(lst: [1.4, 4.2, 0.0]) == 29
// sumSquares(lst: [-2.4, 1.0, 1.0]) == 6
func sumSquares(lst: [Double]) -> Int { 
    return lst.map { Int(ceil($0)) }.map { $0 * $0 }.reduce(0, +)
}
```

func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```swift
// Create a function that returns true if the last character
// of a given string is an alphabetical character and is not
// a part of a word, and false otherwise.
// Note: "word" is a group of characters separated by space.
// Examples:
// checkIfLastCharIsALetter(txt: "apple pie") == false
// checkIfLastCharIsALetter(txt: "apple pi e") == true
// checkIfLastCharIsALetter(txt: "apple pi e ") == false
// checkIfLastCharIsALetter(txt: "") == false
func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```swift
// Create a function that returns true if the last character
// of a given string is an alphabetical character and is not
// a part of a word, and false otherwise.
// Note: "word" is a group of characters separated by space.
// Examples:
// checkIfLastCharIsALetter(txt: "apple pie") == false
// checkIfLastCharIsALetter(txt: "apple pi e") == true
// checkIfLastCharIsALetter(txt: "apple pi e ") == false
// checkIfLastCharIsALetter(txt: "") == false
func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```swift
// Create a function that returns true if the last character
// of a given string is an alphabetical character and is not
// a part of a word, and false otherwise.
// Note: "word" is a group of characters separated by space.
// Examples:
// checkIfLastCharIsALetter(txt: "apple pie") == false
// checkIfLastCharIsALetter(txt: "apple pi e") == true
// checkIfLastCharIsALetter(txt: "apple pi e ") == false
// checkIfLastCharIsALetter(txt: "") == false
func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```swift
// Create a function that returns true if the last character
// of a given string is an alphabetical character and is not
// a part of a word, and false otherwise.
// Note: "word" is a group of characters separated by space.
// Examples:
// checkIfLastCharIsALetter(txt: "apple pie") == false
// checkIfLastCharIsALetter(txt: "apple pi e") == true
// checkIfLastCharIsALetter(txt: "apple pi e ") == false
// checkIfLastCharIsALetter(txt: "") == false
func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```swift
// Create a function that returns true if the last character
// of a given string is an alphabetical character and is not
// a part of a word, and false otherwise.
// Note: "word" is a group of characters separated by space.
// Examples:
// checkIfLastCharIsALetter(txt: "apple pie") == false
// checkIfLastCharIsALetter(txt: "apple pi e") == true
// checkIfLastCharIsALetter(txt: "apple pi e ") == false
// checkIfLastCharIsALetter(txt: "") == false
func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func checkIfLastCharIsALetter(txt: String) -> Bool {
    guard !txt.isEmpty else { return false }
    let lastChar = txt.last!
    let isLastCharLetter = lastChar.isLetter
    let isLastCharNotPartOfWord = txt.lastIndex(of: " ") == nil
    return isLastCharLetter && isLastCharNotPartOfWord
}
```swift
// Create a function that returns true if the last character
// of a given string is an alphabetical character and is not
// a part of a word, and false otherwise.
// Note: "word" is a group of characters separated by space.
// Examples:
// checkIfLastCharIsALetter(txt: "apple pie") == false
// checkIfLastCharIsALetter(txt: "apple pi e") == true
// checkIfLastCharIsALetter(txt: "apple pi e ") == false
// checkIfLastCharIsALetter(txt: "") == false
func checkIfLastCharIsALetter(txt: String) -> Bool {
    guard !txt.isEmpty else { return false }
    let lastChar = txt.last!
    let isLastCharLetter = lastChar.isLetter
    let isLastCharNotPartOfWord = txt.lastIndex(of: " ") == nil
    return isLastCharLetter && isLastCharNotPartOfWord
}
```

 // XCTAssertTrue failed

func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```swift
// Create a function that returns true if the last character
// of a given string is an alphabetical character and is not
// a part of a word, and false otherwise.
// Note: "word" is a group of characters separated by space.
// Examples:
// checkIfLastCharIsALetter(txt: "apple pie") == false
// checkIfLastCharIsALetter(txt: "apple pi e") == true
// checkIfLastCharIsALetter(txt: "apple pi e ") == false
// checkIfLastCharIsALetter(txt: "") == false
func checkIfLastCharIsALetter(txt: String) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func checkIfLastCharIsALetter(txt: String) -> Bool {
    guard !txt.isEmpty else { return false }
    let lastChar = txt.last!
    let isLastCharLetter = lastChar.isLetter
    let isLastCharNotPartOfWord = txt.lastIndex(of: " ") == nil
    return isLastCharLetter && isLastCharNotPartOfWord
}
```swift
// Create a function that returns true if the last character
// of a given string is an alphabetical character and is not
// a part of a word, and false otherwise.
// Note: "word" is a group of characters separated by space.
// Examples:
// checkIfLastCharIsALetter(txt: "apple pie") == false
// checkIfLastCharIsALetter(txt: "apple pi e") == true
// checkIfLastCharIsALetter(txt: "apple pi e ") == false
// checkIfLastCharIsALetter(txt: "") == false
func checkIfLastCharIsALetter(txt: String) -> Bool {
    guard !txt.isEmpty else { return false }
    let lastChar = txt.last!
    let isLastCharLetter = lastChar.isLetter
    let isLastCharNotPartOfWord = txt.lastIndex(of: " ") == nil
    return isLastCharLetter && isLastCharNotPartOfWord
}
```

 // XCTAssertTrue failed

func checkIfLastCharIsALetter(txt: String) -> Bool {
    guard !txt.isEmpty else { return false }
    let lastChar = txt.last!
    let isLastCharAlphabetic = lastChar.isLetter
    let isLastCharNotPartOfWord = txt.lastIndex(of: " ") == nil
    return isLastCharAlphabetic && isLastCharNotPartOfWord
}
```swift
// Create a function that returns true if the last character
// of a given string is an alphabetical character and is not
// a part of a word, and false otherwise.
// Note: "word" is a group of characters separated by space.
// Examples:
// checkIfLastCharIsALetter(txt: "apple pie") == false
// checkIfLastCharIsALetter(txt: "apple pi e") == true
// checkIfLastCharIsALetter(txt: "apple pi e ") == false
// checkIfLastCharIsALetter(txt: "") == false
func checkIfLastCharIsALetter(txt: String) -> Bool {
    guard !txt.isEmpty else { return false }
    let lastChar = txt.last!
    let isLastCharAlphabetic = lastChar.isLetter
    let isLastCharNotPartOfWord = txt.lastIndex(of: " ") == nil
    return isLastCharAlphabetic && isLastCharNotPartOfWord
}
```

 // XCTAssertTrue failed

func checkIfLastCharIsALetter(txt: String) -> Bool {
    guard !txt.isEmpty else { return false }
    let lastChar = txt.last!
    guard lastChar.isLetter else { return false }
    let trimmedTxt = txt.trimmingCharacters(in: .whitespacesAndNewlines)
    guard trimmedTxt.count > 1 else { return true }
    let lastWord = trimmedTxt.components(separatedBy: " ").last!
    return lastWord.count == 1 && lastWord == String(lastChar)
}
```swift
// Create a function that returns true if the last character
// of a given string is an alphabetical character and is not
// a part of a word, and false otherwise.
// Note: "word" is a group of characters separated by space.
// Examples:
// checkIfLastCharIsALetter(txt: "apple pie") == false
// checkIfLastCharIsALetter(txt: "apple pi e") == true
// checkIfLastCharIsALetter(txt: "apple pi e ") == false
// checkIfLastCharIsALetter(txt: "") == false
func checkIfLastCharIsALetter(txt: String) -> Bool {
    guard !txt.isEmpty else { return false }
    let lastChar = txt.last!
    guard lastChar.isLetter else { return false }
    let trimmedTxt = txt.trimmingCharacters(in: .whitespacesAndNewlines)
    guard trimmedTxt.count > 1 else { return true }
    let lastWord = trimmedTxt.components(separatedBy: " ").last!
    return lastWord.count == 1 && lastWord == String(lastChar)
}
```

func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```swift
// Create a function which returns the largest index of an element which
// is not greater than or equal to the element immediately preceding it. If
// no such element exists then return -1. The given array will not contain
// duplicate values.
// Examples:
// canArrange(arr: [1, 2, 4, 3, 5]) == 3
// canArrange(arr: [1, 2, 3]) == -1
func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```swift
// Create a function which returns the largest index of an element which
// is not greater than or equal to the element immediately preceding it. If
// no such element exists then return -1. The given array will not contain
// duplicate values.
// Examples:
// canArrange(arr: [1, 2, 4, 3, 5]) == 3
// canArrange(arr: [1, 2, 3]) == -1
func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i-1] {
            return i
        }
    }
    return -1
}
```swift
// Create a function which returns the largest index of an element which
// is not greater than or equal to the element immediately preceding it. If
// no such element exists then return -1. The given array will not contain
// duplicate values.
// Examples:
// canArrange(arr: [1, 2, 4, 3, 5]) == 3
// canArrange(arr: [1, 2, 3]) == -1
func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i-1] {
            return i
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```swift
// Create a function which returns the largest index of an element which
// is not greater than or equal to the element immediately preceding it. If
// no such element exists then return -1. The given array will not contain
// duplicate values.
// Examples:
// canArrange(arr: [1, 2, 4, 3, 5]) == 3
// canArrange(arr: [1, 2, 3]) == -1
func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}

func check() {
    assert(canArrange(arr: [1, 2, 4, 3, 5]) == 3)
    assert(canArrange(arr: [1, 2, 3]) == -1)
    assert(canArrange(arr: [5, 3, 4, 2, 1]) == 1)
    assert(canArrange(arr: [10, 20, 30, 25, 40]) == 3)
    print("All tests passed!")
}
```swift
// Create a function which returns the largest index of an element which
// is not greater than or equal to the element immediately preceding it. If
// no such element exists then return -1. The given array will not contain
// duplicate values.
// Examples:
// canArrange(arr: [1, 2, 4, 3, 5]) == 3
// canArrange(arr: [1, 2, 3]) == -1
func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}

// Check function to verify the correctness of the solution
func check() {
    assert(canArrange(arr: [1, 2, 4, 3, 5]) == 3)
    assert(canArrange(arr: [1, 2, 3]) == -1)
    assert(canArrange(arr: [5, 3, 4, 2, 1]) == 1)
    assert(canArrange(arr: [10, 20, 30, 25, 40]) == 3)
    print("All tests passed!")
}

check()
```

 // XCTAssertTrue failed

func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```swift
// Create a function which returns the largest index of an element which
// is not greater than or equal to the element immediately preceding it. If
// no such element exists then return -1. The given array will not contain
// duplicate values.
// Examples:
// canArrange(arr: [1, 2, 4, 3, 5]) == 3
// canArrange(arr: [1, 2, 3]) == -1
func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```swift
// Create a function which returns the largest index of an element which
// is not greater than or equal to the element immediately preceding it. If
// no such element exists then return -1. The given array will not contain
// duplicate values.
// Examples:
// canArrange(arr: [1, 2, 4, 3, 5]) == 3
// canArrange(arr: [1, 2, 3]) == -1
func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```swift
// Create a function which returns the largest index of an element which
// is not greater than or equal to the element immediately preceding it. If
// no such element exists then return -1. The given array will not contain
// duplicate values.
// Examples:
// canArrange(arr: [1, 2, 4, 3, 5]) == 3
// canArrange(arr: [1, 2, 3]) == -1
func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i-1] {
            return i
        }
    }
    return -1
}
```swift
// Create a function which returns the largest index of an element which
// is not greater than or equal to the element immediately preceding it. If
// no such element exists then return -1. The given array will not contain
// duplicate values.
// Examples:
// canArrange(arr: [1, 2, 4, 3, 5]) == 3
// canArrange(arr: [1, 2, 3]) == -1
func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i-1] {
            return i
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```swift
// Create a function which returns the largest index of an element which
// is not greater than or equal to the element immediately preceding it. If
// no such element exists then return -1. The given array will not contain
// duplicate values.
// Examples:
// canArrange(arr: [1, 2, 4, 3, 5]) == 3
// canArrange(arr: [1, 2, 3]) == -1
func canArrange(arr: [Int]) -> Int {
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            return i
        }
    }
    return -1
}
```

 // XCTAssertTrue failed

func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```swift
// Create a function that returns a tuple (a, b), where 'a' is
// the largest of negative integers, and 'b' is the smallest
// of positive integers in an array.
// If there is no negative or positive integers, return them as nil.
// Examples:
// largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7]) == (nil, 1)
// largestSmallestIntegers(lst: [] as [Int]) == (nil, nil)
// largestSmallestIntegers(lst: [0]) == (nil, nil)
func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```

func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```swift
// Create a function that returns a tuple (a, b), where 'a' is
// the largest of negative integers, and 'b' is the smallest
// of positive integers in an array.
// If there is no negative or positive integers, return them as nil.
// Examples:
// largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7]) == (nil, 1)
// largestSmallestIntegers(lst: [] as [Int]) == (nil, nil)
// largestSmallestIntegers(lst: [0]) == (nil, nil)
func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}

// Example usage:
print(largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7])) // Output: (nil, 1)
print(largestSmallestIntegers(lst: [] as [Int])) // Output: (nil, nil)
print(largestSmallestIntegers(lst: [0])) // Output: (nil, nil)
```

func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```swift
// Create a function that returns a tuple (a, b), where 'a' is
// the largest of negative integers, and 'b' is the smallest
// of positive integers in an array.
// If there is no negative or positive integers, return them as nil.
// Examples:
// largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7]) == (nil, 1)
// largestSmallestIntegers(lst: [] as [Int]) == (nil, nil)
// largestSmallestIntegers(lst: [0]) == (nil, nil)
func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```

func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```swift
// Create a function that returns a tuple (a, b), where 'a' is
// the largest of negative integers, and 'b' is the smallest
// of positive integers in an array.
// If there is no negative or positive integers, return them as nil.
// Examples:
// largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7]) == (nil, 1)
// largestSmallestIntegers(lst: [] as [Int]) == (nil, nil)
// largestSmallestIntegers(lst: [0]) == (nil, nil)
func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}

// Test cases
print(largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7])) // (nil, 1)
print(largestSmallestIntegers(lst: [] as [Int])) // (nil, nil)
print(largestSmallestIntegers(lst: [0])) // (nil, nil)
```

func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```swift
// Create a function that returns a tuple (a, b), where 'a' is
// the largest of negative integers, and 'b' is the smallest
// of positive integers in an array.
// If there is no negative or positive integers, return them as nil.
// Examples:
// largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7]) == (nil, 1)
// largestSmallestIntegers(lst: [] as [Int]) == (nil, nil)
// largestSmallestIntegers(lst: [0]) == (nil, nil)
func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}

// Test cases
print(largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7])) // (nil, 1)
print(largestSmallestIntegers(lst: [] as [Int])) // (nil, nil)
print(largestSmallestIntegers(lst: [0])) // (nil, nil)
```

func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```swift
// Create a function that returns a tuple (a, b), where 'a' is
// the largest of negative integers, and 'b' is the smallest
// of positive integers in an array.
// If there is no negative or positive integers, return them as nil.
// Examples:
// largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7]) == (nil, 1)
// largestSmallestIntegers(lst: [] as [Int]) == (nil, nil)
// largestSmallestIntegers(lst: [0]) == (nil, nil)
func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```

func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```swift
// Create a function that returns a tuple (a, b), where 'a' is
// the largest of negative integers, and 'b' is the smallest
// of positive integers in an array.
// If there is no negative or positive integers, return them as nil.
// Examples:
// largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7]) == (nil, 1)
// largestSmallestIntegers(lst: [] as [Int]) == (nil, nil)
// largestSmallestIntegers(lst: [0]) == (nil, nil)
func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```

func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```swift
// Create a function that returns a tuple (a, b), where 'a' is
// the largest of negative integers, and 'b' is the smallest
// of positive integers in an array.
// If there is no negative or positive integers, return them as nil.
// Examples:
// largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7]) == (nil, 1)
// largestSmallestIntegers(lst: [] as [Int]) == (nil, nil)
// largestSmallestIntegers(lst: [0]) == (nil, nil)
func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```

func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int?
    var smallestPositive: Int?
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```swift
// Create a function that returns a tuple (a, b), where 'a' is
// the largest of negative integers, and 'b' is the smallest
// of positive integers in an array.
// If there is no negative or positive integers, return them as nil.
// Examples:
// largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7]) == (nil, 1)
// largestSmallestIntegers(lst: [] as [Int]) == (nil, nil)
// largestSmallestIntegers(lst: [0]) == (nil, nil)
func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int?
    var smallestPositive: Int?
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```

func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```swift
// Create a function that returns a tuple (a, b), where 'a' is
// the largest of negative integers, and 'b' is the smallest
// of positive integers in an array.
// If there is no negative or positive integers, return them as nil.
// Examples:
// largestSmallestIntegers(lst: [2, 4, 1, 3, 5, 7]) == (nil, 1)
// largestSmallestIntegers(lst: [] as [Int]) == (nil, nil)
// largestSmallestIntegers(lst: [0]) == (nil, nil)
func largestSmallestIntegers(lst: [Int]) -> (Int?, Int?) {
    var largestNegative: Int? = nil
    var smallestPositive: Int? = nil
    
    for num in lst {
        if num < 0 {
            if largestNegative == nil || num > largestNegative! {
                largestNegative = num
            }
        } else if num > 0 {
            if smallestPositive == nil || num < smallestPositive! {
                smallestPositive = num
            }
        }
    }
    
    return (largestNegative, smallestPositive)
}
```

enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(bDouble) : .intValue(a)
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? .doubleValue(a) : .intValue(b)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(a) : .stringValue(b)
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? .stringValue(a) : .intValue(b)
    case let (.stringValue(a), .doubleValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > b ? .stringValue(a) : .doubleValue(b)
    default:
        return nil
    }
}
```swift
enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

// Create a function that takes integers, floats, or strings representing
// real numbers, and returns the larger variable in its given variable type.
// Return nil if the values are equal.
// Note: If a real number is represented as a string, the floating point might be . or ,
// compareOne(a: .intValue(1), b: .doubleValue(2.5)) == .doubleValue(2.5)
// compareOne(a: .intValue(1), b: .stringValue("2,3")) == .stringValue("2,3")
// compareOne(a: .stringValue("5,1"), b: .stringValue("6")) == .stringValue("6")
// compareOne(a: .stringValue("1"), b: .intValue(1)) == nil
func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(bDouble) : .intValue(a)
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? .doubleValue(a) : .intValue(b)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(a) : .stringValue(b)
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? .stringValue(a) : .intValue(b)
    case let (.stringValue(a), .doubleValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > b ? .stringValue(a) : .doubleValue(b)
    default:
        return nil
    }
}
```

return a > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > b ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > bDouble ? a : b // cannot convert return expression of type 'String' to return type 'Value?'

enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(bDouble) : .intValue(a)
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? .doubleValue(a) : .intValue(b)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(a) : .intValue(b)
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? .doubleValue(aDouble) : .intValue(b)
    case let (.stringValue(a), .doubleValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > b ? .doubleValue(aDouble) : .intValue(b)
    default:
        return nil
    }
}

func findPeakIndex(_ arr: [Int]) -> Int {
    var peakIndex = 0
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            peakIndex = i - 1
            break
        }
    }
    return peakIndex
}

func sumOfPrimes(_ arr: [Int]) -> Int {
    var sum = 0
    for num in arr {
        if isPrime(num) {
            sum += num
        }
    }
    return sum
}
```swift
enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

// Create a function that takes integers, floats, or strings representing
// real numbers, and returns the larger variable in its given variable type.
// Return nil if the values are equal.
// Note: If a real number is represented as a string, the floating point might be . or ,
// compareOne(a: .intValue(1), b: .doubleValue(2.5)) == .doubleValue(2.5)
// compareOne(a: .intValue(1), b: .stringValue("2,3")) == .stringValue("2,3")
// compareOne(a: .stringValue("5,1"), b: .stringValue("6")) == .stringValue("6")
// compareOne(a: .stringValue("1"), b: .intValue(1)) == nil
func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(bDouble) : .intValue(a)
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? .doubleValue(a) : .intValue(b)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(a) : .intValue(b)
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? .doubleValue(aDouble) : .intValue(b)
    case let (.stringValue(a), .doubleValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > b ? .doubleValue(aDouble) : .intValue(b)
    default:
        return nil
    }
}

// Create a function that takes the array of numbers stored in arr and returns the index at which the
// numbers stop increasing and begin decreasing.
// Note: If there is only one increasing sequence, return 0. If there is only one decreasing sequence,
// return the length of the array.
// findPeakIndex([1, 3, 5, 20, 4, 3, 1]) == 3
// findPeakIndex([1, 2, 3, 5, 28, 4, 5, 7, 8, 9, 10, 3, 2, 1]) == 9
// findPeakIndex([1, 2, 3, 4, 5]) == 0
// findPeakIndex([5, 4, 3, 2, 1]) == 5
func findPeakIndex(_ arr: [Int]) -> Int {
    var peakIndex = 0
    for i in 1..<arr.count {
        if arr[i] < arr[i - 1] {
            peakIndex = i - 1
            break
        }
    }
    return peakIndex
}

// Create a function that takes an array of numbers and returns the sum of all prime numbers in the array.
// Note: A prime number is a number greater than 1 that is only divisible by 1 and itself.
// sumOfPrimes([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) == 17
// sumOfPrimes([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]) == 60
// sumOfPrimes([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]) == 129
// sumOfPrimes([4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]) == 0
func sumOfPrimes(_ arr: [Int]) -> Int {
    var sum = 0
    for num in arr {
        if isPrime(num) {
            sum += num
        }
    }
    return sum
}

// Create a function that takes an array of numbers and returns the largest number in the array.
// Note: The array will contain at least one number.
// largestNumber([1, 2, 3, 4, 5]) == 5
// largestNumber([10, 20, 30, 40, 50]) == 50
// largestNumber([100, 200, 300, 
return a > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > b ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > bDouble ? a : b // cannot convert return expression of type 'String' to return type 'Value?'
return a > bDouble ? .doubleValue(a) : .intValue(b) // cannot convert value of type 'String' to expected argument type 'Int'
return aDouble > b ? .doubleValue(aDouble) : .intValue(b) // cannot convert value of type 'Double' to expected argument type 'Int'
if isPrime(num) { // cannot find 'isPrime' in scope

enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0.0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0.0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? a : b
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0.0
        return Double(a) > bDouble ? a : b
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? a : b
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0.0
        return a > bDouble ? a : b
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0.0
        return aDouble > Double(b) ? a : b
    default:
        return nil
    }
}
```swift
enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

// Create a function that takes integers, floats, or strings representing
// real numbers, and returns the larger variable in its given variable type.
// Return nil if the values are equal.
// Note: If a real number is represented as a string, the floating point might be . or ,
// compareOne(a: .intValue(1), b: .doubleValue(2.5)) == .doubleValue(2.5)
// compareOne(a: .intValue(1), b: .stringValue("2,3")) == .stringValue("2,3")
// compareOne(a: .stringValue("5,1"), b: .stringValue("6")) == .stringValue("6")
// compareOne(a: .stringValue("1"), b: .intValue(1)) == nil
func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0.0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0.0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? a : b
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0.0
        return Double(a) > bDouble ? a : b
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? a : b
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0.0
        return a > bDouble ? a : b
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0.0
        return aDouble > Double(b) ? a : b
    default:
        return nil
    }
}
```

return a > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > b ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > bDouble ? a : b // cannot convert return expression of type 'String' to return type 'Value?'
return Double(a) > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return Double(a) > bDouble ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > Double(b) ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return a > bDouble ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > Double(b) ? a : b // cannot convert return expression of type 'String' to return type 'Value?'

enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(bDouble) : .intValue(a)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(bDouble) : .doubleValue(a)
    default:
        return nil
    }
}
```swift
enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

// Create a function that takes integers, floats, or strings representing
// real numbers, and returns the larger variable in its given variable type.
// Return nil if the values are equal.
// Note: If a real number is represented as a string, the floating point might be . or ,
// compareOne(a: .intValue(1), b: .doubleValue(2.5)) == .doubleValue(2.5)
// compareOne(a: .intValue(1), b: .stringValue("2,3")) == .stringValue("2,3")
// compareOne(a: .stringValue("5,1"), b: .stringValue("6")) == .stringValue("6")
// compareOne(a: .stringValue("1"), b: .intValue(1)) == nil
func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(bDouble) : .intValue(a)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(bDouble) : .doubleValue(a)
    default:
        return nil
    }
}
```

return a > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > b ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > bDouble ? a : b // cannot convert return expression of type 'String' to return type 'Value?'

enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(b) : .intValue(a)
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? .doubleValue(a) : .intValue(b)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(a) : .intValue(b)
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? .doubleValue(a) : .intValue(b)
    default:
        return nil
    }
}

func canAddUp(_ arr: [Int]) -> String {
    let sortedArr = arr.sorted()
    let largest = sortedArr.last!
    var sum = 0
    for num in sortedArr {
        sum += num
        if sum == largest {
            return "true"
        }
    }
    return "false"
}

func removeVowels(_ str: String) -> String {
    let vowels = "aeiouAEIOU"
    return String(str.filter { !vowels.contains($0) })
}
```swift
enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

// Create a function that takes integers, floats, or strings representing
// real numbers, and returns the larger variable in its given variable type.
// Return nil if the values are equal.
// Note: If a real number is represented as a string, the floating point might be . or ,
// compareOne(a: .intValue(1), b: .doubleValue(2.5)) == .doubleValue(2.5)
// compareOne(a: .intValue(1), b: .stringValue("2,3")) == .stringValue("2,3")
// compareOne(a: .stringValue("5,1"), b: .stringValue("6")) == .stringValue("6")
// compareOne(a: .stringValue("1"), b: .intValue(1)) == nil
func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(b) : .intValue(a)
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? .doubleValue(a) : .intValue(b)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(a) : .intValue(b)
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? .doubleValue(a) : .intValue(b)
    default:
        return nil
    }
}

// Create a function that takes the array of numbers stored in arr and returns
// the string true if any combination of numbers in the array can be added up to
// equal the largest number in the array, otherwise return the string false.
// canAddUp([4, 6, 23, 10, 1, 3]) == "true"
// canAddUp([5, 7, 16, 1, 2]) == "false"
// canAddUp([3, 5, -1, 8, 12]) == "true"
func canAddUp(_ arr: [Int]) -> String {
    let sortedArr = arr.sorted()
    let largest = sortedArr.last!
    var sum = 0
    for num in sortedArr {
        sum += num
        if sum == largest {
            return "true"
        }
    }
    return "false"
}

// Create a function that takes a string and returns a new string with all vowels removed.
// removeVowels("hello") == "hll"
// removeVowels("world") == "wrld"
// removeVowels("swift") == "swft"
func removeVowels(_ str: String) -> String {
    let vowels = "aeiouAEIOU"
    return String(str.filter { !vowels.contains($0) })
}
```
return a > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > b ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > bDouble ? a : b // cannot convert return expression of type 'String' to return type 'Value?'
return Double(a) > bDouble ? .doubleValue(b) : .intValue(a) // cannot convert value of type 'String' to expected argument type 'Double'
return a > bDouble ? .doubleValue(a) : .intValue(b) // cannot convert value of type 'String' to expected argument type 'Int'
return aDouble > Double(b) ? .doubleValue(a) : .intValue(b) // cannot convert value of type 'String' to expected argument type 'Double'

enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? a : b
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? a : b
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? a : b
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? a : b
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? a : b
    default:
        return nil
    }
}
```swift
enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

// Create a function that takes integers, floats, or strings representing
// real numbers, and returns the larger variable in its given variable type.
// Return nil if the values are equal.
// Note: If a real number is represented as a string, the floating point might be . or ,
// compareOne(a: .intValue(1), b: .doubleValue(2.5)) == .doubleValue(2.5)
// compareOne(a: .intValue(1), b: .stringValue("2,3")) == .stringValue("2,3")
// compareOne(a: .stringValue("5,1"), b: .stringValue("6")) == .stringValue("6")
// compareOne(a: .stringValue("1"), b: .intValue(1)) == nil
func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? a : b
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? a : b
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? a : b
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? a : b
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? a : b
    default:
        return nil
    }
}

// Create a function that takes the array of numbers stored in arr and returns the index at which the numbers stop increasing and begin decreasing.
// Note: If there is only one increasing and then decreasing sequence, return the start of the decreasing sequence or the index where the values stop increasing and begin decreasing.
// Note: The array will always have at least 3 numbers.
// Note: If there is only one increasing sequence, return 0.
// Note: If the array is constant, return 0.
// Note: If there is no decreasing sequence, return the last index.
// Note: If there is no increasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence, return 0.
// Note: If there is no increasing or decreasing sequence,
return a > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > b ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > bDouble ? a : b // cannot convert return expression of type 'String' to return type 'Value?'
return Double(a) > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return Double(a) > bDouble ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > Double(b) ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return a > bDouble ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > Double(b) ? a : b // cannot convert return expression of type 'String' to return type 'Value?'

enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? a : b
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? a : b
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? a : b
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? a : b
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? a : b
    default:
        return nil
    }
}
```swift
enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

// Create a function that takes integers, floats, or strings representing
// real numbers, and returns the larger variable in its given variable type.
// Return nil if the values are equal.
// Note: If a real number is represented as a string, the floating point might be . or ,
// compareOne(a: .intValue(1), b: .doubleValue(2.5)) == .doubleValue(2.5)
// compareOne(a: .intValue(1), b: .stringValue("2,3")) == .stringValue("2,3")
// compareOne(a: .stringValue("5,1"), b: .stringValue("6")) == .stringValue("6")
// compareOne(a: .stringValue("1"), b: .intValue(1)) == nil
func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? a : b
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? a : b
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? a : b
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? a : b
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? a : b
    default:
        return nil
    }
}
```
return a > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > b ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > bDouble ? a : b // cannot convert return expression of type 'String' to return type 'Value?'
return Double(a) > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return Double(a) > bDouble ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > Double(b) ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return a > bDouble ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > Double(b) ? a : b // cannot convert return expression of type 'String' to return type 'Value?'

enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(bDouble) : .intValue(a)
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? .doubleValue(a) : .intValue(b)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(a) : .intValue(b)
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? .doubleValue(aDouble) : .intValue(b)
    default:
        return nil
    }
}

func compareTwo(arr: [Int]) -> String {
    let sortedArr = arr.sorted()
    let largestNum = sortedArr.last!
    var sum = 0
    for num in sortedArr {
        sum += num
        if sum == largestNum {
            return "true"
        }
    }
    return "false"
}

func compareThree(arr: [Int]) -> Int {
    let sortedArr = arr.sorted()
    return sortedArr[sortedArr.count - 2]
}
```swift
enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

// Create a function that takes integers, floats, or strings representing
// real numbers, and returns the larger variable in its given variable type.
// Return nil if the values are equal.
// Note: If a real number is represented as a string, the floating point might be . or ,
// compareOne(a: .intValue(1), b: .doubleValue(2.5)) == .doubleValue(2.5)
// compareOne(a: .intValue(1), b: .stringValue("2,3")) == .stringValue("2,3")
// compareOne(a: .stringValue("5,1"), b: .stringValue("6")) == .stringValue("6")
// compareOne(a: .stringValue("1"), b: .intValue(1)) == nil
func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(bDouble) : .intValue(a)
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? .doubleValue(a) : .intValue(b)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(a) : .intValue(b)
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? .doubleValue(aDouble) : .intValue(b)
    default:
        return nil
    }
}

// Create a function that takes the array of numbers stored in arr and returns
// the string true if any combination of numbers in the array can be added up to
// equal the largest number in the array, otherwise return the string false.
// compareTwo(arr: [4, 6, 23, 10, 1, 3]) == "true"
// compareTwo(arr: [1, 2, 4, 7, 6]) == "false"
// compareTwo(arr: [3, 5, -1, 8, 12]) == "true"
func compareTwo(arr: [Int]) -> String {
    let sortedArr = arr.sorted()
    let largestNum = sortedArr.last!
    var sum = 0
    for num in sortedArr {
        sum += num
        if sum == largestNum {
            return "true"
        }
    }
    return "false"
}

// Create a function that takes an array of numbers and returns the second largest number.
// compareThree(arr: [10, 40, 30, 20, 50]) == 40
// compareThree(arr: [25, 143, 89, 13, 105]) == 105
// compareThree(arr: [54, 23, 11, 17, 10]) == 23
func compareThree(arr: [Int]) -> Int {
    let sortedArr = arr.sorted()
    return sortedArr[sortedArr.count - 2]
}
```
return a > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > b ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > bDouble ? a : b // cannot convert return expression of type 'String' to return type 'Value?'
return a > bDouble ? .doubleValue(a) : .intValue(b) // cannot convert value of type 'String' to expected argument type 'Int'

enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(bDouble) : .intValue(a)
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? .doubleValue(a) : .intValue(b)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(a) : .stringValue(b)
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? .stringValue(a) : .intValue(b)
    case let (.stringValue(a), .doubleValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > b ? .stringValue(a) : .doubleValue(b)
    default:
        return nil
    }
}
```swift
enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

// Create a function that takes integers, floats, or strings representing
// real numbers, and returns the larger variable in its given variable type.
// Return nil if the values are equal.
// Note: If a real number is represented as a string, the floating point might be . or ,
// compareOne(a: .intValue(1), b: .doubleValue(2.5)) == .doubleValue(2.5)
// compareOne(a: .intValue(1), b: .stringValue("2,3")) == .stringValue("2,3")
// compareOne(a: .stringValue("5,1"), b: .stringValue("6")) == .stringValue("6")
// compareOne(a: .stringValue("1"), b: .intValue(1)) == nil
func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case let (.intValue(a), .intValue(b)):
        return a > b ? a : b
    case let (.doubleValue(a), .doubleValue(b)):
        return a > b ? a : b
    case let (.stringValue(a), .stringValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : b
    case let (.intValue(a), .doubleValue(b)):
        return Double(a) > b ? .doubleValue(b) : .intValue(a)
    case let (.intValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return Double(a) > bDouble ? .doubleValue(bDouble) : .intValue(a)
    case let (.doubleValue(a), .intValue(b)):
        return a > Double(b) ? .doubleValue(a) : .intValue(b)
    case let (.doubleValue(a), .stringValue(b)):
        let bDouble = Double(b.replacingOccurrences(of: ",", with: ".")) ?? 0
        return a > bDouble ? .doubleValue(a) : .stringValue(b)
    case let (.stringValue(a), .intValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > Double(b) ? .stringValue(a) : .intValue(b)
    case let (.stringValue(a), .doubleValue(b)):
        let aDouble = Double(a.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > b ? .stringValue(a) : .doubleValue(b)
    default:
        return nil
    }
}
```

return a > b ? a : b // cannot convert return expression of type 'Int' to return type 'Value?'
return a > b ? a : b // cannot convert return expression of type 'Double' to return type 'Value?'
return aDouble > bDouble ? a : b // cannot convert return expression of type 'String' to return type 'Value?'

enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case (.intValue(let aInt), .intValue(let bInt)):
        return aInt > bInt ? a : bInt > aInt ? b : nil
    case (.doubleValue(let aDouble), .doubleValue(let bDouble)):
        return aDouble > bDouble ? a : bDouble > aDouble ? b : nil
    case (.stringValue(let aString), .stringValue(let bString)):
        let aDouble = Double(aString.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(bString.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : bDouble > aDouble ? b : nil
    default:
        return nil
    }
}
```swift
enum Value: Equatable, Hashable {
    case intValue(Int)
    case doubleValue(Double)
    case stringValue(String)
}

// Create a function that takes integers, floats, or strings representing
// real numbers, and returns the larger variable in its given variable type.
// Return nil if the values are equal.
// Note: If a real number is represented as a string, the floating point might be . or ,
// compareOne(a: .intValue(1), b: .doubleValue(2.5)) == .doubleValue(2.5)
// compareOne(a: .intValue(1), b: .stringValue("2,3")) == .stringValue("2,3")
// compareOne(a: .stringValue("5,1"), b: .stringValue("6")) == .stringValue("6")
// compareOne(a: .stringValue("1"), b: .intValue(1)) == nil
func compareOne(a: Value, b: Value) -> Value? {
    switch (a, b) {
    case (.intValue(let aInt), .intValue(let bInt)):
        return aInt > bInt ? a : bInt > aInt ? b : nil
    case (.doubleValue(let aDouble), .doubleValue(let bDouble)):
        return aDouble > bDouble ? a : bDouble > aDouble ? b : nil
    case (.stringValue(let aString), .stringValue(let bString)):
        let aDouble = Double(aString.replacingOccurrences(of: ",", with: ".")) ?? 0
        let bDouble = Double(bString.replacingOccurrences(of: ",", with: ".")) ?? 0
        return aDouble > bDouble ? a : bDouble > aDouble ? b : nil
    default:
        return nil
    }
}
```

 // XCTAssertTrue failed

func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```swift
// Evaluate whether the given number n can be written as the sum of exactly 4 positive even numbers
// Example
// isEqualToSumEven(n: 4) == false
// isEqualToSumEven(n: 6) == false
// isEqualToSumEven(n: 8) == true
func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isEqualToSumEven(n: Int) -> Bool {
    // Write your code here
}
```swift
// Evaluate whether the given number n can be written as the sum of exactly 4 positive even numbers
// Example
// isEqualToSumEven(n: 4) == false
// isEqualToSumEven(n: 6) == false
// isEqualToSumEven(n: 8) == true
func isEqualToSumEven(n: Int) -> Bool {
    // Write your code here
}
```

} // missing return in global function expected to return 'Bool'

func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```swift
// Evaluate whether the given number n can be written as the sum of exactly 4 positive even numbers
// Example
// isEqualToSumEven(n: 4) == false
// isEqualToSumEven(n: 6) == false
// isEqualToSumEven(n: 8) == true
func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```swift
// Evaluate whether the given number n can be written as the sum of exactly 4 positive even numbers
// Example
// isEqualToSumEven(n: 4) == false
// isEqualToSumEven(n: 6) == false
// isEqualToSumEven(n: 8) == true
func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```swift
// Evaluate whether the given number n can be written as the sum of exactly 4 positive even numbers
// Example
// isEqualToSumEven(n: 4) == false
// isEqualToSumEven(n: 6) == false
// isEqualToSumEven(n: 8) == true
func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```swift
// Evaluate whether the given number n can be written as the sum of exactly 4 positive even numbers
// Example
// isEqualToSumEven(n: 4) == false
// isEqualToSumEven(n: 6) == false
// isEqualToSumEven(n: 8) == true
func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```swift
// Evaluate whether the given number n can be written as the sum of exactly 4 positive even numbers
// Example
// isEqualToSumEven(n: 4) == false
// isEqualToSumEven(n: 6) == false
// isEqualToSumEven(n: 8) == true
func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isEqualToSumEven(n: Int) -> Bool {
    // Check if n is less than 8 or odd
    if n < 8 || n % 2 != 0 {
        return false
    }
    // If n is greater than or equal to 8 and even, it can be written as the sum of 4 positive even numbers
    return true
}
```swift
// Evaluate whether the given number n can be written as the sum of exactly 4 positive even numbers
// Example
// isEqualToSumEven(n: 4) == false
// isEqualToSumEven(n: 6) == false
// isEqualToSumEven(n: 8) == true
func isEqualToSumEven(n: Int) -> Bool {
    // Check if n is less than 8 or odd
    if n < 8 || n % 2 != 0 {
        return false
    }
    // If n is greater than or equal to 8 and even, it can be written as the sum of 4 positive even numbers
    return true
}
```

func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```swift
// Evaluate whether the given number n can be written as the sum of exactly 4 positive even numbers
// Example
// isEqualToSumEven(n: 4) == false
// isEqualToSumEven(n: 6) == false
// isEqualToSumEven(n: 8) == true
func isEqualToSumEven(n: Int) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func isEqualToSumEven(n: Int) -> Bool {
    // Check if n is less than 8 or odd
    if n < 8 || n % 2 != 0 {
        return false
    }
    // If n is greater than or equal to 8 and even, it can be written as the sum of 4 positive even numbers
    return true
}
```swift
// Evaluate whether the given number n can be written as the sum of exactly 4 positive even numbers
// Example
// isEqualToSumEven(n: 4) == false
// isEqualToSumEven(n: 6) == false
// isEqualToSumEven(n: 8) == true
func isEqualToSumEven(n: Int) -> Bool {
    // Check if n is less than 8 or odd
    if n < 8 || n % 2 != 0 {
        return false
    }
    // If n is greater than or equal to 8 and even, it can be written as the sum of 4 positive even numbers
    return true
}
```

func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= factorial(i)
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= i
    }
    return result
}

func check() {
    assert(specialFactorial(n: 4) == 288, "Test case 1 failed")
    assert(specialFactorial(n: 5) == 34560, "Test case 2 failed")
    assert(specialFactorial(n: 6) == 24883200, "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// The Brazilian factorial is defined as:
// brazilian_factorial(n) = n! * (n-1)! * (n-2)! * ... * 1!
// where n > 0
// For example:
// The function will receive an integer as input and should return the special
// factorial of this integer.
// specialFactorial(n: 4) == 288
func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= factorial(i)
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= i
    }
    return result
}

// Check function to verify the correctness of the specialFactorial function
func check() {
    assert(specialFactorial(n: 4) == 288, "Test case 1 failed")
    assert(specialFactorial(n: 5) == 34560, "Test case 2 failed")
    assert(specialFactorial(n: 6) == 24883200, "Test case 3 failed")
    print("All test cases passed!")
}

// Run the check function to verify the correctness of the solution
check()
```

func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}

func checkSpecialFactorial() {
    assert(specialFactorial(n: 4) == 288, "Test case 1 failed")
    assert(specialFactorial(n: 5) == 34560, "Test case 2 failed")
    assert(specialFactorial(n: 6) == 24883200, "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// The Brazilian factorial is defined as:
// brazilian_factorial(n) = n! * (n-1)! * (n-2)! * ... * 1!
// where n > 0
// For example:
// The function will receive an integer as input and should return the special
// factorial of this integer.
// specialFactorial(n: 4) == 288
func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}

// Check function to verify the correctness of the specialFactorial function
func checkSpecialFactorial() {
    assert(specialFactorial(n: 4) == 288, "Test case 1 failed")
    assert(specialFactorial(n: 5) == 34560, "Test case 2 failed")
    assert(specialFactorial(n: 6) == 24883200, "Test case 3 failed")
    print("All test cases passed!")
}

// Run the check function to verify the correctness of the specialFactorial function
checkSpecialFactorial()
```

func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= factorial(i)
    }
    return result
}

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

func check() {
    assert(specialFactorial(n: 4) == 288, "Test case 1 failed")
    assert(specialFactorial(n: 5) == 34560, "Test case 2 failed")
    assert(specialFactorial(n: 6) == 24883200, "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// The Brazilian factorial is defined as:
// brazilian_factorial(n) = n! * (n-1)! * (n-2)! * ... * 1!
// where n > 0
// For example:
// The function will receive an integer as input and should return the special
// factorial of this integer.
// specialFactorial(n: 4) == 288
func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= factorial(i)
    }
    return result
}

// Helper function to calculate the factorial of a number
func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 2...n {
        result *= i
    }
    return result
}

// Test cases to verify the correctness of the function
func check() {
    assert(specialFactorial(n: 4) == 288, "Test case 1 failed")
    assert(specialFactorial(n: 5) == 34560, "Test case 2 failed")
    assert(specialFactorial(n: 6) == 24883200, "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

 // Fatal error: Range requires lowerBound <= upperBound

func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}

func checkSpecialFactorial() {
    assert(specialFactorial(n: 4) == 288, "Test case 1 failed")
    assert(specialFactorial(n: 5) == 34560, "Test case 2 failed")
    assert(specialFactorial(n: 6) == 24883200, "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// The Brazilian factorial is defined as:
// brazilian_factorial(n) = n! * (n-1)! * (n-2)! * ... * 1!
// where n > 0
// For example:
// The function will receive an integer as input and should return the special
// factorial of this integer.
// specialFactorial(n: 4) == 288
func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}

// Check function to verify the correctness of the specialFactorial function
func checkSpecialFactorial() {
    assert(specialFactorial(n: 4) == 288, "Test case 1 failed")
    assert(specialFactorial(n: 5) == 34560, "Test case 2 failed")
    assert(specialFactorial(n: 6) == 24883200, "Test case 3 failed")
    print("All test cases passed!")
}

// Run the check function to verify the solution
checkSpecialFactorial()
```

func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}

func check() {
    assert(specialFactorial(n: 4) == 288, "Test case 1 failed")
    assert(specialFactorial(n: 5) == 34560, "Test case 2 failed")
    assert(specialFactorial(n: 6) == 24883200, "Test case 3 failed")
    print("All test cases passed!")
}
```swift
// The Brazilian factorial is defined as:
// brazilian_factorial(n) = n! * (n-1)! * (n-2)! * ... * 1!
// where n > 0
// For example:
// The function will receive an integer as input and should return the special
// factorial of this integer.
// specialFactorial(n: 4) == 288
func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}

// Check function to verify the correctness of the specialFactorial function
func check() {
    assert(specialFactorial(n: 4) == 288, "Test case 1 failed")
    assert(specialFactorial(n: 5) == 34560, "Test case 2 failed")
    assert(specialFactorial(n: 6) == 24883200, "Test case 3 failed")
    print("All test cases passed!")
}

check()
```

func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}
```swift
// The Brazilian factorial is defined as:
// brazilian_factorial(n) = n! * (n-1)! * (n-2)! * ... * 1!
// where n > 0
// For example:
// The function will receive an integer as input and should return the special
// factorial of this integer.
// specialFactorial(n: 4) == 288
func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}
```

func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}
```swift
// The Brazilian factorial is defined as:
// brazilian_factorial(n) = n! * (n-1)! * (n-2)! * ... * 1!
// where n > 0
// For example:
// The function will receive an integer as input and should return the special
// factorial of this integer.
// specialFactorial(n: 4) == 288
func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}

// Example usage:
print(specialFactorial(n: 4)) // Output: 288
```

func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}
```swift
// The Brazilian factorial is defined as:
// brazilian_factorial(n) = n! * (n-1)! * (n-2)! * ... * 1!
// where n > 0
// For example:
// The function will receive an integer as input and should return the special
// factorial of this integer.
// specialFactorial(n: 4) == 288
func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}

// Test cases to verify the correctness of the function
print(specialFactorial(n: 4)) // Expected output: 288
print(specialFactorial(n: 5)) // Expected output: 34560
print(specialFactorial(n: 6)) // Expected output: 24883200
```

func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}
```swift
// The Brazilian factorial is defined as:
// brazilian_factorial(n) = n! * (n-1)! * (n-2)! * ... * 1!
// where n > 0
// For example:
// The function will receive an integer as input and should return the special
// factorial of this integer.
// specialFactorial(n: 4) == 288
func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}
```

func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}

func check() {
    let testCases = [
        (input: 4, expected: 288),
        (input: 5, expected: 34560),
        (input: 6, expected: 24883200)
    ]
    
    for testCase in testCases {
        let output = specialFactorial(n: testCase.input)
        assert(output == testCase.expected, "Test failed for input \(testCase.input). Expected \(testCase.expected), got \(output)")
    }
    
    print("All tests passed!")
}
```swift
// The Brazilian factorial is defined as:
// brazilian_factorial(n) = n! * (n-1)! * (n-2)! * ... * 1!
// where n > 0
// For example:
// The function will receive an integer as input and should return the special
// factorial of this integer.
// specialFactorial(n: 4) == 288
func specialFactorial(n: Int) -> Int {
    var result = 1
    for i in 1...n {
        var factorial = 1
        for j in 1...i {
            factorial *= j
        }
        result *= factorial
    }
    return result
}

// Check function to verify the correctness of the specialFactorial function
func check() {
    let testCases = [
        (input: 4, expected: 288),
        (input: 5, expected: 34560),
        (input: 6, expected: 24883200)
    ]
    
    for testCase in testCases {
        let output = specialFactorial(n: testCase.input)
        assert(output == testCase.expected, "Test failed for input \(testCase.input). Expected \(testCase.expected), got \(output)")
    }
    
    print("All tests passed!")
}

// Run the check function to verify the correctness of the specialFactorial function
check()
```

func fixSpaces(text: String) -> String {
    var result = ""
    var consecutiveSpaces = 0
    
    for char in text {
        if char == " " {
            consecutiveSpaces += 1
            if consecutiveSpaces == 3 {
                result.append("-")
            } else if consecutiveSpaces < 3 {
                result.append("_")
            }
        } else {
            result.append(char)
            consecutiveSpaces = 0
        }
    }
    
    return result
}
```swift
// Given a string text, replace all spaces in it with underscores, 
// and if a string has more than 2 consecutive spaces, 
// then replace all consecutive spaces with - 
// fixSpaces(text: " Example") == "Example"
// fixSpaces(text: " Example 1") == "Example_1"
// fixSpaces(text: " Example 2") == "_Example_2"
// fixSpaces(text: " Example 3") == "_Example-3"
func fixSpaces(text: String) -> String {
    var result = ""
    var consecutiveSpaces = 0
    
    for char in text {
        if char == " " {
            consecutiveSpaces += 1
            if consecutiveSpaces == 3 {
                result.append("-")
            } else if consecutiveSpaces < 3 {
                result.append("_")
            }
        } else {
            result.append(char)
            consecutiveSpaces = 0
        }
    }
    
    return result
}
```

 // XCTAssertTrue failed

func fixSpaces(text: String) -> String {
    let words = text.components(separatedBy: " ")
    var result = ""
    for (index, word) in words.enumerated() {
        if word == "" {
            if words[index - 1] == "" {
                result.append("-")
            } else {
                result.append("_")
            }
        } else {
            result.append(word)
        }
        if index < words.count - 1 {
            result.append(" ")
        }
    }
    return result
}
```swift
// Given a string text, replace all spaces in it with underscores, 
// and if a string has more than 2 consecutive spaces, 
// then replace all consecutive spaces with - 
// fixSpaces(text: " Example") == "Example"
// fixSpaces(text: " Example 1") == "Example_1"
// fixSpaces(text: " Example 2") == "_Example_2"
// fixSpaces(text: " Example 3") == "_Example-3"
func fixSpaces(text: String) -> String {
    let words = text.components(separatedBy: " ")
    var result = ""
    for (index, word) in words.enumerated() {
        if word == "" {
            if words[index - 1] == "" {
                result.append("-")
            } else {
                result.append("_")
            }
        } else {
            result.append(word)
        }
        if index < words.count - 1 {
            result.append(" ")
        }
    }
    return result
}
```

 // XCTAssertTrue failed

func fixSpaces(text: String) -> String {
    let words = text.components(separatedBy: " ")
    let fixedWords = words.map { word in
        if word.count > 2 {
            return word.replacingOccurrences(of: " ", with: "-")
        } else {
            return word.replacingOccurrences(of: " ", with: "_")
        }
    }
    return fixedWords.joined(separator: " ")
}
```swift
// Given a string text, replace all spaces in it with underscores, 
// and if a string has more than 2 consecutive spaces, 
// then replace all consecutive spaces with - 
// fixSpaces(text: " Example") == "Example"
// fixSpaces(text: " Example 1") == "Example_1"
// fixSpaces(text: " Example 2") == "_Example_2"
// fixSpaces(text: " Example 3") == "_Example-3"
func fixSpaces(text: String) -> String {
    let words = text.components(separatedBy: " ")
    let fixedWords = words.map { word in
        if word.count > 2 {
            return word.replacingOccurrences(of: " ", with: "-")
        } else {
            return word.replacingOccurrences(of: " ", with: "_")
        }
    }
    return fixedWords.joined(separator: " ")
}
```

 // XCTAssertTrue failed

func fixSpaces(text: String) -> String {
    var result = ""
    var spaceCount = 0
    
    for char in text {
        if char == " " {
            spaceCount += 1
        } else {
            if spaceCount > 2 {
                result += "-"
            } else {
                result += String(repeating: "_", count: spaceCount)
            }
            result += String(char)
            spaceCount = 0
        }
    }
    
    if spaceCount > 2 {
        result += "-"
    } else {
        result += String(repeating: "_", count: spaceCount)
    }
    
    return result
}
```swift
// Given a string text, replace all spaces in it with underscores, 
// and if a string has more than 2 consecutive spaces, 
// then replace all consecutive spaces with - 
// fixSpaces(text: " Example") == "Example"
// fixSpaces(text: " Example 1") == "Example_1"
// fixSpaces(text: " Example 2") == "_Example_2"
// fixSpaces(text: " Example 3") == "_Example-3"
func fixSpaces(text: String) -> String {
    var result = ""
    var spaceCount = 0
    
    for char in text {
        if char == " " {
            spaceCount += 1
        } else {
            if spaceCount > 2 {
                result += "-"
            } else {
                result += String(repeating: "_", count: spaceCount)
            }
            result += String(char)
            spaceCount = 0
        }
    }
    
    if spaceCount > 2 {
        result += "-"
    } else {
        result += String(repeating: "_", count: spaceCount)
    }
    
    return result
}
```

func fixSpaces(text: String) -> String {
    var result = ""
    var spaceCount = 0
    
    for char in text {
        if char == " " {
            spaceCount += 1
            if spaceCount == 3 {
                result.append("-")
                spaceCount = 0
            } else {
                result.append("_")
            }
        } else {
            spaceCount = 0
            result.append(char)
        }
    }
    
    return result
}
```swift
// Given a string text, replace all spaces in it with underscores, 
// and if a string has more than 2 consecutive spaces, 
// then replace all consecutive spaces with - 
// fixSpaces(text: " Example") == "Example"
// fixSpaces(text: " Example 1") == "Example_1"
// fixSpaces(text: " Example 2") == "_Example_2"
// fixSpaces(text: " Example 3") == "_Example-3"
func fixSpaces(text: String) -> String {
    var result = ""
    var spaceCount = 0
    
    for char in text {
        if char == " " {
            spaceCount += 1
            if spaceCount == 3 {
                result.append("-")
                spaceCount = 0
            } else {
                result.append("_")
            }
        } else {
            spaceCount = 0
            result.append(char)
        }
    }
    
    return result
}
```

 // XCTAssertTrue failed

func fixSpaces(text: String) -> String {
    var result = ""
    var spaceCount = 0
    
    for char in text {
        if char == " " {
            spaceCount += 1
            if spaceCount == 3 {
                result.append("-")
                spaceCount = 0
            } else if spaceCount < 3 {
                result.append("_")
            }
        } else {
            result.append(char)
            spaceCount = 0
        }
    }
    
    return result
}
```swift
// Given a string text, replace all spaces in it with underscores, 
// and if a string has more than 2 consecutive spaces, 
// then replace all consecutive spaces with - 
// fixSpaces(text: " Example") == "Example"
// fixSpaces(text: " Example 1") == "Example_1"
// fixSpaces(text: " Example 2") == "_Example_2"
// fixSpaces(text: " Example 3") == "_Example-3"
func fixSpaces(text: String) -> String {
    var result = ""
    var spaceCount = 0
    
    for char in text {
        if char == " " {
            spaceCount += 1
            if spaceCount == 3 {
                result.append("-")
                spaceCount = 0
            } else if spaceCount < 3 {
                result.append("_")
            }
        } else {
            result.append(char)
            spaceCount = 0
        }
    }
    
    return result
}
```

 // XCTAssertTrue failed

func fixSpaces(text: String) -> String {
    let words = text.components(separatedBy: " ")
    var result = ""
    for (index, word) in words.enumerated() {
        if index > 0 {
            if word.count > 2 {
                result += "-"
            } else {
                result += "_"
            }
        }
        result += word
    }
    return result
}
```swift
// Given a string text, replace all spaces in it with underscores, 
// and if a string has more than 2 consecutive spaces, 
// then replace all consecutive spaces with - 
// fixSpaces(text: " Example") == "Example"
// fixSpaces(text: " Example 1") == "Example_1"
// fixSpaces(text: " Example 2") == "_Example_2"
// fixSpaces(text: " Example 3") == "_Example-3"
func fixSpaces(text: String) -> String {
    let words = text.components(separatedBy: " ")
    var result = ""
    for (index, word) in words.enumerated() {
        if index > 0 {
            if word.count > 2 {
                result += "-"
            } else {
                result += "_"
            }
        }
        result += word
    }
    return result
}
```

 // XCTAssertTrue failed

func fixSpaces(text: String) -> String {
    let words = text.components(separatedBy: " ")
    let joinedWords = words.joined(separator: "-")
    return joinedWords.replacingOccurrences(of: "-", with: "_")
}
```swift
// Given a string text, replace all spaces in it with underscores, 
// and if a string has more than 2 consecutive spaces, 
// then replace all consecutive spaces with - 
// fixSpaces(text: " Example") == "Example"
// fixSpaces(text: " Example 1") == "Example_1"
// fixSpaces(text: " Example 2") == "_Example_2"
// fixSpaces(text: " Example 3") == "_Example-3"
func fixSpaces(text: String) -> String {
    let words = text.components(separatedBy: " ")
    let joinedWords = words.joined(separator: "-")
    return joinedWords.replacingOccurrences(of: "-", with: "_")
}
```

 // XCTAssertTrue failed

func fixSpaces(text: String) -> String {
    var result = ""
    var spaceCount = 0
    
    for char in text {
        if char == " " {
            spaceCount += 1
        } else {
            if spaceCount > 2 {
                result += "-"
            } else {
                result += String(repeating: "_", count: spaceCount)
            }
            result += String(char)
            spaceCount = 0
        }
    }
    
    if spaceCount > 2 {
        result += "-"
    } else {
        result += String(repeating: "_", count: spaceCount)
    }
    
    return result
}
```swift
// Given a string text, replace all spaces in it with underscores, 
// and if a string has more than 2 consecutive spaces, 
// then replace all consecutive spaces with - 
// fixSpaces(text: " Example") == "Example"
// fixSpaces(text: " Example 1") == "Example_1"
// fixSpaces(text: " Example 2") == "_Example_2"
// fixSpaces(text: " Example 3") == "_Example-3"
func fixSpaces(text: String) -> String {
    var result = ""
    var spaceCount = 0
    
    for char in text {
        if char == " " {
            spaceCount += 1
        } else {
            if spaceCount > 2 {
                result += "-"
            } else {
                result += String(repeating: "_", count: spaceCount)
            }
            result += String(char)
            spaceCount = 0
        }
    }
    
    if spaceCount > 2 {
        result += "-"
    } else {
        result += String(repeating: "_", count: spaceCount)
    }
    
    return result
}
```

func fixSpaces(text: String) -> String {
    let words = text.components(separatedBy: " ")
    let joinedWords = words.joined(separator: "-")
    return joinedWords.replacingOccurrences(of: "-", with: "_")
}
```swift
// Given a string text, replace all spaces in it with underscores, 
// and if a string has more than 2 consecutive spaces, 
// then replace all consecutive spaces with - 
// fixSpaces(text: " Example") == "Example"
// fixSpaces(text: " Example 1") == "Example_1"
// fixSpaces(text: " Example 2") == "_Example_2"
// fixSpaces(text: " Example 3") == "_Example-3"
func fixSpaces(text: String) -> String {
    let words = text.components(separatedBy: " ")
    let joinedWords = words.joined(separator: "-")
    return joinedWords.replacingOccurrences(of: "-", with: "_")
}
```

 // XCTAssertTrue failed

func fileNameCheck(fileName: String) -> String {
    // Your code here
}
```swift
// Create a function which takes a string representing a file's name, and returns
// 'Yes' if the the file's name is valid, and returns 'No' otherwise.
// A file's name is considered to be valid if and only if all the following conditions 
// are met:
// - There should not be more than three digits ('0'-'9') in the file's name.
// - The file's name contains exactly one dot '.'
// - The substring before the dot should not be empty, and it starts with a letter from 
// the latin alphapet ('a'-'z' and 'A'-'Z').
// - The substring after the dot should be one of these: ['txt', 'exe', 'dll']
// Examples:
// fileNameCheck(fileName: "example.txt") == "Yes"
// fileNameCheck(fileName: "1example.dll") == "No"
func fileNameCheck(fileName: String) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func fileNameCheck(fileName: String) -> String {
    // Your code here
}
```swift
// Create a function which takes a string representing a file's name, and returns
// 'Yes' if the the file's name is valid, and returns 'No' otherwise.
// A file's name is considered to be valid if and only if all the following conditions 
// are met:
// - There should not be more than three digits ('0'-'9') in the file's name.
// - The file's name contains exactly one dot '.'
// - The substring before the dot should not be empty, and it starts with a letter from 
// the latin alphapet ('a'-'z' and 'A'-'Z').
// - The substring after the dot should be one of these: ['txt', 'exe', 'dll']
// Examples:
// fileNameCheck(fileName: "example.txt") == "Yes"
// fileNameCheck(fileName: "1example.dll") == "No"
func fileNameCheck(fileName: String) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func fileNameCheck(fileName: String) -> String {
    let components = fileName.components(separatedBy: ".")
    guard components.count == 2 else { return "No" }
    let name = components[0]
    let extension = components[1]
    let digits = name.filter { $0.isNumber }
    guard digits.count <= 3 else { return "No" }
    guard let firstChar = name.first, firstChar.isLetter else { return "No" }
    guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" }
    return "Yes"
}
```swift
// Create a function which takes a string representing a file's name, and returns
// 'Yes' if the the file's name is valid, and returns 'No' otherwise.
// A file's name is considered to be valid if and only if all the following conditions 
// are met:
// - There should not be more than three digits ('0'-'9') in the file's name.
// - The file's name contains exactly one dot '.'
// - The substring before the dot should not be empty, and it starts with a letter from 
// the latin alphapet ('a'-'z' and 'A'-'Z').
// - The substring after the dot should be one of these: ['txt', 'exe', 'dll']
// Examples:
// fileNameCheck(fileName: "example.txt") == "Yes"
// fileNameCheck(fileName: "1example.dll") == "No"
func fileNameCheck(fileName: String) -> String {
    let components = fileName.components(separatedBy: ".")
    guard components.count == 2 else { return "No" }
    let name = components[0]
    let extension = components[1]
    let digits = name.filter { $0.isNumber }
    guard digits.count <= 3 else { return "No" }
    guard let firstChar = name.first, firstChar.isLetter else { return "No" }
    guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" }
    return "Yes"
}
```

let extension = components[1] // keyword 'extension' cannot be used as an identifier here
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected expression, var, let or case in 'guard' condition
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected '{' in extension
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected type name in extension declaration
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // declaration is only valid at file scope
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected type name in extension declaration
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected '{' in extension
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected type name in extension declaration
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // declaration is only valid at file scope
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // declaration is only valid at file scope
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected '{' in extension

func fileNameCheck(fileName: String) -> String {
    // Your code here
}
```swift
// Create a function which takes a string representing a file's name, and returns
// 'Yes' if the the file's name is valid, and returns 'No' otherwise.
// A file's name is considered to be valid if and only if all the following conditions 
// are met:
// - There should not be more than three digits ('0'-'9') in the file's name.
// - The file's name contains exactly one dot '.'
// - The substring before the dot should not be empty, and it starts with a letter from 
// the latin alphapet ('a'-'z' and 'A'-'Z').
// - The substring after the dot should be one of these: ['txt', 'exe', 'dll']
// Examples:
// fileNameCheck(fileName: "example.txt") == "Yes"
// fileNameCheck(fileName: "1example.dll") == "No"
func fileNameCheck(fileName: String) -> String {
    // Your code here
}
```

} // missing return in global function expected to return 'String'

func fileNameCheck(fileName: String) -> String {
    let components = fileName.components(separatedBy: ".")
    guard components.count == 2 else { return "No" }
    let name = components[0]
    let extension = components[1]
    let digits = name.filter { $0.isNumber }
    guard digits.count <= 3 else { return "No" }
    guard let firstChar = name.first, firstChar.isLetter else { return "No" }
    guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" }
    return "Yes"
}
```swift
// Create a function which takes a string representing a file's name, and returns
// 'Yes' if the the file's name is valid, and returns 'No' otherwise.
// A file's name is considered to be valid if and only if all the following conditions 
// are met:
// - There should not be more than three digits ('0'-'9') in the file's name.
// - The file's name contains exactly one dot '.'
// - The substring before the dot should not be empty, and it starts with a letter from 
// the latin alphapet ('a'-'z' and 'A'-'Z').
// - The substring after the dot should be one of these: ['txt', 'exe', 'dll']
// Examples:
// fileNameCheck(fileName: "example.txt") == "Yes"
// fileNameCheck(fileName: "1example.dll") == "No"
func fileNameCheck(fileName: String) -> String {
    let components = fileName.components(separatedBy: ".")
    guard components.count == 2 else { return "No" }
    let name = components[0]
    let extension = components[1]
    let digits = name.filter { $0.isNumber }
    guard digits.count <= 3 else { return "No" }
    guard let firstChar = name.first, firstChar.isLetter else { return "No" }
    guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" }
    return "Yes"
}
```

let extension = components[1] // keyword 'extension' cannot be used as an identifier here
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected expression, var, let or case in 'guard' condition
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected '{' in extension
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected type name in extension declaration
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // declaration is only valid at file scope
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected type name in extension declaration
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected '{' in extension
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected type name in extension declaration
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // declaration is only valid at file scope
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // declaration is only valid at file scope
guard extension == "txt" || extension == "exe" || extension == "dll" else { return "No" } // expected '{' in extension

func fileNameCheck(fileName: String) -> String {
    let allowedExtensions = ["txt", "exe", "dll"]
    let components = fileName.components(separatedBy: ".")
    guard components.count == 2 else { return "No" }
    let name = components[0]
    let extension = components[1]
    let digitCount = name.filter { $0.isNumber }.count
    guard digitCount <= 3, name.first?.isLetter == true, allowedExtensions.contains(extension) else { return "No" }
    return "Yes"
}
```swift
// Create a function which takes a string representing a file's name, and returns
// 'Yes' if the the file's name is valid, and returns 'No' otherwise.
// A file's name is considered to be valid if and only if all the following conditions 
// are met:
// - There should not be more than three digits ('0'-'9') in the file's name.
// - The file's name contains exactly one dot '.'
// - The substring before the dot should not be empty, and it starts with a letter from 
// the latin alphapet ('a'-'z' and 'A'-'Z').
// - The substring after the dot should be one of these: ['txt', 'exe', 'dll']
// Examples:
// fileNameCheck(fileName: "example.txt") == "Yes"
// fileNameCheck(fileName: "1example.dll") == "No"
func fileNameCheck(fileName: String) -> String {
    let allowedExtensions = ["txt", "exe", "dll"]
    let components = fileName.components(separatedBy: ".")
    guard components.count == 2 else { return "No" }
    let name = components[0]
    let extension = components[1]
    let digitCount = name.filter { $0.isNumber }.count
    guard digitCount <= 3, name.first?.isLetter == true, allowedExtensions.contains(extension) else { return "No" }
    return "Yes"
}
```

let extension = components[1] // keyword 'extension' cannot be used as an identifier here
guard digitCount <= 3, name.first?.isLetter == true, allowedExtensions.contains(extension) else { return "No" } // expected type name in extension declaration
guard digitCount <= 3, name.first?.isLetter == true, allowedExtensions.contains(extension) else { return "No" } // missing argument for parameter 'where' in call
guard digitCount <= 3, name.first?.isLetter == true, allowedExtensions.contains(extension) else { return "No" } // expected '{' in extension
guard digitCount <= 3, name.first?.isLetter == true, allowedExtensions.contains(extension) else { return "No" } // expected expression in list of expressions
guard digitCount <= 3, name.first?.isLetter == true, allowedExtensions.contains(extension) else { return "No" } // declaration is only valid at file scope

func fileNameCheck(fileName: String) -> String {
    let components = fileName.components(separatedBy: ".")
    guard components.count == 2 else { return "No" }
    let name = components[0]
    let extension = components[1]
    let digits = name.filter { $0.isNumber }
    guard digits.count <= 3 else { return "No" }
    guard let firstChar = name.first, "a"..."z" ~= firstChar.lowercased() else { return "No" }
    guard ["txt", "exe", "dll"].contains(extension) else { return "No" }
    return "Yes"
}
```swift
// Create a function which takes a string representing a file's name, and returns
// 'Yes' if the the file's name is valid, and returns 'No' otherwise.
// A file's name is considered to be valid if and only if all the following conditions 
// are met:
// - There should not be more than three digits ('0'-'9') in the file's name.
// - The file's name contains exactly one dot '.'
// - The substring before the dot should not be empty, and it starts with a letter from 
// the latin alphapet ('a'-'z' and 'A'-'Z').
// - The substring after the dot should be one of these: ['txt', 'exe', 'dll']
// Examples:
// fileNameCheck(fileName: "example.txt") == "Yes"
// fileNameCheck(fileName: "1example.dll") == "No"
func fileNameCheck(fileName: String) -> String {
    let components = fileName.components(separatedBy: ".")
    guard components.count == 2 else { return "No" }
    let name = components[0]
    let extension = components[1]
    let digits = name.filter { $0.isNumber }
    guard digits.count <= 3 else { return "No" }
    guard let firstChar = name.first, "a"..."z" ~= firstChar.lowercased() else { return "No" }
    guard ["txt", "exe", "dll"].contains(extension) else { return "No" }
    return "Yes"
}
```

let extension = components[1] // keyword 'extension' cannot be used as an identifier here
guard ["txt", "exe", "dll"].contains(extension) else { return "No" } // expected '{' in extension
guard ["txt", "exe", "dll"].contains(extension) else { return "No" } // expected expression in list of expressions
guard ["txt", "exe", "dll"].contains(extension) else { return "No" } // declaration is only valid at file scope
guard ["txt", "exe", "dll"].contains(extension) else { return "No" } // expected type name in extension declaration
guard ["txt", "exe", "dll"].contains(extension) else { return "No" } // missing argument for parameter 'where' in call

func fileNameCheck(fileName: String) -> String {
    let regex = "^[a-zA-Z][a-zA-Z0-9]{0,2}\\.txt$|^^[a-zA-Z][a-zA-Z0-9]{0,2}\\.exe$|^^[a-zA-Z][a-zA-Z0-9]{0,2}\\.dll$"
    let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    return predicate.evaluate(with: fileName) ? "Yes" : "No"
}
```swift
// Create a function which takes a string representing a file's name, and returns
// 'Yes' if the the file's name is valid, and returns 'No' otherwise.
// A file's name is considered to be valid if and only if all the following conditions 
// are met:
// - There should not be more than three digits ('0'-'9') in the file's name.
// - The file's name contains exactly one dot '.'
// - The substring before the dot should not be empty, and it starts with a letter from 
// the latin alphapet ('a'-'z' and 'A'-'Z').
// - The substring after the dot should be one of these: ['txt', 'exe', 'dll']
// Examples:
// fileNameCheck(fileName: "example.txt") == "Yes"
// fileNameCheck(fileName: "1example.dll") == "No"
func fileNameCheck(fileName: String) -> String {
    let regex = "^[a-zA-Z][a-zA-Z0-9]{0,2}\\.txt$|^^[a-zA-Z][a-zA-Z0-9]{0,2}\\.exe$|^^[a-zA-Z][a-zA-Z0-9]{0,2}\\.dll$"
    let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    return predicate.evaluate(with: fileName) ? "Yes" : "No"
}
```

 // XCTAssertTrue failed

func fileNameCheck(fileName: String) -> String {
    let regex = "^[a-zA-Z][a-zA-Z0-9]{0,2}\\.(txt|exe|dll)$"
    let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    return predicate.evaluate(with: fileName) ? "Yes" : "No"
}
```swift
// Create a function which takes a string representing a file's name, and returns
// 'Yes' if the the file's name is valid, and returns 'No' otherwise.
// A file's name is considered to be valid if and only if all the following conditions 
// are met:
// - There should not be more than three digits ('0'-'9') in the file's name.
// - The file's name contains exactly one dot '.'
// - The substring before the dot should not be empty, and it starts with a letter from 
// the latin alphapet ('a'-'z' and 'A'-'Z').
// - The substring after the dot should be one of these: ['txt', 'exe', 'dll']
// Examples:
// fileNameCheck(fileName: "example.txt") == "Yes"
// fileNameCheck(fileName: "1example.dll") == "No"
func fileNameCheck(fileName: String) -> String {
    let regex = "^[a-zA-Z][a-zA-Z0-9]{0,2}\\.(txt|exe|dll)$"
    let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    return predicate.evaluate(with: fileName) ? "Yes" : "No"
}
```
 // XCTAssertTrue failed

func fileNameCheck(fileName: String) -> String {
    let regex = "^[a-zA-Z][a-zA-Z0-9]{0,2}\\.(txt|exe|dll)$"
    let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    return predicate.evaluate(with: fileName) ? "Yes" : "No"
}
```swift
// Create a function which takes a string representing a file's name, and returns
// 'Yes' if the the file's name is valid, and returns 'No' otherwise.
// A file's name is considered to be valid if and only if all the following conditions 
// are met:
// - There should not be more than three digits ('0'-'9') in the file's name.
// - The file's name contains exactly one dot '.'
// - The substring before the dot should not be empty, and it starts with a letter from 
// the latin alphapet ('a'-'z' and 'A'-'Z').
// - The substring after the dot should be one of these: ['txt', 'exe', 'dll']
// Examples:
// fileNameCheck(fileName: "example.txt") == "Yes"
// fileNameCheck(fileName: "1example.dll") == "No"
func fileNameCheck(fileName: String) -> String {
    let regex = "^[a-zA-Z][a-zA-Z0-9]{0,2}\\.(txt|exe|dll)$"
    let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    return predicate.evaluate(with: fileName) ? "Yes" : "No"
}
```

 // XCTAssertTrue failed

func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```swift
// You are given a string representing a sentence,
// the sentence contains some words separated by a space,
// and you have to return a string that contains the words from the original sentence,
// whose lengths are prime numbers,
// the order of the words in the new string should be the same as the original one.
// Example 1:
// Example 2:
// Constraints:
// * 1 <= len(sentence) <= 100
// * sentence contains only letters
// wordsInSentence(sentence: "This is a test") == "is"
// wordsInSentence(sentence: "lets go for swimming") == "go for"
func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```
let primeWords = words.filter { isPrime($0.count) } // cannot find 'isPrime' in scope

func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeLengthWords = words.filter { isPrime($0.count) }
    return primeLengthWords.joined(separator: " ")
}
```swift
// You are given a string representing a sentence,
// the sentence contains some words separated by a space,
// and you have to return a string that contains the words from the original sentence,
// whose lengths are prime numbers,
// the order of the words in the new string should be the same as the original one.
// Example 1:
// Example 2:
// Constraints:
// * 1 <= len(sentence) <= 100
// * sentence contains only letters
// wordsInSentence(sentence: "This is a test") == "is"
// wordsInSentence(sentence: "lets go for swimming") == "go for"
func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeLengthWords = words.filter { isPrime($0.count) }
    return primeLengthWords.joined(separator: " ")
}
```
let primeLengthWords = words.filter { isPrime($0.count) } // cannot find 'isPrime' in scope

func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```swift
// You are given a string representing a sentence,
// the sentence contains some words separated by a space,
// and you have to return a string that contains the words from the original sentence,
// whose lengths are prime numbers,
// the order of the words in the new string should be the same as the original one.
// Example 1:
// Example 2:
// Constraints:
// * 1 <= len(sentence) <= 100
// * sentence contains only letters
// wordsInSentence(sentence: "This is a test") == "is"
// wordsInSentence(sentence: "lets go for swimming") == "go for"
func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```
let primeWords = words.filter { isPrime($0.count) } // cannot find 'isPrime' in scope

func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```swift
// You are given a string representing a sentence,
// the sentence contains some words separated by a space,
// and you have to return a string that contains the words from the original sentence,
// whose lengths are prime numbers,
// the order of the words in the new string should be the same as the original one.
// Example 1:
// Example 2:
// Constraints:
// * 1 <= len(sentence) <= 100
// * sentence contains only letters
// wordsInSentence(sentence: "This is a test") == "is"
// wordsInSentence(sentence: "lets go for swimming") == "go for"
func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```
let primeWords = words.filter { isPrime($0.count) } // cannot find 'isPrime' in scope

func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```swift
// You are given a string representing a sentence,
// the sentence contains some words separated by a space,
// and you have to return a string that contains the words from the original sentence,
// whose lengths are prime numbers,
// the order of the words in the new string should be the same as the original one.
// Example 1:
// Example 2:
// Constraints:
// * 1 <= len(sentence) <= 100
// * sentence contains only letters
// wordsInSentence(sentence: "This is a test") == "is"
// wordsInSentence(sentence: "lets go for swimming") == "go for"
func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```
let primeWords = words.filter { isPrime($0.count) } // cannot find 'isPrime' in scope

func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```swift
// You are given a string representing a sentence,
// the sentence contains some words separated by a space,
// and you have to return a string that contains the words from the original sentence,
// whose lengths are prime numbers,
// the order of the words in the new string should be the same as the original one.
// Example 1:
// Example 2:
// Constraints:
// * 1 <= len(sentence) <= 100
// * sentence contains only letters
// wordsInSentence(sentence: "This is a test") == "is"
// wordsInSentence(sentence: "lets go for swimming") == "go for"
func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```
let primeWords = words.filter { isPrime($0.count) } // cannot find 'isPrime' in scope

func wordsInSentence(sentence: String) -> String {
    let words = sentence.components(separatedBy: " ")
    let primeLengthWords = words.filter { isPrime($0.count) }
    return primeLengthWords.joined(separator: " ")
}
```swift
// You are given a string representing a sentence,
// the sentence contains some words separated by a space,
// and you have to return a string that contains the words from the original sentence,
// whose lengths are prime numbers,
// the order of the words in the new string should be the same as the original one.
// Example 1:
// Example 2:
// Constraints:
// * 1 <= len(sentence) <= 100
// * sentence contains only letters
// wordsInSentence(sentence: "This is a test") == "is"
// wordsInSentence(sentence: "lets go for swimming") == "go for"
func wordsInSentence(sentence: String) -> String {
    let words = sentence.components(separatedBy: " ")
    let primeLengthWords = words.filter { isPrime($0.count) }
    return primeLengthWords.joined(separator: " ")
}
```

let primeLengthWords = words.filter { isPrime($0.count) } // cannot find 'isPrime' in scope

func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeNumbers = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
    var result = ""
    for word in words {
        if primeNumbers.contains(word.count) {
            result += word + " "
        }
    }
    return result.trimmingCharacters(in: .whitespaces)
}
```swift
// You are given a string representing a sentence,
// the sentence contains some words separated by a space,
// and you have to return a string that contains the words from the original sentence,
// whose lengths are prime numbers,
// the order of the words in the new string should be the same as the original one.
// Example 1:
// Example 2:
// Constraints:
// * 1 <= len(sentence) <= 100
// * sentence contains only letters
// wordsInSentence(sentence: "This is a test") == "is"
// wordsInSentence(sentence: "lets go for swimming") == "go for"
func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeNumbers = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
    var result = ""
    for word in words {
        if primeNumbers.contains(word.count) {
            result += word + " "
        }
    }
    return result.trimmingCharacters(in: .whitespaces)
}
```

func wordsInSentence(sentence: String) -> String {
    let words = sentence.components(separatedBy: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```swift
// You are given a string representing a sentence,
// the sentence contains some words separated by a space,
// and you have to return a string that contains the words from the original sentence,
// whose lengths are prime numbers,
// the order of the words in the new string should be the same as the original one.
// Example 1:
// Example 2:
// Constraints:
// * 1 <= len(sentence) <= 100
// * sentence contains only letters
// wordsInSentence(sentence: "This is a test") == "is"
// wordsInSentence(sentence: "lets go for swimming") == "go for"
func wordsInSentence(sentence: String) -> String {
    let words = sentence.components(separatedBy: " ")
    let primeWords = words.filter { isPrime($0.count) }
    return primeWords.joined(separator: " ")
}
```
let primeWords = words.filter { isPrime($0.count) } // cannot find 'isPrime' in scope

func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeLengthWords = words.filter { isPrime($0.count) }
    return primeLengthWords.joined(separator: " ")
}
```swift
// You are given a string representing a sentence,
// the sentence contains some words separated by a space,
// and you have to return a string that contains the words from the original sentence,
// whose lengths are prime numbers,
// the order of the words in the new string should be the same as the original one.
// Example 1:
// Example 2:
// Constraints:
// * 1 <= len(sentence) <= 100
// * sentence contains only letters
// wordsInSentence(sentence: "This is a test") == "is"
// wordsInSentence(sentence: "lets go for swimming") == "go for"
func wordsInSentence(sentence: String) -> String {
    let words = sentence.split(separator: " ")
    let primeLengthWords = words.filter { isPrime($0.count) }
    return primeLengthWords.joined(separator: " ")
}
```
let primeLengthWords = words.filter { isPrime($0.count) } // cannot find 'isPrime' in scope

func simplify(x: String, n: String) -> Bool {
    // Your code goes here
}
```swift
// Your task is to implement a function that will simplify the expression
// x * n. The function returns true if x * n evaluates to a whole number and false
// otherwise. Both x and n, are string representation of a fraction, and have the following format,
// <numerator>/<denominator> where both numerator and denominator are positive whole numbers.
// You can assume that x, and n are valid fractions, and do not have zero as denominator.
// simplify(x: "1/5", n: "5/1") == true
// simplify(x: "1/6", n: "2/1") == false
// simplify(x: "7/10", n: "10/2") == false
func simplify(x: String, n: String) -> Bool {
    // Your code goes here
}
```

} // missing return in global function expected to return 'Bool'

func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```swift
// Your task is to implement a function that will simplify the expression
// x * n. The function returns true if x * n evaluates to a whole number and false
// otherwise. Both x and n, are string representation of a fraction, and have the following format,
// <numerator>/<denominator> where both numerator and denominator are positive whole numbers.
// You can assume that x, and n are valid fractions, and do not have zero as denominator.
// simplify(x: "1/5", n: "5/1") == true
// simplify(x: "1/6", n: "2/1") == false
// simplify(x: "7/10", n: "10/2") == false
func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```

func simplify(x: String, n: String) -> Bool {
    // Your code here
}
```swift
// Your task is to implement a function that will simplify the expression
// x * n. The function returns true if x * n evaluates to a whole number and false
// otherwise. Both x and n, are string representation of a fraction, and have the following format,
// <numerator>/<denominator> where both numerator and denominator are positive whole numbers.
// You can assume that x, and n are valid fractions, and do not have zero as denominator.
// simplify(x: "1/5", n: "5/1") == true
// simplify(x: "1/6", n: "2/1") == false
// simplify(x: "7/10", n: "10/2") == false
func simplify(x: String, n: String) -> Bool {
    // Your code here
}
```

} // missing return in global function expected to return 'Bool'

func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```swift
// Your task is to implement a function that will simplify the expression
// x * n. The function returns true if x * n evaluates to a whole number and false
// otherwise. Both x and n, are string representation of a fraction, and have the following format,
// <numerator>/<denominator> where both numerator and denominator are positive whole numbers.
// You can assume that x, and n are valid fractions, and do not have zero as denominator.
// simplify(x: "1/5", n: "5/1") == true
// simplify(x: "1/6", n: "2/1") == false
// simplify(x: "7/10", n: "10/2") == false
func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```

func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```swift
// Your task is to implement a function that will simplify the expression
// x * n. The function returns true if x * n evaluates to a whole number and false
// otherwise. Both x and n, are string representation of a fraction, and have the following format,
// <numerator>/<denominator> where both numerator and denominator are positive whole numbers.
// You can assume that x, and n are valid fractions, and do not have zero as denominator.
// simplify(x: "1/5", n: "5/1") == true
// simplify(x: "1/6", n: "2/1") == false
// simplify(x: "7/10", n: "10/2") == false
func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```

func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```swift
// Your task is to implement a function that will simplify the expression
// x * n. The function returns true if x * n evaluates to a whole number and false
// otherwise. Both x and n, are string representation of a fraction, and have the following format,
// <numerator>/<denominator> where both numerator and denominator are positive whole numbers.
// You can assume that x, and n are valid fractions, and do not have zero as denominator.
// simplify(x: "1/5", n: "5/1") == true
// simplify(x: "1/6", n: "2/1") == false
// simplify(x: "7/10", n: "10/2") == false
func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```

func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```swift
// Your task is to implement a function that will simplify the expression
// x * n. The function returns true if x * n evaluates to a whole number and false
// otherwise. Both x and n, are string representation of a fraction, and have the following format,
// <numerator>/<denominator> where both numerator and denominator are positive whole numbers.
// You can assume that x, and n are valid fractions, and do not have zero as denominator.
// simplify(x: "1/5", n: "5/1") == true
// simplify(x: "1/6", n: "2/1") == false
// simplify(x: "7/10", n: "10/2") == false
func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```

func simplify(x: String, n: String) -> Bool {
    let xComponents = x.components(separatedBy: "/")
    let nComponents = n.components(separatedBy: "/")
    let xNumerator = Int(xComponents[0])!
    let xDenominator = Int(xComponents[1])!
    let nNumerator = Int(nComponents[0])!
    let nDenominator = Int(nComponents[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```swift
// Your task is to implement a function that will simplify the expression
// x * n. The function returns true if x * n evaluates to a whole number and false
// otherwise. Both x and n, are string representation of a fraction, and have the following format,
// <numerator>/<denominator> where both numerator and denominator are positive whole numbers.
// You can assume that x, and n are valid fractions, and do not have zero as denominator.
// simplify(x: "1/5", n: "5/1") == true
// simplify(x: "1/6", n: "2/1") == false
// simplify(x: "7/10", n: "10/2") == false
func simplify(x: String, n: String) -> Bool {
    let xComponents = x.components(separatedBy: "/")
    let nComponents = n.components(separatedBy: "/")
    let xNumerator = Int(xComponents[0])!
    let xDenominator = Int(xComponents[1])!
    let nNumerator = Int(nComponents[0])!
    let nDenominator = Int(nComponents[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```

func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```swift
// Your task is to implement a function that will simplify the expression
// x * n. The function returns true if x * n evaluates to a whole number and false
// otherwise. Both x and n, are string representation of a fraction, and have the following format,
// <numerator>/<denominator> where both numerator and denominator are positive whole numbers.
// You can assume that x, and n are valid fractions, and do not have zero as denominator.
// simplify(x: "1/5", n: "5/1") == true
// simplify(x: "1/6", n: "2/1") == false
// simplify(x: "7/10", n: "10/2") == false
func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let resultNumerator = xNumerator * nNumerator
    let resultDenominator = xDenominator * nDenominator
    return resultNumerator % resultDenominator == 0
}
```

func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let productNumerator = xNumerator * nNumerator
    let productDenominator = xDenominator * nDenominator
    return productNumerator % productDenominator == 0
}
```swift
// Your task is to implement a function that will simplify the expression
// x * n. The function returns true if x * n evaluates to a whole number and false
// otherwise. Both x and n, are string representation of a fraction, and have the following format,
// <numerator>/<denominator> where both numerator and denominator are positive whole numbers.
// You can assume that x, and n are valid fractions, and do not have zero as denominator.
// simplify(x: "1/5", n: "5/1") == true
// simplify(x: "1/6", n: "2/1") == false
// simplify(x: "7/10", n: "10/2") == false
func simplify(x: String, n: String) -> Bool {
    let xParts = x.components(separatedBy: "/")
    let nParts = n.components(separatedBy: "/")
    let xNumerator = Int(xParts[0])!
    let xDenominator = Int(xParts[1])!
    let nNumerator = Int(nParts[0])!
    let nDenominator = Int(nParts[1])!
    let productNumerator = xNumerator * nNumerator
    let productDenominator = xDenominator * nDenominator
    return productNumerator % productDenominator == 0
}
```

func orderByPoints(nums: [Int]) -> [Int] {
    var sortedArray = nums.sorted { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        return sum1 < sum2 || (sum1 == sum2 && nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)!)
    }
    return sortedArray
}
```swift
// Write a function which sorts the given array of integers
// in ascending order according to the sum of their digits.
// Note: if there are several items with similar sum of their digits,
// order them based on their index in original array.
// For example:
// orderByPoints(nums: [1, 11, -1, -11, -12]) == [-1, -11, 1, -12, 11]
// orderByPoints(nums: [] as [Int]) == [] as [Int]
func orderByPoints(nums: [Int]) -> [Int] {
    var sortedArray = nums.sorted { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        return sum1 < sum2 || (sum1 == sum2 && nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)!)
    }
    return sortedArray
}
```

var sortedArray = nums.sorted { (num1, num2) -> Bool in // variable 'sortedArray' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func orderByPoints(nums: [Int]) -> [Int] {
    var sortedArray = nums.sorted { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        return sum1 == sum2 ? nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)! : sum1 < sum2
    }
    return sortedArray
}
```swift
// Write a function which sorts the given array of integers
// in ascending order according to the sum of their digits.
// Note: if there are several items with similar sum of their digits,
// order them based on their index in original array.
// For example:
// orderByPoints(nums: [1, 11, -1, -11, -12]) == [-1, -11, 1, -12, 11]
// orderByPoints(nums: [] as [Int]) == [] as [Int]
func orderByPoints(nums: [Int]) -> [Int] {
    var sortedArray = nums.sorted { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        return sum1 == sum2 ? nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)! : sum1 < sum2
    }
    return sortedArray
}
```

var sortedArray = nums.sorted { (num1, num2) -> Bool in // variable 'sortedArray' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func orderByPoints(nums: [Int]) -> [Int] {
    let sortedNums = nums.sorted { num1, num2 in
        let sum1 = String(abs(num1)).reduce(0, { $0 + Int(String($1))! })
        let sum2 = String(abs(num2)).reduce(0, { $0 + Int(String($1))! })
        return sum1 == sum2 ? nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)! : sum1 < sum2
    }
    return sortedNums
}
```swift
// Write a function which sorts the given array of integers
// in ascending order according to the sum of their digits.
// Note: if there are several items with similar sum of their digits,
// order them based on their index in original array.
// For example:
// orderByPoints(nums: [1, 11, -1, -11, -12]) == [-1, -11, 1, -12, 11]
// orderByPoints(nums: [] as [Int]) == [] as [Int]
func orderByPoints(nums: [Int]) -> [Int] {
    let sortedNums = nums.sorted { num1, num2 in
        let sum1 = String(abs(num1)).reduce(0, { $0 + Int(String($1))! })
        let sum2 = String(abs(num2)).reduce(0, { $0 + Int(String($1))! })
        return sum1 == sum2 ? nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)! : sum1 < sum2
    }
    return sortedNums
}
```

 // XCTAssertTrue failed

func orderByPoints(nums: [Int]) -> [Int] {
    // Your code here
}
```swift
// Write a function which sorts the given array of integers
// in ascending order according to the sum of their digits.
// Note: if there are several items with similar sum of their digits,
// order them based on their index in original array.
// For example:
// orderByPoints(nums: [1, 11, -1, -11, -12]) == [-1, -11, 1, -12, 11]
// orderByPoints(nums: [] as [Int]) == [] as [Int]
func orderByPoints(nums: [Int]) -> [Int] {
    // Your code here
}
```

} // missing return in global function expected to return '[Int]'

func orderByPoints(nums: [Int]) -> [Int] {
    var sortedNums = nums
    sortedNums.sort { (num1, num2) -> Bool in
        let sum1 = num1 < 0 ? -num1 : num1
        let sum2 = num2 < 0 ? -num2 : num2
        return sum1 < sum2 || (sum1 == sum2 && nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)!)
    }
    return sortedNums
}
```swift
// Write a function which sorts the given array of integers
// in ascending order according to the sum of their digits.
// Note: if there are several items with similar sum of their digits,
// order them based on their index in original array.
// For example:
// orderByPoints(nums: [1, 11, -1, -11, -12]) == [-1, -11, 1, -12, 11]
// orderByPoints(nums: [] as [Int]) == [] as [Int]
func orderByPoints(nums: [Int]) -> [Int] {
    var sortedNums = nums
    sortedNums.sort { (num1, num2) -> Bool in
        let sum1 = num1 < 0 ? -num1 : num1
        let sum2 = num2 < 0 ? -num2 : num2
        return sum1 < sum2 || (sum1 == sum2 && nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)!)
    }
    return sortedNums
}
```

 // XCTAssertTrue failed

func orderByPoints(nums: [Int]) -> [Int] {
    var sortedNums = nums.sorted { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        if sum1 == sum2 {
            return nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)!
        }
        return sum1 < sum2
    }
    return sortedNums
}
```swift
// Write a function which sorts the given array of integers
// in ascending order according to the sum of their digits.
// Note: if there are several items with similar sum of their digits,
// order them based on their index in original array.
// For example:
// orderByPoints(nums: [1, 11, -1, -11, -12]) == [-1, -11, 1, -12, 11]
// orderByPoints(nums: [] as [Int]) == [] as [Int]
func orderByPoints(nums: [Int]) -> [Int] {
    var sortedNums = nums.sorted { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        if sum1 == sum2 {
            return nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)!
        }
        return sum1 < sum2
    }
    return sortedNums
}
```
var sortedNums = nums.sorted { (num1, num2) -> Bool in // variable 'sortedNums' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func orderByPoints(nums: [Int]) -> [Int] {
    let sortedArray = nums.sorted { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        return sum1 == sum2 ? nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)! : sum1 < sum2
    }
    return sortedArray
}
```swift
// Write a function which sorts the given array of integers
// in ascending order according to the sum of their digits.
// Note: if there are several items with similar sum of their digits,
// order them based on their index in original array.
// For example:
// orderByPoints(nums: [1, 11, -1, -11, -12]) == [-1, -11, 1, -12, 11]
// orderByPoints(nums: [] as [Int]) == [] as [Int]
func orderByPoints(nums: [Int]) -> [Int] {
    let sortedArray = nums.sorted { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        return sum1 == sum2 ? nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)! : sum1 < sum2
    }
    return sortedArray
}
```

 // XCTAssertTrue failed

func orderByPoints(nums: [Int]) -> [Int] {
    var sortedNums = nums
    sortedNums.sort { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        if sum1 == sum2 {
            return nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)!
        }
        return sum1 < sum2
    }
    return sortedNums
}
```swift
// Write a function which sorts the given array of integers
// in ascending order according to the sum of their digits.
// Note: if there are several items with similar sum of their digits,
// order them based on their index in original array.
// For example:
// orderByPoints(nums: [1, 11, -1, -11, -12]) == [-1, -11, 1, -12, 11]
// orderByPoints(nums: [] as [Int]) == [] as [Int]
func orderByPoints(nums: [Int]) -> [Int] {
    var sortedNums = nums
    sortedNums.sort { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        if sum1 == sum2 {
            return nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)!
        }
        return sum1 < sum2
    }
    return sortedNums
}
```

 // XCTAssertTrue failed

func orderByPoints(nums: [Int]) -> [Int] {
    var result = nums
    result.sort { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        return sum1 == sum2 ? nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)! : sum1 < sum2
    }
    return result
}
```swift
// Write a function which sorts the given array of integers
// in ascending order according to the sum of their digits.
// Note: if there are several items with similar sum of their digits,
// order them based on their index in original array.
// For example:
// orderByPoints(nums: [1, 11, -1, -11, -12]) == [-1, -11, 1, -12, 11]
// orderByPoints(nums: [] as [Int]) == [] as [Int]
func orderByPoints(nums: [Int]) -> [Int] {
    var result = nums
    result.sort { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        return sum1 == sum2 ? nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)! : sum1 < sum2
    }
    return result
}
```

 // XCTAssertTrue failed

func orderByPoints(nums: [Int]) -> [Int] {
    var sortedNums = nums.sorted { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        if sum1 == sum2 {
            return nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)!
        }
        return sum1 < sum2
    }
    return sortedNums
}
```swift
// Write a function which sorts the given array of integers
// in ascending order according to the sum of their digits.
// Note: if there are several items with similar sum of their digits,
// order them based on their index in original array.
// For example:
// orderByPoints(nums: [1, 11, -1, -11, -12]) == [-1, -11, 1, -12, 11]
// orderByPoints(nums: [] as [Int]) == [] as [Int]
func orderByPoints(nums: [Int]) -> [Int] {
    var sortedNums = nums.sorted { (num1, num2) -> Bool in
        let sum1 = String(abs(num1)).reduce(0) { $0 + Int(String($1))! }
        let sum2 = String(abs(num2)).reduce(0) { $0 + Int(String($1))! }
        if sum1 == sum2 {
            return nums.firstIndex(of: num1)! < nums.firstIndex(of: num2)!
        }
        return sum1 < sum2
    }
    return sortedNums
}
```

var sortedNums = nums.sorted { (num1, num2) -> Bool in // variable 'sortedNums' was never mutated; consider changing to 'let' constant
 // XCTAssertTrue failed

func specialFilter(nums: [Int]) -> Int { 
    // Your code here
}
```swift
// Write a function that takes an array of numbers as input and returns 
// the number of elements in the array that are greater than 10 and both 
// first and last digits of a number are odd (1, 3, 5, 7, 9).
// For example:
// specialFilter(nums: [15, -73, 14, -15]) == 1
// specialFilter(nums: [33, -2, -3, 45, 21, 109]) == 2
func specialFilter(nums: [Int]) -> Int { 
    // Your code here
}
```

} // missing return in global function expected to return 'Int'

func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 {
            let firstDigit = abs(num / 10)
            let lastDigit = abs(num % 10)
            if firstDigit % 2 != 0 && lastDigit % 2 != 0 {
                count += 1
            }
        }
    }
    return count
}
```swift
// Write a function that takes an array of numbers as input and returns 
// the number of elements in the array that are greater than 10 and both 
// first and last digits of a number are odd (1, 3, 5, 7, 9).
// For example:
// specialFilter(nums: [15, -73, 14, -15]) == 1
// specialFilter(nums: [33, -2, -3, 45, 21, 109]) == 2
func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 {
            let firstDigit = abs(num / 10)
            let lastDigit = abs(num % 10)
            if firstDigit % 2 != 0 && lastDigit % 2 != 0 {
                count += 1
            }
        }
    }
    return count
}
```
 // XCTAssertTrue failed

func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 2 != 0 {
            let firstDigit = num / 10
            let lastDigit = num % 10
            if firstDigit % 2 != 0 && lastDigit % 2 != 0 {
                count += 1
            }
        }
    }
    return count
}
```swift
// Write a function that takes an array of numbers as input and returns 
// the number of elements in the array that are greater than 10 and both 
// first and last digits of a number are odd (1, 3, 5, 7, 9).
// For example:
// specialFilter(nums: [15, -73, 14, -15]) == 1
// specialFilter(nums: [33, -2, -3, 45, 21, 109]) == 2
func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 2 != 0 {
            let firstDigit = num / 10
            let lastDigit = num % 10
            if firstDigit % 2 != 0 && lastDigit % 2 != 0 {
                count += 1
            }
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 {
            let firstDigit = abs(num / 10)
            let lastDigit = abs(num % 10)
            if firstDigit % 2 != 0 && lastDigit % 2 != 0 {
                count += 1
            }
        }
    }
    return count
}
```swift
// Write a function that takes an array of numbers as input and returns 
// the number of elements in the array that are greater than 10 and both 
// first and last digits of a number are odd (1, 3, 5, 7, 9).
// For example:
// specialFilter(nums: [15, -73, 14, -15]) == 1
// specialFilter(nums: [33, -2, -3, 45, 21, 109]) == 2
func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 {
            let firstDigit = abs(num / 10)
            let lastDigit = abs(num % 10)
            if firstDigit % 2 != 0 && lastDigit % 2 != 0 {
                count += 1
            }
        }
    }
    return count
}
```
 // XCTAssertTrue failed

func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 10 % 2 != 0 && num / 10 % 2 != 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function that takes an array of numbers as input and returns 
// the number of elements in the array that are greater than 10 and both 
// first and last digits of a number are odd (1, 3, 5, 7, 9).
// For example:
// specialFilter(nums: [15, -73, 14, -15]) == 1
// specialFilter(nums: [33, -2, -3, 45, 21, 109]) == 2
func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 10 % 2 != 0 && num / 10 % 2 != 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 10 % 2 != 0 && num / 10 % 2 != 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function that takes an array of numbers as input and returns 
// the number of elements in the array that are greater than 10 and both 
// first and last digits of a number are odd (1, 3, 5, 7, 9).
// For example:
// specialFilter(nums: [15, -73, 14, -15]) == 1
// specialFilter(nums: [33, -2, -3, 45, 21, 109]) == 2
func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 10 % 2 != 0 && num / 10 % 2 != 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 10 % 2 != 0 && num / 10 % 2 != 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function that takes an array of numbers as input and returns 
// the number of elements in the array that are greater than 10 and both 
// first and last digits of a number are odd (1, 3, 5, 7, 9).
// For example:
// specialFilter(nums: [15, -73, 14, -15]) == 1
// specialFilter(nums: [33, -2, -3, 45, 21, 109]) == 2
func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 10 % 2 != 0 && num / 10 % 2 != 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 {
            let firstDigit = abs(num / 1000000000)
            let lastDigit = abs(num % 10)
            if firstDigit % 2 != 0 && lastDigit % 2 != 0 {
                count += 1
            }
        }
    }
    return count
}
```swift
// Write a function that takes an array of numbers as input and returns 
// the number of elements in the array that are greater than 10 and both 
// first and last digits of a number are odd (1, 3, 5, 7, 9).
// For example:
// specialFilter(nums: [15, -73, 14, -15]) == 1
// specialFilter(nums: [33, -2, -3, 45, 21, 109]) == 2
func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 {
            let firstDigit = abs(num / 1000000000)
            let lastDigit = abs(num % 10)
            if firstDigit % 2 != 0 && lastDigit % 2 != 0 {
                count += 1
            }
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 10 % 2 != 0 && num / 10 % 2 != 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function that takes an array of numbers as input and returns 
// the number of elements in the array that are greater than 10 and both 
// first and last digits of a number are odd (1, 3, 5, 7, 9).
// For example:
// specialFilter(nums: [15, -73, 14, -15]) == 1
// specialFilter(nums: [33, -2, -3, 45, 21, 109]) == 2
func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 10 % 2 != 0 && num / 10 % 2 != 0 {
            count += 1
        }
    }
    return count
}
```

 // XCTAssertTrue failed

func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 10 % 2 != 0 && num / 10 % 2 != 0 {
            count += 1
        }
    }
    return count
}
```swift
// Write a function that takes an array of numbers as input and returns 
// the number of elements in the array that are greater than 10 and both 
// first and last digits of a number are odd (1, 3, 5, 7, 9).
// For example:
// specialFilter(nums: [15, -73, 14, -15]) == 1
// specialFilter(nums: [33, -2, -3, 45, 21, 109]) == 2
func specialFilter(nums: [Int]) -> Int { 
    var count = 0
    for num in nums {
        if num > 10 && num % 10 % 2 != 0 && num / 10 % 2 != 0 {
            count += 1
        }
    }
    return count
}
```
 // XCTAssertTrue failed

func getMaxTriples(n: Int) -> Int { 
    // Your code here
}
```swift
// You are given a positive integer n. You have to create an integer array a of length n.
// For each i (1 ≤ i ≤ n), the value of a[i] = i * i - i + 1.
// Return the number of triples (a[i], a[j], a[k]) of a where i < j < k, 
// and a[i] + a[j] + a[k] is a multiple of 3.
// Example :
// Explanation: 
// a = [1, 3, 7, 13, 21]
// The only valid triple is (1, 7, 13).
// getMaxTriples(n: 5) == 1
func getMaxTriples(n: Int) -> Int { 
    // Your code here
}
```

} // missing return in global function expected to return 'Int'

func getMaxTriples(n: Int) -> Int { 
    // Your code here
}
```swift
// You are given a positive integer n. You have to create an integer array a of length n.
// For each i (1 ≤ i ≤ n), the value of a[i] = i * i - i + 1.
// Return the number of triples (a[i], a[j], a[k]) of a where i < j < k, 
// and a[i] + a[j] + a[k] is a multiple of 3.
// Example :
// Explanation: 
// a = [1, 3, 7, 13, 21]
// The only valid triple is (1, 7, 13).
// getMaxTriples(n: 5) == 1
func getMaxTriples(n: Int) -> Int { 
    // Your code here
}
```

} // missing return in global function expected to return 'Int'

func getMaxTriples(n: Int) -> Int { 
    var count = 0
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```swift
// You are given a positive integer n. You have to create an integer array a of length n.
// For each i (1 ≤ i ≤ n), the value of a[i] = i * i - i + 1.
// Return the number of triples (a[i], a[j], a[k]) of a where i < j < k, 
// and a[i] + a[j] + a[k] is a multiple of 3.
// Example :
// Explanation: 
// a = [1, 3, 7, 13, 21]
// The only valid triple is (1, 7, 13).
// getMaxTriples(n: 5) == 1
func getMaxTriples(n: Int) -> Int { 
    var count = 0
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```

func getMaxTriples(n: Int) -> Int {
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    var count = 0
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```swift
// You are given a positive integer n. You have to create an integer array a of length n.
// For each i (1 ≤ i ≤ n), the value of a[i] = i * i - i + 1.
// Return the number of triples (a[i], a[j], a[k]) of a where i < j < k, 
// and a[i] + a[j] + a[k] is a multiple of 3.
// Example :
// Explanation: 
// a = [1, 3, 7, 13, 21]
// The only valid triple is (1, 7, 13).
// getMaxTriples(n: 5) == 1
func getMaxTriples(n: Int) -> Int {
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    var count = 0
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```

func getMaxTriples(n: Int) -> Int { 
    var count = 0
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```swift
// You are given a positive integer n. You have to create an integer array a of length n.
// For each i (1 ≤ i ≤ n), the value of a[i] = i * i - i + 1.
// Return the number of triples (a[i], a[j], a[k]) of a where i < j < k, 
// and a[i] + a[j] + a[k] is a multiple of 3.
// Example :
// Explanation: 
// a = [1, 3, 7, 13, 21]
// The only valid triple is (1, 7, 13).
// getMaxTriples(n: 5) == 1
func getMaxTriples(n: Int) -> Int { 
    var count = 0
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```

func getMaxTriples(n: Int) -> Int { 
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    var count = 0
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```swift
// You are given a positive integer n. You have to create an integer array a of length n.
// For each i (1 ≤ i ≤ n), the value of a[i] = i * i - i + 1.
// Return the number of triples (a[i], a[j], a[k]) of a where i < j < k, 
// and a[i] + a[j] + a[k] is a multiple of 3.
// Example :
// Explanation: 
// a = [1, 3, 7, 13, 21]
// The only valid triple is (1, 7, 13).
// getMaxTriples(n: 5) == 1
func getMaxTriples(n: Int) -> Int { 
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    var count = 0
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```

func getMaxTriples(n: Int) -> Int {
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    var count = 0
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```swift
// You are given a positive integer n. You have to create an integer array a of length n.
// For each i (1 ≤ i ≤ n), the value of a[i] = i * i - i + 1.
// Return the number of triples (a[i], a[j], a[k]) of a where i < j < k, 
// and a[i] + a[j] + a[k] is a multiple of 3.
// Example :
// Explanation: 
// a = [1, 3, 7, 13, 21]
// The only valid triple is (1, 7, 13).
// getMaxTriples(n: 5) == 1
func getMaxTriples(n: Int) -> Int {
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    var count = 0
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```

func getMaxTriples(n: Int) -> Int {
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    var count = 0
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```swift
// You are given a positive integer n. You have to create an integer array a of length n.
// For each i (1 ≤ i ≤ n), the value of a[i] = i * i - i + 1.
// Return the number of triples (a[i], a[j], a[k]) of a where i < j < k, 
// and a[i] + a[j] + a[k] is a multiple of 3.
// Example :
// Explanation: 
// a = [1, 3, 7, 13, 21]
// The only valid triple is (1, 7, 13).
// getMaxTriples(n: 5) == 1
func getMaxTriples(n: Int) -> Int {
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    var count = 0
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```

func getMaxTriples(n: Int) -> Int {
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    var count = 0
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```swift
// You are given a positive integer n. You have to create an integer array a of length n.
// For each i (1 ≤ i ≤ n), the value of a[i] = i * i - i + 1.
// Return the number of triples (a[i], a[j], a[k]) of a where i < j < k, 
// and a[i] + a[j] + a[k] is a multiple of 3.
// Example :
// Explanation: 
// a = [1, 3, 7, 13, 21]
// The only valid triple is (1, 7, 13).
// getMaxTriples(n: 5) == 1
func getMaxTriples(n: Int) -> Int {
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    var count = 0
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```

func getMaxTriples(n: Int) -> Int { 
    var count = 0
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```swift
// You are given a positive integer n. You have to create an integer array a of length n.
// For each i (1 ≤ i ≤ n), the value of a[i] = i * i - i + 1.
// Return the number of triples (a[i], a[j], a[k]) of a where i < j < k, 
// and a[i] + a[j] + a[k] is a multiple of 3.
// Example :
// Explanation: 
// a = [1, 3, 7, 13, 21]
// The only valid triple is (1, 7, 13).
// getMaxTriples(n: 5) == 1
func getMaxTriples(n: Int) -> Int { 
    var count = 0
    var a = [Int]()
    for i in 1...n {
        a.append(i * i - i + 1)
    }
    for i in 0..<n {
        for j in i+1..<n {
            for k in j+1..<n {
                if (a[i] + a[j] + a[k]) % 3 == 0 {
                    count += 1
                }
            }
        }
    }
    return count
}
```

func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```swift
// Write a function that accepts an array of strings as a parameter,
// deletes the strings that have odd lengths from it,
// and returns the resulted array with a sorted order,
// The array is always an array of strings and never an array of numbers,
// and it may contain duplicates.
// The order of the array should be ascending by length of each word, and you
// should return the array sorted by that rule.
// If two words have the same length, sort the array alphabetically.
// The function should return an array of strings in sorted order.
// You may assume that all words will have the same length.
// For example:
// sortedListSum(lst: ["aa", "a", "aaa"]) == ["aa"]
// sortedListSum(lst: ["ab", "a", "aaa", "cd"]) == ["ab", "cd"]
func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```

} // missing return in global function expected to return '[String]'

func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```swift
// Write a function that accepts an array of strings as a parameter,
// deletes the strings that have odd lengths from it,
// and returns the resulted array with a sorted order,
// The array is always an array of strings and never an array of numbers,
// and it may contain duplicates.
// The order of the array should be ascending by length of each word, and you
// should return the array sorted by that rule.
// If two words have the same length, sort the array alphabetically.
// The function should return an array of strings in sorted order.
// You may assume that all words will have the same length.
// For example:
// sortedListSum(lst: ["aa", "a", "aaa"]) == ["aa"]
// sortedListSum(lst: ["ab", "a", "aaa", "cd"]) == ["ab", "cd"]
func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```

} // missing return in global function expected to return '[String]'

func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```swift
// Write a function that accepts an array of strings as a parameter,
// deletes the strings that have odd lengths from it,
// and returns the resulted array with a sorted order,
// The array is always an array of strings and never an array of numbers,
// and it may contain duplicates.
// The order of the array should be ascending by length of each word, and you
// should return the array sorted by that rule.
// If two words have the same length, sort the array alphabetically.
// The function should return an array of strings in sorted order.
// You may assume that all words will have the same length.
// For example:
// sortedListSum(lst: ["aa", "a", "aaa"]) == ["aa"]
// sortedListSum(lst: ["ab", "a", "aaa", "cd"]) == ["ab", "cd"]
func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```

} // missing return in global function expected to return '[String]'

func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```swift
// Write a function that accepts an array of strings as a parameter,
// deletes the strings that have odd lengths from it,
// and returns the resulted array with a sorted order,
// The array is always an array of strings and never an array of numbers,
// and it may contain duplicates.
// The order of the array should be ascending by length of each word, and you
// should return the array sorted by that rule.
// If two words have the same length, sort the array alphabetically.
// The function should return an array of strings in sorted order.
// You may assume that all words will have the same length.
// For example:
// sortedListSum(lst: ["aa", "a", "aaa"]) == ["aa"]
// sortedListSum(lst: ["ab", "a", "aaa", "cd"]) == ["ab", "cd"]
func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```

} // missing return in global function expected to return '[String]'

func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```swift
// Write a function that accepts an array of strings as a parameter,
// deletes the strings that have odd lengths from it,
// and returns the resulted array with a sorted order,
// The array is always an array of strings and never an array of numbers,
// and it may contain duplicates.
// The order of the array should be ascending by length of each word, and you
// should return the array sorted by that rule.
// If two words have the same length, sort the array alphabetically.
// The function should return an array of strings in sorted order.
// You may assume that all words will have the same length.
// For example:
// sortedListSum(lst: ["aa", "a", "aaa"]) == ["aa"]
// sortedListSum(lst: ["ab", "a", "aaa", "cd"]) == ["ab", "cd"]
func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```

} // missing return in global function expected to return '[String]'

func sortedListSum(lst: [String]) -> [String] {
    var result = [String]()
    for word in lst {
        if word.count % 2 == 0 {
            result.append(word)
        }
    }
    result.sort { $0.count < $1.count || ($0.count == $1.count && $0 < $1) }
    return result
}
```swift
// Write a function that accepts an array of strings as a parameter,
// deletes the strings that have odd lengths from it,
// and returns the resulted array with a sorted order,
// The array is always an array of strings and never an array of numbers,
// and it may contain duplicates.
// The order of the array should be ascending by length of each word, and you
// should return the array sorted by that rule.
// If two words have the same length, sort the array alphabetically.
// The function should return an array of strings in sorted order.
// You may assume that all words will have the same length.
// For example:
// sortedListSum(lst: ["aa", "a", "aaa"]) == ["aa"]
// sortedListSum(lst: ["ab", "a", "aaa", "cd"]) == ["ab", "cd"]
func sortedListSum(lst: [String]) -> [String] {
    var result = [String]()
    for word in lst {
        if word.count % 2 == 0 {
            result.append(word)
        }
    }
    result.sort { $0.count < $1.count || ($0.count == $1.count && $0 < $1) }
    return result
}
```

func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```swift
// Write a function that accepts an array of strings as a parameter,
// deletes the strings that have odd lengths from it,
// and returns the resulted array with a sorted order,
// The array is always an array of strings and never an array of numbers,
// and it may contain duplicates.
// The order of the array should be ascending by length of each word, and you
// should return the array sorted by that rule.
// If two words have the same length, sort the array alphabetically.
// The function should return an array of strings in sorted order.
// You may assume that all words will have the same length.
// For example:
// sortedListSum(lst: ["aa", "a", "aaa"]) == ["aa"]
// sortedListSum(lst: ["ab", "a", "aaa", "cd"]) == ["ab", "cd"]
func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```

} // missing return in global function expected to return '[String]'

func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```swift
// Write a function that accepts an array of strings as a parameter,
// deletes the strings that have odd lengths from it,
// and returns the resulted array with a sorted order,
// The array is always an array of strings and never an array of numbers,
// and it may contain duplicates.
// The order of the array should be ascending by length of each word, and you
// should return the array sorted by that rule.
// If two words have the same length, sort the array alphabetically.
// The function should return an array of strings in sorted order.
// You may assume that all words will have the same length.
// For example:
// sortedListSum(lst: ["aa", "a", "aaa"]) == ["aa"]
// sortedListSum(lst: ["ab", "a", "aaa", "cd"]) == ["ab", "cd"]
func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```

} // missing return in global function expected to return '[String]'

func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```swift
// Write a function that accepts an array of strings as a parameter,
// deletes the strings that have odd lengths from it,
// and returns the resulted array with a sorted order,
// The array is always an array of strings and never an array of numbers,
// and it may contain duplicates.
// The order of the array should be ascending by length of each word, and you
// should return the array sorted by that rule.
// If two words have the same length, sort the array alphabetically.
// The function should return an array of strings in sorted order.
// You may assume that all words will have the same length.
// For example:
// sortedListSum(lst: ["aa", "a", "aaa"]) == ["aa"]
// sortedListSum(lst: ["ab", "a", "aaa", "cd"]) == ["ab", "cd"]
func sortedListSum(lst: [String]) -> [String] {
    // Your code here
}
```

} // missing return in global function expected to return '[String]'

func sortedListSum(lst: [String]) -> [String] {
    var result = [String]()
    for word in lst {
        if word.count % 2 == 0 {
            result.append(word)
        }
    }
    result.sort(by: { $0.count < $1.count || ($0.count == $1.count && $0 < $1) })
    return result
}
```swift
// Write a function that accepts an array of strings as a parameter,
// deletes the strings that have odd lengths from it,
// and returns the resulted array with a sorted order,
// The array is always an array of strings and never an array of numbers,
// and it may contain duplicates.
// The order of the array should be ascending by length of each word, and you
// should return the array sorted by that rule.
// If two words have the same length, sort the array alphabetically.
// The function should return an array of strings in sorted order.
// You may assume that all words will have the same length.
// For example:
// sortedListSum(lst: ["aa", "a", "aaa"]) == ["aa"]
// sortedListSum(lst: ["ab", "a", "aaa", "cd"]) == ["ab", "cd"]
func sortedListSum(lst: [String]) -> [String] {
    var result = [String]()
    for word in lst {
        if word.count % 2 == 0 {
            result.append(word)
        }
    }
    result.sort(by: { $0.count < $1.count || ($0.count == $1.count && $0 < $1) })
    return result
}
```

func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) { 
        return x 
    } else { 
        return y 
    } 
}

func isPrime(n: Int) -> Bool { 
    if n <= 1 { 
        return false 
    } 
    for i in 2..<n { 
        if n % i == 0 { 
            return false 
        } 
    } 
    return true 
}

func sumOfPrimes(n: Int) -> Int { 
    var sum = 0 
    for i in 2...n { 
        if isPrime(n: i) { 
            sum += i 
        } 
    } 
    return sum 
}

func productOfPrimes(n: Int) -> Int { 
    var product = 1 
    for i in 2...n { 
        if isPrime(n: i) { 
            product *= i 
        } 
    } 
    return product 
}

func countOfPrimes(n: Int) -> Int { 
    var count = 0 
    for i in 2...n { 
        if isPrime(n: i) { 
            count += 1 
        } 
    } 
    return count 
}

func largestPrime(n: Int) -> Int { 
    var largest = 0 
    for i in 2...n { 
        if isPrime(n: i) { 
            largest = i 
        } 
    } 
    return largest 
}

func smallestPrime(n: Int) -> Int { 
    var smallest = n 
    for i in 2...n { 
        if isPrime(n: i) { 
            smallest = i 
            break 
        } 
    } 
    return smallest 
}

func averageOfPrimes(n: Int) -> Double { 
    var sum = 0 
    var count = 0 
    for i in 2...n { 
        if isPrime(n: i) { 
            sum += i 
            count += 1 
        } 
    } 
    return Double(sum) / Double(count) 
}

func medianOfPrimes(n: Int) -> Double { 
    var primes = [Int]() 
    for i in 2...n { 
        if isPrime(n: i) { 
            primes.append(i) 
        } 
    } 
    let count = primes.count 
    if count % 2 == 0 { 
        return Double(primes[count / 2 - 1] + primes[count / 2]) / 2.0 
    } else { 
        return Double(primes[count / 2]) 
    } 
}
```swift
// A simple program which should return the value of x if n is 
// a prime number and should return the value of y otherwise.
// Examples:
// xOrY(n: 7, x: 34, y: 12) == 34
// xOrY(n: 15, x: 8, y: 5) == 5
func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) { 
        return x 
    } else { 
        return y 
    } 
} 

// A simple function which checks if a number is prime or not.
// Examples:
// isPrime(n: 7) == true
// isPrime(n: 15) == false
func isPrime(n: Int) -> Bool { 
    if n <= 1 { 
        return false 
    } 
    for i in 2..<n { 
        if n % i == 0 { 
            return false 
        } 
    } 
    return true 
} 

// A simple function which returns the sum of all prime numbers between 1 and n.
// Examples:
// sumOfPrimes(n: 10) == 17
// sumOfPrimes(n: 20) == 77
func sumOfPrimes(n: Int) -> Int { 
    var sum = 0 
    for i in 2...n { 
        if isPrime(n: i) { 
            sum += i 
        } 
    } 
    return sum 
} 

// A simple function which returns the product of all prime numbers between 1 and n.
// Examples:
// productOfPrimes(n: 10) == 210
// productOfPrimes(n: 20) == 9699690
func productOfPrimes(n: Int) -> Int { 
    var product = 1 
    for i in 2...n { 
        if isPrime(n: i) { 
            product *= i 
        } 
    } 
    return product 
} 

// A simple function which returns the number of prime numbers between 1 and n.
// Examples:
// countOfPrimes(n: 10) == 4
// countOfPrimes(n: 20) == 8
func countOfPrimes(n: Int) -> Int { 
    var count = 0 
    for i in 2...n { 
        if isPrime(n: i) { 
            count += 1 
        } 
    } 
    return count 
} 

// A simple function which returns the largest prime number between 1 and n.
// Examples:
// largestPrime(n: 10) == 7
// largestPrime(n: 20) == 19
func largestPrime(n: Int) -> Int { 
    var largest = 0 
    for i in 2...n { 
        if isPrime(n: i) { 
            largest = i 
        } 
    } 
    return largest 
} 

// A simple function which returns the smallest prime number between 1 and n.
// Examples:
// smallestPrime(n: 10) == 2
// smallestPrime(n: 20) == 2
func smallestPrime(n: Int) -> Int { 
    var smallest = n 
    for i in 2...n { 
        if isPrime(n: i) { 
            smallest = i 
            break 
        } 
    } 
    return smallest 
} 

// A simple function which returns the average of all prime numbers between 1 and n.
// Examples:
// averageOfPrimes(n: 10) == 4.5
// averageOfPrimes(n: 20) == 9.25
func averageOfPrimes(n: Int) -> Double { 
    var sum = 0 
    var count = 0 
    for i in 2...n { 
        if isPrime(n: i) { 
            sum += i 
            count += 1 
        } 
    } 
    return Double(sum) / Double(count) 
} 

// A simple function which returns the median of all prime numbers between 1 and n.
// Examples:
// medianOfPrimes(n: 10) == 5.5
// medianOfPrimes(n: 20) == 9.5
func medianOfPrimes(n: Int) -> Double { 
    var primes = [Int]() 
    for i in 2...n { 
        if isPrime(n: i) { 
            primes.append(i) 
        } 
    } 
    let count = primes.count 
    if count % 2 == 0 { 
        return Double(primes[count / 2 - 1] + primes[count / 2]) / 2.0 
    } else { 
        return Double(primes[count / 2]) 
    } 
} 

// A simple function which returns the mode of all prime numbers between 1 and n.
// Examples:
// modeOfPrimes(n: 10) == 2
// modeOfPrimes(n: 20) == 2
func mode
if isPrime(n) { // missing argument label 'n:' in call

func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// A simple program which should return the value of x if n is 
// a prime number and should return the value of y otherwise.
// Examples:
// xOrY(n: 7, x: 34, y: 12) == 34
// xOrY(n: 15, x: 8, y: 5) == 5
func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

// A simple program which should return true if n is a prime number and false otherwise.
// Examples:
// isPrime(n: 7) == true
// isPrime(n: 15) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

if isPrime(n) { // missing argument label 'n:' in call

func xOrY(n: Int, x: Int, y: Int) -> Int { 
    // Your code here
}
```swift
// A simple program which should return the value of x if n is 
// a prime number and should return the value of y otherwise.
// Examples:
// xOrY(n: 7, x: 34, y: 12) == 34
// xOrY(n: 15, x: 8, y: 5) == 5
func xOrY(n: Int, x: Int, y: Int) -> Int { 
    // Your code here
}
```

} // missing return in global function expected to return 'Int'

func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// A simple program which should return the value of x if n is 
// a prime number and should return the value of y otherwise.
// Examples:
// xOrY(n: 7, x: 34, y: 12) == 34
// xOrY(n: 15, x: 8, y: 5) == 5
func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

// A simple program which should return true if n is a prime number and false otherwise.
// Examples:
// isPrime(n: 7) == true
// isPrime(n: 15) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

if isPrime(n) { // missing argument label 'n:' in call

func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// A simple program which should return the value of x if n is 
// a prime number and should return the value of y otherwise.
// Examples:
// xOrY(n: 7, x: 34, y: 12) == 34
// xOrY(n: 15, x: 8, y: 5) == 5
func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

// A simple program which should return true if n is a prime number and false otherwise.
// Examples:
// isPrime(n: 7) == true
// isPrime(n: 15) == false
func isPrime(n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

if isPrime(n) { // missing argument label 'n:' in call

func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

func isPrime(n: Int) -> Bool { 
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// A simple program which should return the value of x if n is 
// a prime number and should return the value of y otherwise.
// Examples:
// xOrY(n: 7, x: 34, y: 12) == 34
// xOrY(n: 15, x: 8, y: 5) == 5
func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

// A simple program which should return true if n is a prime number and false otherwise.
// Examples:
// isPrime(n: 7) == true
// isPrime(n: 15) == false
func isPrime(n: Int) -> Bool { 
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

if isPrime(n) { // missing argument label 'n:' in call

func xOrY(n: Int, x: Int, y: Int) -> Int { 
    // Your code here
}
```swift
// A simple program which should return the value of x if n is 
// a prime number and should return the value of y otherwise.
// Examples:
// xOrY(n: 7, x: 34, y: 12) == 34
// xOrY(n: 15, x: 8, y: 5) == 5
func xOrY(n: Int, x: Int, y: Int) -> Int { 
    // Your code here
}
```

} // missing return in global function expected to return 'Int'

func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

func isPrime(_ n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// A simple program which should return the value of x if n is 
// a prime number and should return the value of y otherwise.
// Examples:
// xOrY(n: 7, x: 34, y: 12) == 34
// xOrY(n: 15, x: 8, y: 5) == 5
func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

// A function which checks if a number is prime or not.
func isPrime(_ n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if n % 2 == 0 {
        return y
    } else {
        return x
    }
}
```swift
// A simple program which should return the value of x if n is 
// a prime number and should return the value of y otherwise.
// Examples:
// xOrY(n: 7, x: 34, y: 12) == 34
// xOrY(n: 15, x: 8, y: 5) == 5
func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if n % 2 == 0 {
        return y
    } else {
        return x
    }
}
```

 // XCTAssertTrue failed

func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

func isPrime(_ n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```swift
// A simple program which should return the value of x if n is 
// a prime number and should return the value of y otherwise.
// Examples:
// xOrY(n: 7, x: 34, y: 12) == 34
// xOrY(n: 15, x: 8, y: 5) == 5
func xOrY(n: Int, x: Int, y: Int) -> Int { 
    if isPrime(n) {
        return x
    } else {
        return y
    }
}

// A function which checks if a number is prime or not.
func isPrime(_ n: Int) -> Bool {
    if n <= 1 {
        return false
    }
    for i in 2..<n {
        if n % i == 0 {
            return false
        }
    }
    return true
}
```

func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.isInteger && num % 2 != 0 {
            sum += Int(num) * Int(num)
        }
    }
    return sum
}
```swift
// Given an array of numbers, return the sum of squares of the numbers
// in the array that are odd. Ignore numbers that are negative or not integers.
// If the input array is empty, return 0.
// doubleTheDifference(lst: [1, 3, 2, 0]) == 10
// doubleTheDifference(lst: [-1, -2, 0]) == 0
// doubleTheDifference(lst: [9, -2]) == 81
// doubleTheDifference(lst: [0]) == 0
func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.isInteger && num % 2 != 0 {
            sum += Int(num) * Int(num)
        }
    }
    return sum
}
```

if num > 0 && num.isInteger && num % 2 != 0 { // value of type 'Double' has no member 'isInteger'

func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.isInteger && num % 2 != 0 {
            sum += Int(num) * Int(num)
        }
    }
    return sum
}
```swift
// Given an array of numbers, return the sum of squares of the numbers
// in the array that are odd. Ignore numbers that are negative or not integers.
// If the input array is empty, return 0.
// doubleTheDifference(lst: [1, 3, 2, 0]) == 10
// doubleTheDifference(lst: [-1, -2, 0]) == 0
// doubleTheDifference(lst: [9, -2]) == 81
// doubleTheDifference(lst: [0]) == 0
func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.isInteger && num % 2 != 0 {
            sum += Int(num) * Int(num)
        }
    }
    return sum
}
```

if num > 0 && num.isInteger && num % 2 != 0 { // value of type 'Double' has no member 'isInteger'

func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num == Double(Int(num)) && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```swift
// Given an array of numbers, return the sum of squares of the numbers
// in the array that are odd. Ignore numbers that are negative or not integers.
// If the input array is empty, return 0.
// doubleTheDifference(lst: [1, 3, 2, 0]) == 10
// doubleTheDifference(lst: [-1, -2, 0]) == 0
// doubleTheDifference(lst: [9, -2]) == 81
// doubleTheDifference(lst: [0]) == 0
func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num == Double(Int(num)) && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```

if num > 0 && num == Double(Int(num)) && num % 2 != 0 { // '%' is unavailable: For floating point numbers use truncatingRemainder instead

func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.truncatingRemainder(dividingBy: 1) == 0 && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```swift
// Given an array of numbers, return the sum of squares of the numbers
// in the array that are odd. Ignore numbers that are negative or not integers.
// If the input array is empty, return 0.
// doubleTheDifference(lst: [1, 3, 2, 0]) == 10
// doubleTheDifference(lst: [-1, -2, 0]) == 0
// doubleTheDifference(lst: [9, -2]) == 81
// doubleTheDifference(lst: [0]) == 0
func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.truncatingRemainder(dividingBy: 1) == 0 && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```

if num > 0 && num.truncatingRemainder(dividingBy: 1) == 0 && num % 2 != 0 { // '%' is unavailable: For floating point numbers use truncatingRemainder instead

func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.isInteger && num % 2 != 0 {
            sum += Int(num) * Int(num)
        }
    }
    return sum
}
```swift
// Given an array of numbers, return the sum of squares of the numbers
// in the array that are odd. Ignore numbers that are negative or not integers.
// If the input array is empty, return 0.
// doubleTheDifference(lst: [1, 3, 2, 0]) == 10
// doubleTheDifference(lst: [-1, -2, 0]) == 0
// doubleTheDifference(lst: [9, -2]) == 81
// doubleTheDifference(lst: [0]) == 0
func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.isInteger && num % 2 != 0 {
            sum += Int(num) * Int(num)
        }
    }
    return sum
}
```

if num > 0 && num.isInteger && num % 2 != 0 { // value of type 'Double' has no member 'isInteger'

func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.isInteger && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```swift
// Given an array of numbers, return the sum of squares of the numbers
// in the array that are odd. Ignore numbers that are negative or not integers.
// If the input array is empty, return 0.
// doubleTheDifference(lst: [1, 3, 2, 0]) == 10
// doubleTheDifference(lst: [-1, -2, 0]) == 0
// doubleTheDifference(lst: [9, -2]) == 81
// doubleTheDifference(lst: [0]) == 0
func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.isInteger && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```

if num > 0 && num.isInteger && num % 2 != 0 { // value of type 'Double' has no member 'isInteger'

func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.isInteger && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```swift
// Given an array of numbers, return the sum of squares of the numbers
// in the array that are odd. Ignore numbers that are negative or not integers.
// If the input array is empty, return 0.
// doubleTheDifference(lst: [1, 3, 2, 0]) == 10
// doubleTheDifference(lst: [-1, -2, 0]) == 0
// doubleTheDifference(lst: [9, -2]) == 81
// doubleTheDifference(lst: [0]) == 0
func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.isInteger && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```

if num > 0 && num.isInteger && num % 2 != 0 { // value of type 'Double' has no member 'isInteger'

func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num == Double(Int(num)) && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```swift
// Given an array of numbers, return the sum of squares of the numbers
// in the array that are odd. Ignore numbers that are negative or not integers.
// If the input array is empty, return 0.
// doubleTheDifference(lst: [1, 3, 2, 0]) == 10
// doubleTheDifference(lst: [-1, -2, 0]) == 0
// doubleTheDifference(lst: [9, -2]) == 81
// doubleTheDifference(lst: [0]) == 0
func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num == Double(Int(num)) && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```

if num > 0 && num == Double(Int(num)) && num % 2 != 0 { // '%' is unavailable: For floating point numbers use truncatingRemainder instead

func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num == Double(Int(num)) && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```swift
// Given an array of numbers, return the sum of squares of the numbers
// in the array that are odd. Ignore numbers that are negative or not integers.
// If the input array is empty, return 0.
// doubleTheDifference(lst: [1, 3, 2, 0]) == 10
// doubleTheDifference(lst: [-1, -2, 0]) == 0
// doubleTheDifference(lst: [9, -2]) == 81
// doubleTheDifference(lst: [0]) == 0
func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num == Double(Int(num)) && num % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```

if num > 0 && num == Double(Int(num)) && num % 2 != 0 { // '%' is unavailable: For floating point numbers use truncatingRemainder instead

func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.truncatingRemainder(dividingBy: 1) == 0 && Int(num) % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```swift
// Given an array of numbers, return the sum of squares of the numbers
// in the array that are odd. Ignore numbers that are negative or not integers.
// If the input array is empty, return 0.
// doubleTheDifference(lst: [1, 3, 2, 0]) == 10
// doubleTheDifference(lst: [-1, -2, 0]) == 0
// doubleTheDifference(lst: [9, -2]) == 81
// doubleTheDifference(lst: [0]) == 0
func doubleTheDifference(lst: [Double]) -> Int {
    var sum = 0
    for num in lst {
        if num > 0 && num.truncatingRemainder(dividingBy: 1) == 0 && Int(num) % 2 != 0 {
            sum += Int(num * num)
        }
    }
    return sum
}
```

func compare(game: [Int], guess: [Int]) -> [Int] {
    // Your code here
}
```swift
// I think we all remember that feeling when the result of some long-awaited
// event is finally known. The feelings and thoughts you have at that moment are
// definitely worth noting down and comparing.
// Your task is to determine if a person correctly guessed the results of a nu