import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			
			int N = scan.nextInt();
			int[]a = new int[N];
			int goukei = 0;
			
			for(int i = 0;i<N;i++) {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			}
			
			
			System.out.println(goukei);
	
			
		}
	}
	
	
	
	
	/*for(Integer key:A.keySet()) {
	System.out.println(key);//素数
	System.out.println(A.get(key));//素数の指数
	}みたいな感じで表示できる*/	
	private static Map<Integer,Integer> primefact(int n){//入力ｎの素数とその指数をmapに格納
		Map<Integer,Integer> map = new TreeMap<Integer,Integer>();
		for(int i = 2;i*i<=n;i++) {
			if(n%i!=0) {
				continue;
			}
			int ex = 0;//素因数分解した素数たちの指数
			
			while (n % i == 0) {//iでわれる限りやる
				++ex;
				n /= i;
				}		
			map.put(i, ex);//(素数、その素数の指数)
		}
		if(n!=1) {//もし最後に素数が残ったら入れておく
			map.put(n, 1);
		}
		return map;
	}
} import java.util.Map; Map java.util import java.util.Scanner; Scanner java.util import java.util.TreeMap; TreeMap java.util public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			
			int N = scan.nextInt();
			int[]a = new int[N];
			int goukei = 0;
			
			for(int i = 0;i<N;i++) {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			}
			
			
			System.out.println(goukei);
	
			
		}
	}
	
	
	
	
	/*for(Integer key:A.keySet()) {
	System.out.println(key);//素数
	System.out.println(A.get(key));//素数の指数
	}みたいな感じで表示できる*/	
	private static Map<Integer,Integer> primefact(int n){//入力ｎの素数とその指数をmapに格納
		Map<Integer,Integer> map = new TreeMap<Integer,Integer>();
		for(int i = 2;i*i<=n;i++) {
			if(n%i!=0) {
				continue;
			}
			int ex = 0;//素因数分解した素数たちの指数
			
			while (n % i == 0) {//iでわれる限りやる
				++ex;
				n /= i;
				}		
			map.put(i, ex);//(素数、その素数の指数)
		}
		if(n!=1) {//もし最後に素数が残ったら入れておく
			map.put(n, 1);
		}
		return map;
	}
} Main public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			
			int N = scan.nextInt();
			int[]a = new int[N];
			int goukei = 0;
			
			for(int i = 0;i<N;i++) {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			}
			
			
			System.out.println(goukei);
	
			
		}
	} main {
		try(Scanner scan = new Scanner(System.in)){
			
			int N = scan.nextInt();
			int[]a = new int[N];
			int goukei = 0;
			
			for(int i = 0;i<N;i++) {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			}
			
			
			System.out.println(goukei);
	
			
		}
	} try(Scanner scan = new Scanner(System.in)){
			
			int N = scan.nextInt();
			int[]a = new int[N];
			int goukei = 0;
			
			for(int i = 0;i<N;i++) {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			}
			
			
			System.out.println(goukei);
	
			
		} {
			
			int N = scan.nextInt();
			int[]a = new int[N];
			int goukei = 0;
			
			for(int i = 0;i<N;i++) {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			}
			
			
			System.out.println(goukei);
	
			
		} Scanner scan = new Scanner(System.in) Scanner scan = new Scanner(System.in) new Scanner(System.in) int N = scan.nextInt(); N scan.nextInt() scan.nextInt scan int[]a = new int[N]; a new int[N] N int goukei = 0; goukei 0 for(int i = 0;i<N;i++) {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			} int i = 0; int i = 0; i 0 i<N i N i++ i++ i {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			} {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			} a[i] = scan.nextInt() a[i] a i scan.nextInt() scan.nextInt scan Map<Integer,Integer> map  = primefact(a[i]); map primefact(a[i]) primefact a[i] a i if(map.get(2)!=null) {
					goukei+=map.get(2);
				} map.get(2)!=null map.get(2) map.get map 2 null {
					goukei+=map.get(2);
				} goukei+=map.get(2) goukei map.get(2) map.get map 2 System.out.println(goukei) System.out.println System.out System System.out goukei String[]args args /*for(Integer key:A.keySet()) {
	System.out.println(key);//素数
	System.out.println(A.get(key));//素数の指数
	}みたいな感じで表示できる*/	
	private static Map<Integer,Integer> primefact(int n){//入力ｎの素数とその指数をmapに格納
		Map<Integer,Integer> map = new TreeMap<Integer,Integer>();
		for(int i = 2;i*i<=n;i++) {
			if(n%i!=0) {
				continue;
			}
			int ex = 0;//素因数分解した素数たちの指数
			
			while (n % i == 0) {//iでわれる限りやる
				++ex;
				n /= i;
				}		
			map.put(i, ex);//(素数、その素数の指数)
		}
		if(n!=1) {//もし最後に素数が残ったら入れておく
			map.put(n, 1);
		}
		return map;
	} primefact {//入力ｎの素数とその指数をmapに格納
		Map<Integer,Integer> map = new TreeMap<Integer,Integer>();
		for(int i = 2;i*i<=n;i++) {
			if(n%i!=0) {
				continue;
			}
			int ex = 0;//素因数分解した素数たちの指数
			
			while (n % i == 0) {//iでわれる限りやる
				++ex;
				n /= i;
				}		
			map.put(i, ex);//(素数、その素数の指数)
		}
		if(n!=1) {//もし最後に素数が残ったら入れておく
			map.put(n, 1);
		}
		return map;
	} Map<Integer,Integer> map = new TreeMap<Integer,Integer>(); map new TreeMap<Integer,Integer>() for(int i = 2;i*i<=n;i++) {
			if(n%i!=0) {
				continue;
			}
			int ex = 0;//素因数分解した素数たちの指数
			
			while (n % i == 0) {//iでわれる限りやる
				++ex;
				n /= i;
				}		
			map.put(i, ex);//(素数、その素数の指数)
		} int i = 2; int i = 2; i 2 i*i<=n i*i i i n i++ i++ i {
			if(n%i!=0) {
				continue;
			}
			int ex = 0;//素因数分解した素数たちの指数
			
			while (n % i == 0) {//iでわれる限りやる
				++ex;
				n /= i;
				}		
			map.put(i, ex);//(素数、その素数の指数)
		} {
			if(n%i!=0) {
				continue;
			}
			int ex = 0;//素因数分解した素数たちの指数
			
			while (n % i == 0) {//iでわれる限りやる
				++ex;
				n /= i;
				}		
			map.put(i, ex);//(素数、その素数の指数)
		} if(n%i!=0) {
				continue;
			} n%i!=0 n%i n i 0 {
				continue;
			} continue; int ex = 0; ex 0 while (n % i == 0) {//iでわれる限りやる
				++ex;
				n /= i;
				} n % i == 0 n % i n i 0 {//iでわれる限りやる
				++ex;
				n /= i;
				} ++ex ex n /= i n i map.put(i, ex) map.put map i ex if(n!=1) {//もし最後に素数が残ったら入れておく
			map.put(n, 1);
		} n!=1 n 1 {//もし最後に素数が残ったら入れておく
			map.put(n, 1);
		} map.put(n, 1) map.put map n 1 return map; map int n n public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			
			int N = scan.nextInt();
			int[]a = new int[N];
			int goukei = 0;
			
			for(int i = 0;i<N;i++) {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			}
			
			
			System.out.println(goukei);
	
			
		}
	}
	
	
	
	
	/*for(Integer key:A.keySet()) {
	System.out.println(key);//素数
	System.out.println(A.get(key));//素数の指数
	}みたいな感じで表示できる*/	
	private static Map<Integer,Integer> primefact(int n){//入力ｎの素数とその指数をmapに格納
		Map<Integer,Integer> map = new TreeMap<Integer,Integer>();
		for(int i = 2;i*i<=n;i++) {
			if(n%i!=0) {
				continue;
			}
			int ex = 0;//素因数分解した素数たちの指数
			
			while (n % i == 0) {//iでわれる限りやる
				++ex;
				n /= i;
				}		
			map.put(i, ex);//(素数、その素数の指数)
		}
		if(n!=1) {//もし最後に素数が残ったら入れておく
			map.put(n, 1);
		}
		return map;
	}
} public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			
			int N = scan.nextInt();
			int[]a = new int[N];
			int goukei = 0;
			
			for(int i = 0;i<N;i++) {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			}
			
			
			System.out.println(goukei);
	
			
		}
	}
	
	
	
	
	/*for(Integer key:A.keySet()) {
	System.out.println(key);//素数
	System.out.println(A.get(key));//素数の指数
	}みたいな感じで表示できる*/	
	private static Map<Integer,Integer> primefact(int n){//入力ｎの素数とその指数をmapに格納
		Map<Integer,Integer> map = new TreeMap<Integer,Integer>();
		for(int i = 2;i*i<=n;i++) {
			if(n%i!=0) {
				continue;
			}
			int ex = 0;//素因数分解した素数たちの指数
			
			while (n % i == 0) {//iでわれる限りやる
				++ex;
				n /= i;
				}		
			map.put(i, ex);//(素数、その素数の指数)
		}
		if(n!=1) {//もし最後に素数が残ったら入れておく
			map.put(n, 1);
		}
		return map;
	}
} Main
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			
			int N = scan.nextInt();
			int[]a = new int[N];
			int goukei = 0;
			
			for(int i = 0;i<N;i++) {
				a[i] = scan.nextInt();
				Map<Integer,Integer> map  = primefact(a[i]);
				
				if(map.get(2)!=null) {
					goukei+=map.get(2);
				}		
			}
			
			
			System.out.println(goukei);
	
			
		}
	}
	
	
	
	
	/*for(Integer key:A.keySet()) {
	System.out.println(key);//素数
	System.out.println(A.get(key));//素数の指数
	}みたいな感じで表示できる*/	
	private static Map<Integer,Integer> primefact(int n){//入力ｎの素数とその指数をmapに格納
		Map<Integer,Integer> map = new TreeMap<Integer,Integer>();
		for(int i = 2;i*i<=n;i++) {
			if(n%i!=0) {
				continue;
			}
			int ex = 0;//素因数分解した素数たちの指数
			
			while (n % i == 0) {//iでわれる限りやる
				++ex;
				n /= i;
				}		
			map.put(i, ex);//(素数、その素数の指数)
		}
		if(n!=1) {//もし最後に素数が残ったら入れておく
			map.put(n, 1);
		}
		return map;
	}
}
