Int { return abs( (a / N) - (b / N) ) + abs( (a % N) - (b % N) ) } func combination(i: Int) { if i == M { } combination(i: i+1) } print(getDistance(a: house[0], b: chick[4]))"> Int { return abs( (a / N) - (b / N) ) + abs( (a % N) - (b % N) ) } func combination(i: Int) { if i == M { } combination(i: i+1) } print(getDistance(a: house[0], b: chick[4]))"> Int { return abs( (a / N) - (b / N) ) + abs( (a % N) - (b % N) ) } func combination(i: Int) { if i == M { } combination(i: i+1) } print(getDistance(a: house[0], b: chick[4]))">
// 15686
import Foundation

let a = readLine()!.components(separatedBy: " ").map{ Int($0)! }
let N = a[0]
let M = a[1]
var map:[Int] = []
var house:[Int] = []
var chick:[Int] = []

for i in 0..<N {
    let input = readLine()!.components(separatedBy: " ").map{ Int($0)! }
    for j in 0..<N {
        let num = input[j]
        map.append(num)
        if num == 1 { house.append(i * N + j) }
        if num == 2 { chick.append(i * N + j) }
    }
}

func getDistance(a: Int, b: Int) -> Int {
    return abs( (a / N) - (b / N) ) + abs( (a % N) - (b % N) )
}

func combination(i: Int) {
    if i == M {
        
    }
    
    combination(i: i+1)
}

print(getDistance(a: house[0], b: chick[4]))