fileprivate struct Scanner { private var elements = [String]() private var index = 0 mutating func peek() -> String { while elements.count == index { elements = readLine()!.split(separator: " ").map(String.init) index = 0 } return elements[index] } mutating func next() -> String { let value = peek() index += 1 return value } mutating func nextInt() -> Int { return Int(next())! } mutating func nextDouble() -> Double { return Double(next())! } } func main() { var scanner = Scanner() let N = scanner.nextInt() let D = scanner.nextInt() let X = (0 ..< N).map { _ in scanner.nextInt() } let V = (0 ..< N).map { _ in scanner.nextInt() } let sumV = V.reduce(0, +) let answer = (D + sumV - 1) / sumV print(answer) } main()