#include <iostream>
#include <ctime>
#include <algorithm>
using namespace std;
int N, A[1 << 18];
void solve() {
cin >> N;
for (int i = 1; i <= N; i++) cin >> A[i];
long long val = 1;
for (int i = 1; i <= N; i++) {
val = (1LL * val * A[i]) % 1000000007LL;
}
cout << val << endl;
}
int main() {
srand((unsigned)time(NULL));
// ここで入力ファイル・出力ファイルを設定する
FILE* in = freopen("in\\in1.txt", "r", stdin);
FILE* out = freopen("out\\in1.txt", "w", stdout);
// テストケース生成をする関数を実行する
solve();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgTiwgQVsxIDw8IDE4XTsKCnZvaWQgc29sdmUoKSB7CgljaW4gPj4gTjsKCWZvciAoaW50IGkgPSAxOyBpIDw9IE47IGkrKykgY2luID4+IEFbaV07CgoJbG9uZyBsb25nIHZhbCA9IDE7Cglmb3IgKGludCBpID0gMTsgaSA8PSBOOyBpKyspIHsKCQl2YWwgPSAoMUxMICogdmFsICogQVtpXSkgJSAxMDAwMDAwMDA3TEw7Cgl9Cgljb3V0IDw8IHZhbCA8PCBlbmRsOwp9CgppbnQgbWFpbigpIHsKCXNyYW5kKCh1bnNpZ25lZCl0aW1lKE5VTEwpKTsKCgkvLyDjgZPjgZPjgaflhaXlipvjg5XjgqHjgqTjg6vjg7vlh7rlipvjg5XjgqHjgqTjg6vjgpLoqK3lrprjgZnjgosKCUZJTEUqIGluID0gZnJlb3BlbigiaW5cXGluMS50eHQiLCAiciIsIHN0ZGluKTsKCUZJTEUqIG91dCA9IGZyZW9wZW4oIm91dFxcaW4xLnR4dCIsICJ3Iiwgc3Rkb3V0KTsKCgkvLyDjg4bjgrnjg4jjgrHjg7zjgrnnlJ/miJDjgpLjgZnjgovplqLmlbDjgpLlrp/ooYzjgZnjgosKCXNvbHZlKCk7CglyZXR1cm4gMDsKfQ==