object Main extends App {
  val in = scala.io.Source.stdin.getLines.toSeq
  val ls = in.map(_.split(' ').map(_.toInt).toIndexedSeq)
  val A = ls(0).tail.toSeq
  val L = ls.tail.map(e => e(0)).toSeq
  //println(A, L)
  
  @scala.annotation.tailrec
  private def pat(i: Int, r:Seq[Int]):Seq[Int] = {
    if(i<=0) r else pat(i/4, r :+ i%4)
  }
  //println(pat(27,Seq()))
  
  private def eval(pat:Seq[Int]):Int = {
	//if(pat.size <= 0) return Int.MaxValue
    val s = Array(Array[Int](), Array[Int](), Array[Int](), Array[Int]())  
    (0 until L.size).map{ i =>
      val pos = if(pat.size > i) pat(i) else 0
      s(pos) = s(pos) ++ Array(L(i))
    }
    val s0 = s(0).toSeq
    val s1 = s(1).toSeq
    val s2 = s(2).toSeq
    //println(s0, s1, s2)
    if(s0.size <= 0 || s1.size <= 0 || s2.size <= 0) return Int.MaxValue
    
    val mp0 = Math.abs(s0.sum - A(0))
    val mp1 = Math.abs(s1.sum - A(1))
    val mp2 = Math.abs(s2.sum - A(2))
    val mpa = (s0.size-1 + s1.size-1 + s2.size-1) * 10
    mpa + mp0 + mp1 + mp2
  }
  
  val perm = Math.pow(4, L.size).toInt
  val ret = (0 to perm).foldLeft(Int.MaxValue){ (a,i) =>
    Math.min(a, eval(pat(i, Seq())) )
  }
  //val ret = 8*7*6*5*4*3*2*1
  println(ret)
}
