     
 }
 
-struct Contacts {
-    let names: [String]
-    
-    func adding(name: String) -> Contacts {
-        return Contacts(names: names + [name])
-    }
-    
-    func find(partial: String) -> [String] {
-        let partial = partial.lowercased()
-        return names.filter { $0.lowercased().contains(partial) }
-    }
-    
-}
-
 func readInt() -> Int? {
     guard let line = readLine() else {
         return nil

}

let lines = readInt()
var contacts = Contacts(names: [])
lines.map({ (0..<$0) })?.forEach { _ in

    guard let command = Command.read() else {

    }
    switch command {
        case .add(let name):
            contacts.add(name: name)
        case .find(let partial):
            print(contacts.find(partial: partial))
    }
}
