import java.util.Scanner

object Main extends App {

  val sc = new Scanner(System.in)

  val n = sc.nextInt
  val al = Seq.fill(n)(sc.nextInt)

//  val containsCounts =
//    al.foldLeft(Map.empty[Int, Int]){ case (m, e) =>
//      if (m.isDefinedAt(e)) m.updated(e, m(e) + 1)
//      else m + (e -> 1)

      // m で定義されている  =>  mapValue
      // m で定義されていない=>  mapを追加
//  }

  val m = al
    .zipWithIndex
    .groupBy(_._1)
    .mapValues(_.size)

  val res = m.foldLeft(0){ case (acc, (e ,cnt)) =>
    acc + (if (e > cnt) cnt else cnt - e)
  }

  println(res)
}