let split s c = let len = String.length s in let rec iter pos to_rev = if pos = len then List.rev ("" :: to_rev) else match try Some ( String.index_from s pos c ) with Not_found -> None with Some pos2 -> if pos2 = pos then iter (pos+1) ("" :: to_rev) else iter (pos2+1) ((String.sub s pos (pos2-pos)) :: to_rev) | None -> List.rev ( String.sub s pos (len-pos) :: to_rev ) in iter 0 [] let beens k n agesum = let beensum = k * n in if beensum < agesum then -1 else beensum - agesum let () = let beens1 = Scanf.sscanf (read_line ()) "%d %d" beens in let age_list = List.map int_of_string @@ split (read_line ()) ' ' in print_int @@ beens1 @@ List.fold_left (fun x y -> x + y) 0 age_list