#include <bits/stdc++.h>

using namespace std;
#define fast ios::sync_with_stdio(false); cin.tie(nullptr);
#define ll long long
#define endl '\n'
#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()

const int oo = 1e9;
const ll INF = 1e18;
const ll MOD = 1e9+7;
const int N = 10;
ll dp[N+1];

long long binpow(long long a, long long b, long long m) {
    a %= m;
    long long res = 1;
    while (b > 0) {
        if (b & 1)
            res = res * a % m;
        a = a * a % m;
        b >>= 1;
    }
    return res;
}


void solve(){
    for(int i=N ; i>=1 ; i--){
        dp[i] = binpow(2 , N/i , MOD) - 1;
        for(ll j = 2*i ; j<=N ; j+=i){
            dp[i]-=dp[j];
        }
    }
    for(int i=1 ; i<=N ; i++){
        cout<<dp[i]<<"\n";
    }
}

int main(){
    
    fast
    
    int t = 1; //cin >> t;
    
    while(t--) solve();
}

/*
 * at least and exact
 * 1 2 3 4 5 6 7 8 9 10
 * gcd = 10 -> 2^(10/10)-1 = 1 -> {10} 
 * gcd = 9 -> 2^(10/9)-1 = 1 -> {9}
 * gcd = 8 -> 2^(10/8)-1 = 1 -> {8}
 * gcd = 7 -> 2^(10/7)-1 = 1 -> {7}
 * gcd = 6 -> 2^(10/6)-1 = 1 -> {6}
 * gcd = 5 -> 2^(10/5)-1 - gcd(10) = 3-1 = 2 -> {5} {5 10}
 * gcd = 4 -> 2^(10/4)-1 - gcd(8) = 3-1 = 2 -> {4} {4 8}
 * gcd = 3 -> 2^(10/3)-1 - gcd(6) - gcd(9) = 7-1-1 = 5 -> {3} {3 6} {3 9} {6 9} {3 6 9}
 * gcd = 2 -> 2^(10/2)-1 - gcd(4) - gcd(6)-gcd(8) - gcd(10) = 31-2-1-1-1 = 26
 */