Problem:
E-修行

ねねさんはプログラミングの修行のため、$N$ 個の整数 $V_1, V_2, V_3, \cdots, V_N$ について調べるプログラムを作っている。

指導役のうみこさんに言われて、ねねさんは 2, 3, 6 の倍数の個数を調べるプログラムを書いた。

2 の倍数は $A$ 個、3 の倍数は $B$ 個、6 の倍数は $C$ 個だった。

うみこさんは、次は「2 の倍数でも 3 の倍数でもない数」の個数を調べるようにと言った。

しかし、ねねさんは疲れたので、答えだけを求めてごまかすことにした。

$N, A, B, C$ の値だけをもとに、「2 の倍数でも 3 の倍数でもない数」の個数が分かります。これを求めるプログラムを作ってください。

入力

$N, A, B, C$ が空白区切りで与えられる。

出力

データの中にある「2 の倍数でも 3の倍数でもない数」の個数を出力せよ。ただし、最後には改行を入れること。

制約

$N$ は $1$ 以上 $100$ 以下の整数

$A, B, C$ は $0$ 以上 $N$ 以下の整数

$A$ が $N$ より大きいなどという、矛盾するデータは与えられない

入力例1

6 3 2 1

出力例1

2

例えばデータが $2, 3, 4, 5, 6, 7$ のときは、$5$ と $7$ のふたつが「2 の倍数でも 3 の倍数でもない数」です。

入力例2

10 9 9 9

出力例2

1

Solution in Scala (judge verdict: Accepted)

object Main extends App {
  import scala.io.StdIn._

  val Array(n, a, b, c) = readLine.trim.split(' ').map(_.toInt)
  println(
    n - a - b + c
  )
  implicit class Scope[T](val value: T) extends AnyVal {
    @inline
    def let[A](func: T ⇒ A): A = func(value)
  }
}