using static System.Math; using System; public class Hello { public static int MOD = 1000000007; static void Main() { var n = int.Parse(Console.ReadLine().Trim()); string[] line = Console.ReadLine().Trim().Split(' '); var a = new int[n]; for (int i = 0; i < n; i++) { var w = int.Parse(line[i]); if (w == 0) { Console.WriteLine(-1); goto exit; } else if (w >= 4) { Console.WriteLine(MOD); goto exit; } else a[i] = w; } getAns(n, a); exit:; } static void getAns(int n, int[] a) { var b = new int[] { 0, 1, 4, (int)Pow(3, 6) }; var s = 1L; for (int i = 0; i < n; i++) { s *= b[a[i]]; if (s > MOD) { Console.WriteLine(MOD); return; } } Console.WriteLine(MOD % s); } }