import java.util.Scanner import java.lang.Math.abs object Problem208 { def proc(target: (Int, Int), hohei: (Int, Int)): Int = { val t = (abs(target._1), abs(target._2)) val h = (abs(hohei._1), abs(hohei._2)) def sameOrthant(a: (Int, Int), b: (Int, Int)): Boolean = { a._1 * b._1 > 0 && a._2 * b._2 > 0 } // 直線上に歩兵がいる場合だけ1歩余計に掛かる if (t._1 == t._2 && h._1 == h._2 && t._1 > h._1 && sameOrthant(target, hohei)) { t._1 + 1 } else { // それ以外は迂回する方法がある if (t._1 > t._2) t._1 else t._2 } } def main(args: Array[String]) { val sc = new Scanner(System.in) val target = (sc.nextInt, sc.nextInt) val hohei = (sc.nextInt, sc.nextInt) val result = proc(target, hohei) println(result) } }