/*
H 题
数论:求逆元。。
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#define manx 100009
#define mod 1000000007
using namespace std;
long long a[manx];
long long n;
long long fan(long long *a){
long long sum=1;
for(int i=1;i<=n;i++)
sum=(a[i]*sum%mod)%mod;
return sum;
}
long long kzgcd(long long a,long long b,long long &x,long long &y){
if(b==0){
x=1, y=0;
return a;
}
long long d=kzgcd(b,a%b,x,y);
long long t=y;
y=x-a/b*y;
x=t;
return d;
}
long long inv(long long a,long long b){
long long x,y;
long long flag=kzgcd(a,b,x,y);
if(flag!=1) return -1;
return (x%b+b)%b;
}
int main(){
while(cin>>n,n){
for(int i=1;i<=n;i++)
scanf("%lld",&a[i]);
long long sum = fan(a);
for(int i=1;i<=n;i++){
long long b=sum*inv(a[i],mod)%mod;
if(i==1) printf("%lld",b);
else printf(" %lld",b);
}
printf("\n");
}
}