import scala.math._ object Main { def calc(goal: (Int, Int), obstacle: (Int, Int)): Int = { // goal まで水平または垂直方向のみの移動であれば、障害物による影響なし(距離は変化しない) var inc = 0 // 傾き 1 の直線上かつその間に障害物がある場合のみ、迂回のために距離が 1 だけのびる if (goal._1 == goal._2 && obstacle._1 == obstacle._2) { if (obstacle._1 < goal._1 && obstacle._2 < goal._2) { // (0, 0) と goal の間に障害物がある inc = 1 } } val d = min(goal._1, goal._2) val ans = d + (max(goal._1, goal._2) - d) + inc ans } def main(args: Array[String]) { val sc = new java.util.Scanner(System.in) val x, y = sc.nextInt val x2, y2 = sc.nextInt println(calc((x, y), (x2, y2))) } }