#include<bits/stdc++.h>

//#define ll int
#define  ll long long
//#define ll unsigned long long
#define fi first
#define se second
#define all(a) a.begin(),a.end()
#define yn idehfushefuwheuf
#define y1 issdehfushefuwheuf
#define endL "\n"
#define all(a) a.begin(),a.end()
#define p_b push_back
#define pll pair<ll,ll>
#define sqr(a) ((a)*(a))
#define vll vector<ll>
#define sqr(a) (a) * (a)
const ll gig = 1e18;
const ll gg = 25*1e6;
const ll md = 1e9 + 7;
const ll N = 100050;
const double PI = 3.1415926535897932384626433832795;

using namespace std;

set<char> st;
string s[111];
int main()
{
    srand (time(NULL));
    ios_base::sync_with_stdio(0);
    cin.tie(0);
//    freopen("input.txt", "r", stdin);
//    freopen("output.txt", "w", stdout);
    ll n, z;

    cin >> n;

    ll ot = 1;

    ll k = 2;
    for (int i = 1; i <= n; i++) {
        ll o = k * k;

//        z = o;
        cout << sqr(i * (i + 1)) << endl;
//        cout << ot << endl;
        k++;
    }

}
///                                                                   1
///                                                                  1 1
///                                                                 1   1
///                                                                1 1 1 1
///                                                               1       1
///                                                              1 1     1 1
///                                                             1   1   1   1
///                                                            1 1 1 1 1 1 1 1
///                                                           1               1
///                                                          1 1             1 1
///                                                         1   1           1   1
///                                                        1 1 1 1         1 1 1 1
///                                                       1       1       1       1
///                                                      1 1     1 1     1 1     1 1
///                                                     1   1   1   1   1   1   1   1
///                                                    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
///                                                   1                               1
///                                                  1 1                             1 1
///                                                 1   1                           1   1
///                                                1 1 1 1                         1 1 1 1
///                                               1       1                       1       1
///                                              1 1     1 1                     1 1     1 1
///                                             1   1   1   1                   1   1   1   1
///                                            1 1 1 1 1 1 1 1                 1 1 1 1 1 1 1 1
///                                           1               1               1               1
///                                          1 1             1 1             1 1             1 1
///                                         1   1           1   1           1   1           1   1
///                                        1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1
///                                       1       1       1       1       1       1       1       1
///                                      1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1
///                                     1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
///                                    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
///                                   1                                                               1
///                                  1 1                                                             1 1
///                                 1   1                                                           1   1
///                                1 1 1 1                                                         1 1 1 1
///                               1       1                                                       1       1
///                              1 1     1 1                                                     1 1     1 1
///                             1   1   1   1                                                   1   1   1   1
///                            1 1 1 1 1 1 1 1                                                 1 1 1 1 1 1 1 1
///                           1               1                                               1               1
///                          1 1             1 1                                             1 1             1 1
///                         1   1           1   1                                           1   1           1   1
///                        1 1 1 1         1 1 1 1                                         1 1 1 1         1 1 1 1
///                       1       1       1       1                                       1       1       1       1
///                      1 1     1 1     1 1     1 1                                     1 1     1 1     1 1     1 1
///                     1   1   1   1   1   1   1   1                                   1   1   1   1   1   1   1   1
///                    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1                                 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
///                   1                               1                               1                               1
///                  1 1                             1 1                             1 1                             1 1
///                 1   1                           1   1                           1   1                           1   1
///                1 1 1 1                         1 1 1 1                         1 1 1 1                         1 1 1 1
///               1       1                       1       1                       1       1                       1       1
///              1 1     1 1                     1 1     1 1                     1 1     1 1                     1 1     1 1
///             1   1   1   1                   1   1   1   1                   1   1   1   1                   1   1   1   1
///            1 1 1 1 1 1 1 1                 1 1 1 1 1 1 1 1                 1 1 1 1 1 1 1 1                 1 1 1 1 1 1 1 1
///           1               1               1               1               1               1               1               1
///          1 1             1 1             1 1             1 1             1 1             1 1             1 1             1 1
///         1   1           1   1           1   1           1   1           1   1           1   1           1   1           1   1
///        1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1
///       1       1       1       1       1       1       1       1       1       1       1       1       1       1       1       1
///      1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1
///     1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
///    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1


#include<bits/stdc++.h>

//#define ll int
#define  ll long long
//#define ll unsigned long long
#define fi first
#define se second
#define all(a) a.begin(),a.end()
#define yn idehfushefuwheuf
#define y1 issdehfushefuwheuf
#define endL "\n"
#define all(a) a.begin(),a.end()
#define p_b push_back
#define pll pair<ll,ll>
#define sqr(a) ((a)*(a))
#define vll vector<ll>
#define sqr(a) (a) * (a)
const ll gig = 1e18;
const ll gg = 25*1e6;
const ll md = 1e9 + 7;
const ll N = 100050;
const double PI = 3.1415926535897932384626433832795;

using namespace std;

set<char> st;
string s[111];
int main()
{
    srand (time(NULL));
    ios_base::sync_with_stdio(0);
    cin.tie(0);
//    freopen("input.txt", "r", stdin);
//    freopen("output.txt", "w", stdout);
    ll n, z;

    cin >> n;

    ll ot = 2;

    ll k = 2;
    for (int i = 1; i <= n; i++) {

//        z = o;
        cout << (sqr(i * (i + 1)) - ot) / i<< endl;
        ot = (i * (i + 1));
//        cout << ot << endl;
    }

}
///                                                                   1
///                                                                  1 1
///                                                                 1   1
///                                                                1 1 1 1
///                                                               1       1
///                                                              1 1     1 1
///                                                             1   1   1   1
///                                                            1 1 1 1 1 1 1 1
///                                                           1               1
///                                                          1 1             1 1
///                                                         1   1           1   1
///                                                        1 1 1 1         1 1 1 1
///                                                       1       1       1       1
///                                                      1 1     1 1     1 1     1 1
///                                                     1   1   1   1   1   1   1   1
///                                                    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
///                                                   1                               1
///                                                  1 1                             1 1
///                                                 1   1                           1   1
///                                                1 1 1 1                         1 1 1 1
///                                               1       1                       1       1
///                                              1 1     1 1                     1 1     1 1
///                                             1   1   1   1                   1   1   1   1
///                                            1 1 1 1 1 1 1 1                 1 1 1 1 1 1 1 1
///                                           1               1               1               1
///                                          1 1             1 1             1 1             1 1
///                                         1   1           1   1           1   1           1   1
///                                        1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1
///                                       1       1       1       1       1       1       1       1
///                                      1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1
///                                     1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
///                                    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
///                                   1                                                               1
///                                  1 1                                                             1 1
///                                 1   1                                                           1   1
///                                1 1 1 1                                                         1 1 1 1
///                               1       1                                                       1       1
///                              1 1     1 1                                                     1 1     1 1
///                             1   1   1   1                                                   1   1   1   1
///                            1 1 1 1 1 1 1 1                                                 1 1 1 1 1 1 1 1
///                           1               1                                               1               1
///                          1 1             1 1                                             1 1             1 1
///                         1   1           1   1                                           1   1           1   1
///                        1 1 1 1         1 1 1 1                                         1 1 1 1         1 1 1 1
///                       1       1       1       1                                       1       1       1       1
///                      1 1     1 1     1 1     1 1                                     1 1     1 1     1 1     1 1
///                     1   1   1   1   1   1   1   1                                   1   1   1   1   1   1   1   1
///                    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1                                 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
///                   1                               1                               1                               1
///                  1 1                             1 1                             1 1                             1 1
///                 1   1                           1   1                           1   1                           1   1
///                1 1 1 1                         1 1 1 1                         1 1 1 1                         1 1 1 1
///               1       1                       1       1                       1       1                       1       1
///              1 1     1 1                     1 1     1 1                     1 1     1 1                     1 1     1 1
///             1   1   1   1                   1   1   1   1                   1   1   1   1                   1   1   1   1
///            1 1 1 1 1 1 1 1                 1 1 1 1 1 1 1 1                 1 1 1 1 1 1 1 1                 1 1 1 1 1 1 1 1
///           1               1               1               1               1               1               1               1
///          1 1             1 1             1 1             1 1             1 1             1 1             1 1             1 1
///         1   1           1   1           1   1           1   1           1   1           1   1           1   1           1   1
///        1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1         1 1 1 1
///       1       1       1       1       1       1       1       1       1       1       1       1       1       1       1       1
///      1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1     1 1
///     1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
///    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1


#include <bits/stdc++.h>
using namespace std;

typedef long long int ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<string, string> pss;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<pll> vll;
typedef vector<ll> vl;
typedef vector<vl> vvl;

double EPS = 1e-9;
long long INF = 1000000000000000005ll;
double PI = acos(-1);
#define M 1000000007ll
#define D 998244353ll
#define FAST ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define oset tree<ll, null_type,less_equal<ll>, rb_tree_tag,tree_order_statistics_node_update>
#define pb push_back
#define pf push_front
#define pob pop_back
#define pof pop_front
#define mxe(v) *max_element(v.begin(),v.end())
#define mne(v) *min_element(v.begin(),v.end())
#define bs binary_search
#define lb lower_bound
#define ub upper_bound
#define SQR(x) ((LL)(x) * (x))
#define RESET(a, b) memset(a, b, sizeof(a))
#define GCD(a,b) __gcd(a,b)
#define setbits(x)   __builtin_popcountll(x)
#define zerobits(x)  __builtin_ctzll(x)
#define ps(x,y)  fixed<<setprecision(y)<<x
#define endl '\n'
#define ff first
#define ss second
#define mp make_pair
#define ALL(v) v.begin(), v.end()
#define ALLA(arr, sz) arr, arr + sz
#define SIZE(v) (int)v.size()
#define SORT(v) sort(ALL(v))
#define REVERSE(v) reverse(ALL(v))
#define SORTA(arr, sz) sort(ALLA(arr, sz))
#define REVERSEA(arr, sz) reverse(ALLA(arr, sz))
#define PERMUTE next_permutation

inline string IntToString(ll a)
{
    char x[100];
    sprintf(x, "%lld", a);
    string s = x;
    return s;
}

inline ll StringToInt(string a)
{
    char x[100];
    ll res;
    strcpy(x, a.c_str());
    sscanf(x, "%lld", &res);
    return res;
}

inline string uppercase(string s)
{
    int n = SIZE(s);
    for(ll i=0;i<n;i++)
    if (s[i] >= 'a' && s[i] <= 'z')
        s[i] = s[i] - 'a' + 'A';
    return s;
}

inline string lowercase(string s)
{
    int n = SIZE(s);
    for(ll i=0;i<n;i++)
    if (s[i] >= 'A' && s[i] <= 'Z')
        s[i] = s[i] - 'A' + 'a';
    return s;
}

int main() {
    FAST
    #ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif
    ll n;
    cin>>n;
    cout<<2<<endl;
    for(ll i=2;i<=n;i++){
    	cout<<(i*i*(i+1)*(i+1)-i*(i-1))/i<<endl;
    }
    return 0;
}


#include <bits/stdc++.h>
using namespace std;

typedef long long int ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<string, string> pss;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<pll> vll;
typedef vector<ll> vl;
typedef vector<vl> vvl;

double EPS = 1e-9;
long long INF = 1000000000000000005ll;
double PI = acos(-1);
#define M 1000000007ll
#define D 998244353ll
#define FAST ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define oset tree<ll, null_type,less_equal<ll>, rb_tree_tag,tree_order_statistics_node_update>
#define pb push_back
#define pf push_front
#define pob pop_back
#define pof pop_front
#define mxe(v) *max_element(v.begin(),v.end())
#define mne(v) *min_element(v.begin(),v.end())
#define bs binary_search
#define lb lower_bound
#define ub upper_bound
#define SQR(x) ((LL)(x) * (x))
#define RESET(a, b) memset(a, b, sizeof(a))
#define GCD(a,b) __gcd(a,b)
#define setbits(x)   __builtin_popcountll(x)
#define zerobits(x)  __builtin_ctzll(x)
#define ps(x,y)  fixed<<setprecision(y)<<x
#define endl '\n'
#define ff first
#define ss second
#define mp make_pair
#define ALL(v) v.begin(), v.end()
#define ALLA(arr, sz) arr, arr + sz
#define SIZE(v) (int)v.size()
#define SORT(v) sort(ALL(v))
#define REVERSE(v) reverse(ALL(v))
#define SORTA(arr, sz) sort(ALLA(arr, sz))
#define REVERSEA(arr, sz) reverse(ALLA(arr, sz))
#define PERMUTE next_permutation

inline string IntToString(ll a)
{
    char x[100];
    sprintf(x, "%lld", a);
    string s = x;
    return s;
}

inline ll StringToInt(string a)
{
    char x[100];
    ll res;
    strcpy(x, a.c_str());
    sscanf(x, "%lld", &res);
    return res;
}

inline string uppercase(string s)
{
    int n = SIZE(s);
    for(ll i=0;i<n;i++)
    if (s[i] >= 'a' && s[i] <= 'z')
        s[i] = s[i] - 'a' + 'A';
    return s;
}

inline string lowercase(string s)
{
    int n = SIZE(s);
    for(ll i=0;i<n;i++)
    if (s[i] >= 'A' && s[i] <= 'Z')
        s[i] = s[i] - 'A' + 'a';
    return s;
}

int main() {
    FAST
    #ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif
    ll n;
    cin>>n;
    cout<<2<<endl;
    for(ll i=2;i<=n;i++){
    	cout<<(i*(i+1)*(i+1)-(i-1))<<endl;
    }
    return 0;
}


#include<bits/stdc++.h>
#pragma GCC optimize ("-O3")
using namespace std;
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define endl "\n"
#define ll long long
#define int long long
#define double long double
#define pb push_back
#define max(a,b) (a>b?a:b)
#define min(a,b) (a<b?a:b)
#define diff(a,b) (a>b?a-b:b-a)
const int N=1e6+5;
void pairsort(int a[], int b[], int n){
    pair<int, int> pairt[n];
    for (int i = 0; i < n; i++)
    {
        pairt[i].first = a[i];
        pairt[i].second = b[i];
    }
    sort(pairt, pairt + n);
    for (int i = 0; i < n; i++)
    {
        a[i] = pairt[i].first;
        b[i] = pairt[i].second;
    }
}
int gcd(int a, int b){
    if (b == 0)
        return a;
    return gcd(b, a % b);
}
int isPrime(int n){
    if(n < 2)
        return 0;
    if(n < 4)
        return 1;
    if(n % 2 == 0 or n % 3 == 0)
        return 0;
    for(int i = 5; i*i <= n; i += 6)
        if(n % i == 0 or n % (i+2) == 0)
            return 0;
    return 1;
}
long long C(int n, int r) {
    if(r>n-r)
        r=n-r;
    long long ans=1;
    for(int i=1;i<=r;i++){
        ans*=n-r+i;
        ans/=i;
    }
    return ans;
}
int mod = 1e9+7;
int modexpo(int x,int p){
    int res = 1;
    x = x%mod;
    while(p){
        if(p%2)
            res = res * x;
        p >>= 1;
        x = x*x % mod;
        res %= mod;
    }
    return res;
}
int n;
string s;
int32_t main()
{

		int n;
		cin>>n;
		int curr=2;
		for(int i=1;i<=n;i++){
			int x1=curr/i;
			int x=(i+1)*(i+1)-x1;
			if((int )sqrt(i)*(int)sqrt(i)==i){
				curr=sqrt(i)*(i+1);
				cout<<x<<"\n";
			}
			else{
				curr=i*(i+1);
				cout<<x+((i+1)*(i+1))*(i-1)<<"\n";
			}

		}

}


#include<bits/stdc++.h>
#pragma GCC optimize ("-O3")
using namespace std;
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define endl "\n"
#define ll long long
#define int long long
#define double long double
#define pb push_back
#define max(a,b) (a>b?a:b)
#define min(a,b) (a<b?a:b)
#define diff(a,b) (a>b?a-b:b-a)
const int N=1e6+5;
void pairsort(int a[], int b[], int n){
    pair<int, int> pairt[n];
    for (int i = 0; i < n; i++)
    {
        pairt[i].first = a[i];
        pairt[i].second = b[i];
    }
    sort(pairt, pairt + n);
    for (int i = 0; i < n; i++)
    {
        a[i] = pairt[i].first;
        b[i] = pairt[i].second;
    }
}
int gcd(int a, int b){
    if (b == 0)
        return a;
    return gcd(b, a % b);
}
int isPrime(int n){
    if(n < 2)
        return 0;
    if(n < 4)
        return 1;
    if(n % 2 == 0 or n % 3 == 0)
        return 0;
    for(int i = 5; i*i <= n; i += 6)
        if(n % i == 0 or n % (i+2) == 0)
            return 0;
    return 1;
}
long long C(int n, int r) {
    if(r>n-r)
        r=n-r;
    long long ans=1;
    for(int i=1;i<=r;i++){
        ans*=n-r+i;
        ans/=i;
    }
    return ans;
}
int mod = 1e9+7;
int modexpo(int x,int p){
    int res = 1;
    x = x%mod;
    while(p){
        if(p%2)
            res = res * x;
        p >>= 1;
        x = x*x % mod;
        res %= mod;
    }
    return res;
}
int n;
string s;
int32_t main()
{

		int n;
		cin>>n;
		int curr=1;
		for(int i=1;i<=n;i++){
			int x1=curr/i;
			int x=(i+1)*(i+1)-x1;
			if((int )sqrt(i)*(int)sqrt(i)==i){
				curr=sqrt(i)*(i+1);
			}
			else
				curr=i*(i+1);

			cout<<x<<"\n";
		}

}


#include<bits/stdc++.h>
#define ll unsigned long long
using namespace std;
int main()
{
    ll n,m=2ll ;
    cin>>n ;
    for(ll i = 1 ; i <= n ; i++)
    {
        if(i == 1){cout<<"2"<<endl ; continue ;}
        ll p = i*(i+1ll) ;
        ll q = p*p ;
        ll m = i*(i-1ll) ;
        ll r = (q-m)/i ;
     //   m = p;
     cout<<i*(i+1)*(i+1)-(i-1)<<endl ;
       // cout<<r<<endl ;
    }
}


#include<bits/stdc++.h>
#define ll unsigned long long int
using namespace std;
ll gcd(ll mx , ll mn)
{
    if(mn==0) return mx ;
    return gcd(mn,mx%mn) ;
}
ll nmq(ll n)
{
    ll sm = 0 ;
    while(n)
    {
        sm++ ; n/=10 ;
    }
    return sm ;
}
int i = 1 ;
int main()
{
    ll n,m=2,mo=0,fl=1,th=0 ;
    cin>>n ;
    n++ ;
    ll k = 1 ;
    while(k != n)
    {
        /*ll p = gcd(max(m,k+1),min(m,k+1)) ;
        p=(k+1)/p ;
        cout<<"k "<<k<<endl ;
        cout<<"p1 "<<p<<endl ;
        ll mi = m ;
        cout<<"mi "<<m<<endl ;
        m*=p ;
        cout<<"mf "<<m<<endl ;
        int l = gcd(m,k) ;
        p=k/l ; m*=p ;
        cout<<"p2 "<<p<<endl ;
        ll p = gcd(k,k+1) ;
        p = (k*(k+1))/p ;
        ll mi = m ;
        ll q = gcd(m,p) ;
        p=p/q ;
        m*=p ;
        ll sq = m*m ;
        cout<<"sq "<<sq<<" "<<sq%k<<" "<<m<<endl ;
        sq-=mi ;
        cout<<"once mod "<<sq%k<<endl ;
        if(sq%k!=0 && fl) {fl=0;th=k;}
        sq/=k;
        mo=max(mo,nmq(sq)) ;
     //   cout<<sq<<" "<<i++<<" "<<mo<<endl ;
        cout<<sq<<" "<<m<<" "<<nmq(sq)<<" "<<mo<<endl ;
        cout<<endl ;
        k++ ;*/
        ll mi = m ;
        ll p = gcd(m,k+1) ;
        p = (k+1)/p ;
        m*=p ;
        ll sq = m*m ;
        sq-=mi ;
        sq/=k ;
        k++ ;
        cout<<sq<<endl ;
    }
 //   cout<<"th "<<th<<endl ;
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    ll n,m=2ll ;
    cin>>n ;
    for(ll i = 1 ; i <= n ; i++)
    {
        if(i == 1){cout<<"2"<<endl ; continue ;}
        ll p = i*(i+1) ;
        ll q = p*p ;
        ll m = i*(i-1) ;
        ll r = (q-m)/i ;
     //   m = p;
     cout<<((i*(i+1)*i*(i+1))-(i*(i-1)))/i<<endl ;
        //cout<<r<<endl ;
    }
}


#include<bits/stdc++.h>
#define ll unsigned long long
using namespace std;
int main()
{
    ll n,m=2ll ;
    cin>>n ;
    for(ll i = 1 ; i <= n ; i++)
    {
        ll p = i*(i+1ll) ;
        ll q = p*p ;
        ll r = (q-m)/i ;
        m = p;
        cout<<r<<endl ;
    }
}


#include<bits/stdc++.h>
#define ll unsigned long long
using namespace std;
ll gcd(ll mx , ll mn)
{
    if(mn==0) return mx ;
    return gcd(mn,mx%mn) ;
}
ll nmq(ll n)
{
    ll sm = 0 ;
    while(n)
    {
        sm++ ; n/=10 ;
    }
    return sm ;
}
int i = 1 ;
int main()
{
    ll n,m=2,mo=0 ;
    cin>>n ;
    n++ ;
    ll k = 1 ;
    while(k != n)
    {
        ll p = gcd(max(m,k+1),min(m,k+1)) ;
        p=(k+1)/p ;
        ll mi = m ;
        m*=p ;
        ll sq = m*m ;
        sq-=mi ;
        sq/=k;
        mo=max(mo,nmq(sq)) ;
     //   cout<<sq<<" "<<i++<<" "<<mo<<endl ;
        cout<<sq<<endl ;
        k++ ;
    }
}


#include<bits/stdc++.h>
#define ll unsigned long long
using namespace std;
int main()
{
    ll n,m=2ll ;
    cin>>n ;
    for(ll i = 1 ; i <= n ; i++)
    {
        if(i == 1){cout<<"2"<<endl ; continue ;}
        ll p = i*(i+1) ;
        ll q = p*p ;
        ll m = i*(i-1) ;
        ll r = (q-m)/i ;
     //   m = p;
   //  cout<<i*(i+1)*(i+1)-(i-1)<<endl ;
        cout<<r<<endl ;
    }
}


#include<bits/stdc++.h>
#define ll unsigned long long
using namespace std;
int main()
{
    ll n,m=2ll ;
    cin>>n ;
    for(ll i = 1 ; i <= n ; i++)
    {
        if(i == 1){cout<<"2"<<endl ; continue ;}
        ll p = i*(i+1) ;
        ll q = p*p ;
        ll m = i*(i-1) ;
        ll r = (q-m)/i ;
     //   m = p;
     cout<<((i*(i+1)*i*(i+1))-(i*(i-1)))/i<<endl ;
        //cout<<r<<endl ;
    }
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    //ios_base::sync_with_stdio(0); cin.tie(0);
    ll n ;
    cin>>n ;
    for(ll i = 1 ; i <= n ; i++)
    {
        if(i == 1){cout<<"2"<<endl ; continue ;}
        cout<<i*(i+1)*(i+1)-(i-1)<<endl ;
    }
}


#include<bits/stdc++.h>
#define ll unsigned long long
using namespace std;
int main()
{
    ll n,m=2ll ;
    cin>>n ;
    for(ll i = 1 ; i <= n ; i++)
    {
        if(i == 1){cout<<"2"<<endl ; continue ;}
        ll p = i*(i+1ll) ;
        ll q = p*p ;
        ll m = i*(i-1ll) ;
        ll r = (q-m)/i ;
     //   m = p;
        cout<<r<<endl ;
    }
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    ll n,m=2ll ;
    cin>>n ;
    for(ll i = 1 ; i <= n ; i++)
    {
        if(i == 1){cout<<"2"<<endl ; continue ;}
        cout<<((i*(i+1)*i*(i+1))-(i*(i-1)))/i<<endl ;
    }
}


#include<bits/stdc++.h>
#define ll unsigned long long
using namespace std;
int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0);
    ll n ;
    cin>>n ;
    for(ll i = 1 ; i <= n ; i++)
    {
        if(i == 1){cout<<"2"<<endl ; continue ;}
        cout<<((i*(i+1)*i*(i+1))-(i*(i-1)))/i<<endl ;
    }
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    ll n,m=2 ;
    cin>>n ;
    for(ll i = 1 ; i <= n ; i++)
    {
        ll p = i*(i+1) ;
        ll q = p*p ;
        ll r = (q-m)/i ;
        m = p;
        cout<<r<<endl ;
    }
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0);
    ll n ;
    cin>>n ;
    for(ll i = 1 ; i <= n ; i++)
    {
        if(i == 1){cout<<"2"<<endl ; continue ;}
        cout<<i*(i+1)*(i+1)-(i-1)<<endl ;
    }
}


#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define ar array
#define ull unsigned long long

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);

	int n;
	cin >> n;

	for(int i = 1;i <= n; i++){
		if(i > 1)
			cout << i*i*i + 2*i*i + 1 << "\n";
		else
			cout << 2 << "\n";
	}

	return 0;
}


#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define ar array
#define ull unsigned long long

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);

	int n;
	cin >> n;

	ull ans = 2;
	for(int i = 1;i <= n; i++){
		cout << ans << "\n";
		ans = i*i*i + 5*i*i + 7*i + 4;
	}

	return 0;
}


#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define ar array
#define ull unsigned long long

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);

	ll n; cin >> n;
	for(ll i = 1; i <= n; i++)
	{
		if(i == 1) cout << 2 << '\n';
		else cout << i*(i+1)*(i+1)-(i-1) << '\n';
	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define MAXN (int)(1e5 + 5)
#define MAXM (int)(1e2+5)
#define fr first
#define sd second
#define MP make_pair
#define pb push_back
#define ALL(v) v.begin(), v.end()
#define M0(a) memset(a, 0, sizeof(a))
#define M1(a) memset(a, -1, sizeof(a))
#define REP(i,n) for(int i = 0; i < int(n); i++)
#define REPN(i,n,m) for(int i = m; i <= int(n); i++)
#define RREP(i,n) for(int i = int(n-1); i >= 0; i--)
#define RREPN(i, n, m) for(int i = n; i >= (int)m; i--)
typedef unsigned long long ll;
typedef double db;
typedef long double ld;
const int INF= int(1e9 + 7);
const ll MOD = int(998'244'353);
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<pii, pii> ppii;
template<typename T, typename U> inline void AMIN(T &x, U y){ if(x > y) x = y;}
template<typename T, typename U> inline void AMAX(T &x, U y){ if(x < y) x = y;}

ll sq(ll a) {
        return a * a;
}

int main() {
        //freopen("input.txt", "r", stdin);
        //freopen("output.txt", "w", stdout);
        ios_base::sync_with_stdio(false);
        cin.tie(NULL);
        int n;
        cin >> n;

        ll p = 2;
        for(ll i = 2; i <= n + 1; i++) {

                ll ans = sq(1LL * i * (i - 1)) - p;
                cout << ans / (i - 1) << endl;
                p = 1LL * i * (i - 1);
        }
        return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define MAXN (int)(1e5 + 5)
#define MAXM (int)(1e2+5)
#define fr first
#define sd second
#define MP make_pair
#define pb push_back
#define ALL(v) v.begin(), v.end()
#define M0(a) memset(a, 0, sizeof(a))
#define M1(a) memset(a, -1, sizeof(a))
#define REP(i,n) for(int i = 0; i < int(n); i++)
#define REPN(i,n,m) for(int i = m; i <= int(n); i++)
#define RREP(i,n) for(int i = int(n-1); i >= 0; i--)
#define RREPN(i, n, m) for(int i = n; i >= (int)m; i--)
typedef long long ll;
typedef double db;
typedef long double ld;
const int INF= int(1e9 + 7);
const ll MOD = int(998'244'353);
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<pii, pii> ppii;
template<typename T, typename U> inline void AMIN(T &x, U y){ if(x > y) x = y;}
template<typename T, typename U> inline void AMAX(T &x, U y){ if(x < y) x = y;}

ll sq(ll a) {
        return a * a;
}

int main() {
        //freopen("input.txt", "r", stdin);
        //freopen("output.txt", "w", stdout);
        ios_base::sync_with_stdio(false);
        cin.tie(NULL);
        int n;
        cin >> n;

        ll p = 2;
        for(ll i = 2; i <= n + 1; i++) {

                ll ans = sq(1LL * i * (i - 1)) - p;
                cout << ans / (i - 1) << endl;
                p = 1LL * i * (i - 1);
        }
        return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define MAXN (int)(1e5 + 5)
#define MAXM (int)(1e2+5)
#define fr first
#define sd second
#define MP make_pair
#define pb push_back
#define ALL(v) v.begin(), v.end()
#define M0(a) memset(a, 0, sizeof(a))
#define M1(a) memset(a, -1, sizeof(a))
#define REP(i,n) for(int i = 0; i < int(n); i++)
#define REPN(i,n,m) for(int i = m; i <= int(n); i++)
#define RREP(i,n) for(int i = int(n-1); i >= 0; i--)
#define RREPN(i, n, m) for(int i = n; i >= (int)m; i--)
typedef long long ll;
typedef double db;
typedef long double ld;
const int INF= int(1e9 + 7);
const ll MOD = int(998'244'353);
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<pii, pii> ppii;
template<typename T, typename U> inline void AMIN(T &x, U y){ if(x > y) x = y;}
template<typename T, typename U> inline void AMAX(T &x, U y){ if(x < y) x = y;}

ll sq(ll a) {
        return a * a;
}

int main() {
        //freopen("input.txt", "r", stdin);
        //freopen("output.txt", "w", stdout);
        ios_base::sync_with_stdio(false);
        cin.tie(NULL);
        int n;
        cin >> n;

        ll p = 2;
        REPN(i, n + 1, 2) {

                ll ans = sq(i * (i - 1)) - p;
                cout << ans / (i - 1) << endl;
                p = i * (i - 1);
        }
        return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define MAXN (int)(1e5 + 5)
#define MAXM (int)(1e2+5)
#define fr first
#define sd second
#define MP make_pair
#define pb push_back
#define ALL(v) v.begin(), v.end()
#define M0(a) memset(a, 0, sizeof(a))
#define M1(a) memset(a, -1, sizeof(a))
#define REP(i,n) for(int i = 0; i < int(n); i++)
#define REPN(i,n,m) for(int i = m; i <= int(n); i++)
#define RREP(i,n) for(int i = int(n-1); i >= 0; i--)
#define RREPN(i, n, m) for(int i = n; i >= (int)m; i--)
typedef long long ll;
typedef double db;
typedef long double ld;
const int INF= int(1e9 + 7);
const ll MOD = int(998'244'353);
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<pii, pii> ppii;
template<typename T, typename U> inline void AMIN(T &x, U y){ if(x > y) x = y;}
template<typename T, typename U> inline void AMAX(T &x, U y){ if(x < y) x = y;}

ll sq(ll a) {
        return a * a;
}

int main() {
        //freopen("input.txt", "r", stdin);
        //freopen("output.txt", "w", stdout);
        ios_base::sync_with_stdio(false);
        cin.tie(NULL);
        int n;
        cin >> n;

        ll p = 2;
        REPN(i, n + 1, 2) {

                ll ans = sq(1LL * i * (i - 1)) - p;
                cout << ans / (i - 1) << endl;
                p = 1LL * i * (i - 1);
        }
        return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define MAXN (int)(1e5 + 5)
#define MAXM (int)(1e2+5)
#define fr first
#define sd second
#define MP make_pair
#define pb push_back
#define ALL(v) v.begin(), v.end()
#define M0(a) memset(a, 0, sizeof(a))
#define M1(a) memset(a, -1, sizeof(a))
#define REP(i,n) for(int i = 0; i < int(n); i++)
#define REPN(i,n,m) for(int i = m; i <= int(n); i++)
#define RREP(i,n) for(int i = int(n-1); i >= 0; i--)
#define RREPN(i, n, m) for(int i = n; i >= (int)m; i--)
typedef unsigned long long ll;
typedef double db;
typedef long double ld;
const int INF= int(1e9 + 7);
const ll MOD = int(998'244'353);
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<pii, pii> ppii;
template<typename T, typename U> inline void AMIN(T &x, U y){ if(x > y) x = y;}
template<typename T, typename U> inline void AMAX(T &x, U y){ if(x < y) x = y;}

ll sq(ll a) {
        return a * a;
}

int main() {
        //freopen("input.txt", "r", stdin);
        //freopen("output.txt", "w", stdout);
        ios_base::sync_with_stdio(false);
        cin.tie(NULL);
        int n;
        cin >> n;

        ll p = 2;
        for(ll i = 1; i <= n; i++) {

                if(i == 1)
                        cout << 2 << endl;
                else
                        cout << i * (i + 1) * (i + 1) - (i - 1) << endl;
        }
        return 0;
}


#include <bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
#define pii pair<int,int>
#define ll long long int
#define forn(i,n) for(int i = 0; i < n; ++i)
#define all(X) (X).begin(),(X).end()
const int mx = 1e6+5;
const int inf = 0x3f3f3f3f;

using namespace std;

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
    ll n;
    cin>>n;
    ll s=2,l=1;
    while(n--){
        cout<<(pow(l,2)*pow(l+1,2)-s)/l<<endl;
        s=l*(l+1);
        l++;
    }
    return 0;
}


#include <bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
#define pii pair<int,int>
#define ll long long int
#define forn(i,n) for(int i = 0; i < n; ++i)
#define all(X) (X).begin(),(X).end()
const int mx = 1e6+5;
const int inf = 0x3f3f3f3f;

using namespace std;

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
    ll n;
    cin>>n;
    ll s=2,l=1;
    while(n--){
        ll c=l*pow(l+1,2)-s/l;
        cout<<c<<endl;
        s=l*(l+1);
        l++;
    }
    return 0;
}


#include <bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
#define pii pair<int,int>
#define ll long long int
#define forn(i,n) for(int i = 0; i < n; ++i)
#define all(X) (X).begin(),(X).end()
const int mx = 1e6+5;
const int inf = 0x3f3f3f3f;

using namespace std;

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
    ll n;
    cin>>n;
    ll s=2,l=1;
    while(n--){
        ll k=1;
        for(int i=1;i<inf;i++){
            ll check=pow(i,2)*pow(l+1,2);
            if((check-s)%l==0){
                cout<<(check-s)/l<<endl;
                k=i;
                break;
            }
        }
        s=k*(l+1);
        l++;
    }
    return 0;
}


#include <bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
#define pii pair<int,int>
#define ll long long int
#define forn(i,n) for(int i = 0; i < n; ++i)
#define all(X) (X).begin(),(X).end()
const int mx = 1e6+5;
const int inf = 0x3f3f3f3f;

using namespace std;

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
    ll n;
    cin>>n;
    ll s=2,l=1;
    while(n--){
        ll k=1;
        for(int i=sqrt(s);i<inf;i++){
            // ll check=pow(i,2)*pow(l+1,2);
            if((i*i-s)%l==0){
                cout<<(pow(i,2)*pow(l+1,2) - s)/l<<endl;
                k=i;
                break;
            }
        }
        s=k*(l+1);
        l++;
    }
    return 0;
}


#include<bits/stdc++.h>
#define In_the_name_of_allah_the_merciful ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
#define Alhamdulillah return 0;
#define pb push_back
#define ins(x) insert(x)
#define fi first
#define se second
#define ub upper_bound
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define sz(v) ((ll)((v).size()))
#define reset(v,val) memset(v,val,sizeof(v))
#define loop(i, x, n) for ( i = x; i<=(ll)(n); i++)
#define loopinverse(i, n, x) for( i = n; i>=x; i--)
using namespace std;
typedef long long      ll;
typedef long double ld;
ll mod=1e9+7;
long double eps = 1e-12;
ll dx[]={0,0,1,-1};
ll dy[]={1,-1,0,0};
ll n,res=0,k=0,h,ans=0,m,level=0;;
ll gcd(ll a, ll b){if (b == 0)return a;return gcd(b, a % b);}
ll lcm(ll x,ll y){return (x*y)/gcd(x,y);}
void yes(){cout<<"YES\n";}
void no(){cout<<"NO\n";}
vector< ll >v[300005],vnode;
void add_edge(ll x,ll y){v[x].pb(y);v[y].pb(x);}
string s2,ch="",s,s1="",t;
vector< pair<string,ll> >vm;
vector< pair< pair<ll,ll>,ll > > vvvl,vvvr;
vector<pair<ll,ll> >vv,vv2;
ld a[500005],b[500005],dpans[5000054]={0};
ll dp[3][500005];
map< pair<ll,ll>,ll >mp;
string ss="LR";

int main(){
/******************************************/In_the_name_of_allah_the_merciful/****************************************************/

    ll i=0,x=0,z=0,y=0,j=0,q,mx=0,mm,idx=0,ok=0,l=0,negatif=0,positif=0,l1,r1,p;
    set< pair<ll,ll>  > ::iterator it1,it2;
    multiset<ll>::iterator it;
    multiset<ll>mst1,mst2;
    #ifndef ONLINE_JUDGE
        freopen("a.txt","r",stdin);
    #endif
    cin>>n;
    ll sm=2;
    loop(i,1,n){
        x=(i+1)*(i+1);
        y=(x-sm)/i;
        cout<<y<<'\n';
        sm=(i+1);
    }

/*****************************************************/Alhamdulillah/**************************************************************/
}


#include<bits/stdc++.h>
#define In_the_name_of_allah_the_merciful ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
#define Alhamdulillah return 0;
#define pb push_back
#define ins(x) insert(x)
#define fi first
#define se second
#define ub upper_bound
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define sz(v) ((ll)((v).size()))
#define reset(v,val) memset(v,val,sizeof(v))
#define loop(i, x, n) for ( i = x; i<=(ll)(n); i++)
#define loopinverse(i, n, x) for( i = n; i>=x; i--)
using namespace std;
typedef long long      ll;
typedef long double ld;
ll mod=1e9+7;
long double eps = 1e-12;
ll dx[]={0,0,1,-1};
ll dy[]={1,-1,0,0};
ll n,res=0,k=0,h,ans=0,m,level=0;;
ll gcd(ll a, ll b){if (b == 0)return a;return gcd(b, a % b);}
ll lcm(ll x,ll y){return (x*y)/gcd(x,y);}
void yes(){cout<<"YES\n";}
void no(){cout<<"NO\n";}
vector< ll >v[300005],vnode;
void add_edge(ll x,ll y){v[x].pb(y);v[y].pb(x);}
string s2,ch="",s,s1="",t;
vector< pair<string,ll> >vm;
vector< pair< pair<ll,ll>,ll > > vvvl,vvvr;
vector<pair<ll,ll> >vv,vv2;
ld a[500005],b[500005],dpans[5000054]={0};
ll dp[3][500005];
map< pair<ll,ll>,ll >mp;
string ss="LR";

int main(){
/******************************************/In_the_name_of_allah_the_merciful/****************************************************/

    ll i=0,x=0,z=0,y=0,j=0,q,mx=0,mm,idx=0,ok=0,l=0,negatif=0,positif=0,l1,r1,p;
    set< pair<ll,ll>  > ::iterator it1,it2;
    multiset<ll>::iterator it;
    multiset<ll>mst1,mst2;
    #ifndef ONLINE_JUDGE
        freopen("a.txt","r",stdin);
    #endif
    cin>>n;
    ll sm=2;
    loop(i,1,n){
        ll x=(i+1);
        for(j=1;j<=1e3;j++){
            ll sq=x*x;
            if((sq-sm)%i ==0){
                ll y=(sq-sm)/i;
                cout<<y<<'\n';
                sm=x;
                break;
            }
            x=(i+1)*j;
        }
    }

/*****************************************************/Alhamdulillah/**************************************************************/
}


    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    using namespace std;

    typedef long long ll;

    int main()
    {
    //	freopen("input.txt", "r", stdin);
    //	freopen("output.txt", "w", stdout);

    	ll n;
    	scanf("%lld", &n);
    	ll x = 2;
    	for (ll k = 1; k <= n; k++)
    	{
    		printf("%lld\n", (k + 1) * (k + 1) * k - x / k);
    		x = k * (k + 1);
    	}

    	return 0;
    }


#include<bits/stdc++.h>
#define In_the_name_of_allah_the_merciful ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
#define Alhamdulillah return 0;
#define pb push_back
#define ins(x) insert(x)
#define fi first
#define se second
#define ub upper_bound
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define sz(v) ((ll)((v).size()))
#define reset(v,val) memset(v,val,sizeof(v))
#define loop(i, x, n) for ( i = x; i<=(ll)(n); i++)
#define loopinverse(i, n, x) for( i = n; i>=x; i--)
using namespace std;
typedef long long      ll;
typedef long double ld;
ll mod=1e9+7;
long double eps = 1e-12;
ll dx[]={0,0,1,-1};
ll dy[]={1,-1,0,0};
ll n,res=0,k=0,h,ans=0,m,level=0;;
ll gcd(ll a, ll b){if (b == 0)return a;return gcd(b, a % b);}
ll lcm(ll x,ll y){return (x*y)/gcd(x,y);}
void yes(){cout<<"YES\n";}
void no(){cout<<"NO\n";}
vector< ll >v[300005],vnode;
void add_edge(ll x,ll y){v[x].pb(y);v[y].pb(x);}
string s2,ch="",s,s1="",t;
vector< pair<string,ll> >vm;
vector< pair< pair<ll,ll>,ll > > vvvl,vvvr;
vector<pair<ll,ll> >vv,vv2;
ld a[500005],b[500005],dpans[5000054]={0};
ll dp[3][500005];
map< pair<ll,ll>,ll >mp;
string ss="LR";

int main(){
/******************************************/In_the_name_of_allah_the_merciful/****************************************************/

    ll i=0,x=0,z=0,y=0,j=0,q,mx=0,mm,idx=0,ok=0,l=0,negatif=0,positif=0,l1,r1,p;
    set< pair<ll,ll>  > ::iterator it1,it2;
    multiset<ll>::iterator it;
    multiset<ll>mst1,mst2;
    #ifndef ONLINE_JUDGE
        freopen("a.txt","r",stdin);
    #endif
    cin>>n;
    ll sm=2;
    loop(i,1,n){
        ll x=(i+1);
        for(j=1;j<=1e3;j++){
            ll sq=x*x;
            if((sq-sm)%i ==0){
                ll y=(sq-sm)/i;
                cout<<y<<'\n';
                sm=x;
                break;
            }
            x+=(i+1);
        }
    }

/*****************************************************/Alhamdulillah/**************************************************************/
}


#include<bits/stdc++.h>
#define In_the_name_of_allah_the_merciful ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
#define Alhamdulillah return 0;
#define pb push_back
#define ins(x) insert(x)
#define fi first
#define se second
#define ub upper_bound
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define sz(v) ((ll)((v).size()))
#define reset(v,val) memset(v,val,sizeof(v))
#define loop(i, x, n) for ( i = x; i<=(ll)(n); i++)
#define loopinverse(i, n, x) for( i = n; i>=x; i--)
using namespace std;
typedef long long      ll;
typedef long double ld;
ll mod=1e9+7;
long double eps = 1e-12;
ll dx[]={0,0,1,-1};
ll dy[]={1,-1,0,0};
ll n,res=0,k=0,h,ans=0,m,level=0;;
ll gcd(ll a, ll b){if (b == 0)return a;return gcd(b, a % b);}
ll lcm(ll x,ll y){return (x*y)/gcd(x,y);}
void yes(){cout<<"YES\n";}
void no(){cout<<"NO\n";}
vector< ll >v[300005],vnode;
void add_edge(ll x,ll y){v[x].pb(y);v[y].pb(x);}
string s2,ch="",s,s1="",t;
vector< pair<string,ll> >vm;
vector< pair< pair<ll,ll>,ll > > vvvl,vvvr;
vector<pair<ll,ll> >vv,vv2;
ld a[500005],b[500005],dpans[5000054]={0};
ll dp[3][500005];
map< pair<ll,ll>,ll >mp;
string ss="LR";

int main(){
/******************************************/In_the_name_of_allah_the_merciful/****************************************************/

    ll i=0,x=0,z=0,y=0,j=0,q,mx=0,mm,idx=0,ok=0,l=0,negatif=0,positif=0,l1,r1,p;
    set< pair<ll,ll>  > ::iterator it1,it2;
    multiset<ll>::iterator it;
    multiset<ll>mst1,mst2;
    #ifndef ONLINE_JUDGE
        freopen("a.txt","r",stdin);
    #endif
    cin>>n;
    ll sm=2;
    loop(i,1,n){
        ll x=(i+1);
        for(j=1;j<=1e4;j++){
            ll sq=x*x;
            if((sq-sm)%i ==0){
                ll y=(sq-sm)/i;
                cout<<y<<'\n';
                sm=x;
                break;
            }
            x=(i+1)*j;
        }
    }

/*****************************************************/Alhamdulillah/**************************************************************/
}


#include<bits/stdc++.h>
using namespace std;

#define mod 1000000007
#define ull unsigned long long int
#define FastIO ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

/* TYPE DEFINITIONS */
typedef     long long int        ll;
typedef     vector<ll>     vi;
typedef     pair<ll,ll>   pi;

/* MATH */
bool isPrime(ull n)
{
    if (n <= 1)  return false;
    if (n <= 3)  return true;
    if (n%2 == 0 || n%3 == 0) return false;

    for (ull i=5; i*i<=n; i=i+6)
        if (n%i == 0 || n%(i+2) == 0)
           return false;

    return true;
}

ll pow(ll a,ll b)
{
    ll res=1;
    while(b>0)
    {
        if(b&1)res=(res*a);
        a=(a*a);
        b>>=1;
    }
    return res;
}

ll ncr(int n, int k)
{
	if(k>n)return 0;
    ll res = 1;
    if ( k > n - k )
        k = n - k;
    for (int i = 0; i < k; ++i)
    {
        res *= (n - i);
        res /= (i + 1);
    }

    return res;
}

//
/* MACROS */

#define  all(A)         (A).begin() , (A).end()
#define  arrall(A,n)    (A),((A)+(n))
#define  rall(A)        (A).rbegin() , (A).rend()
#define  sz(A)          (int)(A).size()
#define  pb             push_back
#define  ppb            pop_back
#define  mp             make_pair
#define  ln(X)          (int)(X).length()
#define  square(X)      ((X)*(X))
#define  cube(X)        ((X)*(X)*(X))
#define  forn(i, n)  for (int i = 0; i < int(n); i++)
#define  forr(i, n)  for (int i = int(n - 1); i >= 0; i--)
#define  fora(i, a, b)  for (int i = int(a); i <= int(b); i++)
#define  forb(i, a, b)  for (int i = int(a); i >= int(b); i--)
#define  fore(it, a)    for(__typeof((a).begin()) it = (a).begin(); it != (a).end(); it++)
#define  deb(x)       cout << '>' << #x << ' is ' << x << endl;
void  solve()
{
	ll n;
	cin>>n;
	ll cur=2;
	for(ll i=2;i<=n+1;i++)
	{
		ll x=i*2;
		cout<<x*x-cur<<endl;
		cur=x;
	}

}

int main()
{

    #ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("op.txt", "w", stdout);
    #endif
    FastIO;
   // init();
    int t=1;
  	//cin>>t;
    while(t--)
    {
        solve();
    }
}


#include<bits/stdc++.h>
using namespace std;

#define mod 1000000007
#define ull unsigned long long int
#define FastIO ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

/* TYPE DEFINITIONS */
typedef     long long int        ll;
typedef     vector<ll>     vi;
typedef     pair<ll,ll>   pi;

/* MATH */
bool isPrime(ull n)
{
    if (n <= 1)  return false;
    if (n <= 3)  return true;
    if (n%2 == 0 || n%3 == 0) return false;

    for (ull i=5; i*i<=n; i=i+6)
        if (n%i == 0 || n%(i+2) == 0)
           return false;

    return true;
}

ll pow(ll a,ll b)
{
    ll res=1;
    while(b>0)
    {
        if(b&1)res=(res*a);
        a=(a*a);
        b>>=1;
    }
    return res;
}

ll ncr(int n, int k)
{
	if(k>n)return 0;
    ll res = 1;
    if ( k > n - k )
        k = n - k;
    for (int i = 0; i < k; ++i)
    {
        res *= (n - i);
        res /= (i + 1);
    }

    return res;
}

//
/* MACROS */

#define  all(A)         (A).begin() , (A).end()
#define  arrall(A,n)    (A),((A)+(n))
#define  rall(A)        (A).rbegin() , (A).rend()
#define  sz(A)          (int)(A).size()
#define  pb             push_back
#define  ppb            pop_back
#define  mp             make_pair
#define  ln(X)          (int)(X).length()
#define  square(X)      ((X)*(X))
#define  cube(X)        ((X)*(X)*(X))
#define  forn(i, n)  for (int i = 0; i < int(n); i++)
#define  forr(i, n)  for (int i = int(n - 1); i >= 0; i--)
#define  fora(i, a, b)  for (int i = int(a); i <= int(b); i++)
#define  forb(i, a, b)  for (int i = int(a); i >= int(b); i--)
#define  fore(it, a)    for(__typeof((a).begin()) it = (a).begin(); it != (a).end(); it++)
#define  deb(x)       cout << '>' << #x << ' is ' << x << endl;
void  solve()
{
	ll n;
	cin>>n;
	ll cur=2;
	cout<<2<<endl;
	for(ll i=2;i<=n;i++)
	{
		cout<<i*(i+1)*(i+1)-(i-1)<<endl;
	}

}

int main()
{

    #ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("op.txt", "w", stdout);
    #endif
    FastIO;
   // init();
    int t=1;
  	//cin>>t;
    while(t--)
    {
        solve();
    }
}


#include<bits/stdc++.h>
using namespace std;

#define mod 1000000007
#define ull unsigned long long int
#define FastIO ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

/* TYPE DEFINITIONS */
typedef     long long int        ll;
typedef     vector<ll>     vi;
typedef     pair<ll,ll>   pi;

/* MATH */
bool isPrime(ull n)
{
    if (n <= 1)  return false;
    if (n <= 3)  return true;
    if (n%2 == 0 || n%3 == 0) return false;

    for (ull i=5; i*i<=n; i=i+6)
        if (n%i == 0 || n%(i+2) == 0)
           return false;

    return true;
}

ll pow(ll a,ll b)
{
    ll res=1;
    while(b>0)
    {
        if(b&1)res=(res*a);
        a=(a*a);
        b>>=1;
    }
    return res;
}

ll ncr(int n, int k)
{
	if(k>n)return 0;
    ll res = 1;
    if ( k > n - k )
        k = n - k;
    for (int i = 0; i < k; ++i)
    {
        res *= (n - i);
        res /= (i + 1);
    }

    return res;
}

//
/* MACROS */

#define  all(A)         (A).begin() , (A).end()
#define  arrall(A,n)    (A),((A)+(n))
#define  rall(A)        (A).rbegin() , (A).rend()
#define  sz(A)          (int)(A).size()
#define  pb             push_back
#define  ppb            pop_back
#define  mp             make_pair
#define  ln(X)          (int)(X).length()
#define  square(X)      ((X)*(X))
#define  cube(X)        ((X)*(X)*(X))
#define  forn(i, n)  for (int i = 0; i < int(n); i++)
#define  forr(i, n)  for (int i = int(n - 1); i >= 0; i--)
#define  fora(i, a, b)  for (int i = int(a); i <= int(b); i++)
#define  forb(i, a, b)  for (int i = int(a); i >= int(b); i--)
#define  fore(it, a)    for(__typeof((a).begin()) it = (a).begin(); it != (a).end(); it++)
#define  deb(x)       cout << '>' << #x << ' is ' << x << endl;
void  solve()
{
	ll n;
	cin>>n;
	ll cur=2;
	cout<<2<<endl;
	for(ll i=2;i<=n;i++)
	{
		//cout<<i*(i+1)*(i+1)-(i-1)<<endl;
		cout<<pow(i*(i+1),2)-pow((i-1),2)<<endl;
	}

}

int main()
{

    #ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("op.txt", "w", stdout);
    #endif
    FastIO;
   // init();
    int t=1;
  	//cin>>t;
    while(t--)
    {
        solve();
    }
}


// Problem : A. Plus and Square Root
// Contest : Codeforces - Codeforces Round #372 (Div. 1)
// URL : https://codeforces.com/problemset/problem/715/A
// Memory Limit : 0 MB
// Time Limit : 0 ms
// Powered by CP Editor (https://github.com/cpeditor/cpeditor)

#include <bits/stdc++.h>
#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;

#define int long long
#define re return
#define ldb long double
#define db double
#define str string

#define br break
#define fr first
#define se second
#define lb lower_bound
#define ub upper_bound
#define pb push_back
#define mkp make_pair

#define pi pair<int,int>
#define pll pair<ll,ll>
#define pdb pair<db,db>
#define pldb pair<ldb,ldb>

#define vi vector<int>
#define vll vector<ll>
#define vdb vector<db>
#define vldb vector<ldb>
#define vpi vector< pi >
#define vpll vector< pll >

#define mi map<int,int>
#define mdb map<db,db>
#define mldb map<ldb,ldb>

#define si set<int>
#define sdb set<db>
#define sldb set<ldb>

#define test int t; cin>>t; while(t--)
#define scan() int n; cin>>n; int a[n]; for(int i=0;i<n;i++) cin>>a[i]
#define scan2() int n,k; cin>>n>>k; int a[n]; for(int i=0;i<n;i++) cin>>a[i]
#define print(a,n) for(int i=0;i<n;i++) cout<<a[i]<<' '
#define mem(a,v) memset(a,v,sizeof(a))
#define srt(v) sort(v.begin(),v.end())
#define rev(s) reverse(s.begin(),s.end())

#define forr(i,a,b) for (int i = (a); i < (b); ++i)
#define rrof(i,a,b) for (int i = (b)-1; i >= (a); --i)

const int MOD = 1e9+7;
const ldb PI = 4*atan((ldb)1);
const int INF = 1e18;
const int NINF = -1e18;

int get_hash(str s){
	int N=1000001;
	int base[N],A=11,MD=1110111110111;
	base[0]=1;

	forr(i,1,N)
	base[i]=(base[i-1]*A)%MD;

	int hs=0;
	forr(i,0,s.size()){
		hs+=(s[i]*base[i]);
		hs%=MD;
	}

	re hs;
}

int power(int a,int n){
	int res=1;

	while(n){
		if(n%2)
		res*=a;
		a*=a;
		n/=2;
	}

	return res;
}

int32_t main(){
	fast;

	int n;
	cin>>n;

	int k=1,m=2;
	while(k!=n+1){
		int p=((ceil)((float)m/(k+1)))*(k+1);
		// cout<<p<<" ";

		for(int i=p;;i+=k+1){
			int y=i*i;
			if((y-m)%k==0){
				cout<<(y-m)/k<<"\n";
				m=i;
				break;
			}
		}

		k++;
	}

	re 0;
}


// Problem : A. Plus and Square Root
// Contest : Codeforces - Codeforces Round #372 (Div. 1)
// URL : https://codeforces.com/problemset/problem/715/A
// Memory Limit : 0 MB
// Time Limit : 0 ms
// Powered by CP Editor (https://github.com/cpeditor/cpeditor)

#include <bits/stdc++.h>
#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;

#define int long long
#define re return
#define ldb long double
#define db double
#define str string

#define br break
#define fr first
#define se second
#define lb lower_bound
#define ub upper_bound
#define pb push_back
#define mkp make_pair

#define pi pair<int,int>
#define pll pair<ll,ll>
#define pdb pair<db,db>
#define pldb pair<ldb,ldb>

#define vi vector<int>
#define vll vector<ll>
#define vdb vector<db>
#define vldb vector<ldb>
#define vpi vector< pi >
#define vpll vector< pll >

#define mi map<int,int>
#define mdb map<db,db>
#define mldb map<ldb,ldb>

#define si set<int>
#define sdb set<db>
#define sldb set<ldb>

#define test int t; cin>>t; while(t--)
#define scan() int n; cin>>n; int a[n]; for(int i=0;i<n;i++) cin>>a[i]
#define scan2() int n,k; cin>>n>>k; int a[n]; for(int i=0;i<n;i++) cin>>a[i]
#define print(a,n) for(int i=0;i<n;i++) cout<<a[i]<<' '
#define mem(a,v) memset(a,v,sizeof(a))
#define srt(v) sort(v.begin(),v.end())
#define rev(s) reverse(s.begin(),s.end())

#define forr(i,a,b) for (int i = (a); i < (b); ++i)
#define rrof(i,a,b) for (int i = (b)-1; i >= (a); --i)

const int MOD = 1e9+7;
const ldb PI = 4*atan((ldb)1);
const int INF = 1e18;
const int NINF = -1e18;

int get_hash(str s){
	int N=1000001;
	int base[N],A=11,MD=1110111110111;
	base[0]=1;

	forr(i,1,N)
	base[i]=(base[i-1]*A)%MD;

	int hs=0;
	forr(i,0,s.size()){
		hs+=(s[i]*base[i]);
		hs%=MD;
	}

	re hs;
}

int power(int a,int n){
	int res=1;

	while(n){
		if(n%2)
		res*=a;
		a*=a;
		n/=2;
	}

	return res;
}

int32_t main(){
	fast;

	int n;
	cin>>n;

	int k=1,m=2;
	while(k!=n+1){
		int p=(k+1)*k;
		cout<<(p*p-m)/k<<"\n";
		m=p;
		k++;
	}

	re 0;
}


// Problem : A. Plus and Square Root
// Contest : Codeforces - Codeforces Round #372 (Div. 1)
// URL : https://codeforces.com/problemset/problem/715/A
// Memory Limit : 0 MB
// Time Limit : 0 ms
// Powered by CP Editor (https://github.com/cpeditor/cpeditor)

#include <bits/stdc++.h>
#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;

#define int long long
#define re return
#define ldb long double
#define db double
#define str string

#define br break
#define fr first
#define se second
#define lb lower_bound
#define ub upper_bound
#define pb push_back
#define mkp make_pair

#define pi pair<int,int>
#define pll pair<ll,ll>
#define pdb pair<db,db>
#define pldb pair<ldb,ldb>

#define vi vector<int>
#define vll vector<ll>
#define vdb vector<db>
#define vldb vector<ldb>
#define vpi vector< pi >
#define vpll vector< pll >

#define mi map<int,int>
#define mdb map<db,db>
#define mldb map<ldb,ldb>

#define si set<int>
#define sdb set<db>
#define sldb set<ldb>

#define test int t; cin>>t; while(t--)
#define scan() int n; cin>>n; int a[n]; for(int i=0;i<n;i++) cin>>a[i]
#define scan2() int n,k; cin>>n>>k; int a[n]; for(int i=0;i<n;i++) cin>>a[i]
#define print(a,n) for(int i=0;i<n;i++) cout<<a[i]<<' '
#define mem(a,v) memset(a,v,sizeof(a))
#define srt(v) sort(v.begin(),v.end())
#define rev(s) reverse(s.begin(),s.end())

#define forr(i,a,b) for (int i = (a); i < (b); ++i)
#define rrof(i,a,b) for (int i = (b)-1; i >= (a); --i)

const int MOD = 1e9+7;
const ldb PI = 4*atan((ldb)1);
const int INF = 1e18;
const int NINF = -1e18;

int get_hash(str s){
	int N=1000001;
	int base[N],A=11,MD=1110111110111;
	base[0]=1;

	forr(i,1,N)
	base[i]=(base[i-1]*A)%MD;

	int hs=0;
	forr(i,0,s.size()){
		hs+=(s[i]*base[i]);
		hs%=MD;
	}

	re hs;
}

int power(int a,int n){
	int res=1;

	while(n){
		if(n%2)
		res*=a;
		a*=a;
		n/=2;
	}

	return res;
}

int32_t main(){
	fast;

	int n;
	cin>>n;

	int k=1,m=2;
	while(k!=n+1){
		int p=(k+1)*k;
		int u=k+1;
		int v=(k+1)*(k+1)*k;
		cout<<v-(m)/k<<"\n";
		m=p;
		k++;
	}

	re 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define ld long double
#define mod 1000000007
#define endl "\n"
#define pb push_back
#define mp make_pair
int main()
{
    ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	ll n,i,a;
	cin>>n;
	cout<<"2\n";
	for(i=1;i<=n;i++)
	{
		a=i*(i+1)*(i+1);
		a-=(i-1);
		cout<<a<<endl;
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define ld long double
#define mod 1000000007
#define endl "\n"
#define pb push_back
#define mp make_pair
int main()
{
    ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	ll n,i,a;
	cin>>n;
	cout<<"2\n";
	for(i=2;i<=n;i++)
	{
		a=i*(i+1)*(i+1);
		a-=(i-1);
		cout<<a<<endl;
	}
	return 0;
}


#include <bits/stdc++.h>
#define pb(a)           push_back(a)
#define ll              long long int
#define scd(a)          scanf("%d",&a)
#define mp(a,b)         make_pair(a,b)
#define scl(w)          scanf("%I64d",&w)
#define scdd(a,b)       scanf("%d %d",&a,&b)
#define srt(a)          sort(a.begin(),a.end())
#define rsrt(a)         sort(a.rbegin(),a.rend())
#define scll(a,b)       scanf("%I64d %I64d",&a,&b)
#define input(v,n)      for (ll i=0;i<n;i++){ll a;cin >> a;v.push_back(a);}
#define input2(v1,v2,n) for (ll i=0;i<n;i++){ll a,b;cin >> a>>b;v1.push_back(a);v2.pb(b);}
#define rep(a,n)        for(ll i=a;i<n;i++)
#define vll             vector<ll>
#define pi              acos(-1.0)
using namespace std;

int main()
{
    ll n,k,t,res=0,i;
    cin>>n;
    k=1;
    for(i=1;i<=n;i++)
    {
        res=(i*i*(i+1)*(i+1)-k)/i;
        k=i*(i+1);
        cout<<res<<endl;
    }
}


#include <bits/stdc++.h>
#define pb(a)           push_back(a)
#define ll              long long int
#define scd(a)          scanf("%d",&a)
#define mp(a,b)         make_pair(a,b)
#define scl(w)          scanf("%I64d",&w)
#define scdd(a,b)       scanf("%d %d",&a,&b)
#define srt(a)          sort(a.begin(),a.end())
#define rsrt(a)         sort(a.rbegin(),a.rend())
#define scll(a,b)       scanf("%I64d %I64d",&a,&b)
#define input(v,n)      for (ll i=0;i<n;i++){ll a;cin >> a;v.push_back(a);}
#define input2(v1,v2,n) for (ll i=0;i<n;i++){ll a,b;cin >> a>>b;v1.push_back(a);v2.pb(b);}
#define rep(a,n)        for(ll i=a;i<n;i++)
#define vll             vector<ll>
#define pi              acos(-1.0)
using namespace std;

int main()
{
    ll n,k,t,res=0,i;
    cin>>n;
    k=2;
    for(i=1;i<=n;i++)
    {
        res=(i*(i+1)*(i+1)-i-1);
        //if(i%10000==0)
        cout<<res<<endl;
    }
}


#include <bits/stdc++.h>
#define pb(a)           push_back(a)
#define ll              long long int
#define scd(a)          scanf("%d",&a)
#define mp(a,b)         make_pair(a,b)
#define scl(w)          scanf("%I64d",&w)
#define scdd(a,b)       scanf("%d %d",&a,&b)
#define srt(a)          sort(a.begin(),a.end())
#define rsrt(a)         sort(a.rbegin(),a.rend())
#define scll(a,b)       scanf("%I64d %I64d",&a,&b)
#define input(v,n)      for (ll i=0;i<n;i++){ll a;cin >> a;v.push_back(a);}
#define input2(v1,v2,n) for (ll i=0;i<n;i++){ll a,b;cin >> a>>b;v1.push_back(a);v2.pb(b);}
#define rep(a,n)        for(ll i=a;i<n;i++)
#define vll             vector<ll>
#define pi              acos(-1.0)
using namespace std;

int main()
{
    int n,k,t,res=0,i;
    cin>>n;
    k=1;
    for(i=1;i<=n;i++)
    {
        res=(i*(i+1)*(i+1)-k);
        k=k*(k+1);
        cout<<res<<endl;
    }
}


#include <bits/stdc++.h>
#define pb(a)           push_back(a)
#define ll              long long int
#define scd(a)          scanf("%d",&a)
#define mp(a,b)         make_pair(a,b)
#define scl(w)          scanf("%I64d",&w)
#define scdd(a,b)       scanf("%d %d",&a,&b)
#define srt(a)          sort(a.begin(),a.end())
#define rsrt(a)         sort(a.rbegin(),a.rend())
#define scll(a,b)       scanf("%I64d %I64d",&a,&b)
#define input(v,n)      for (ll i=0;i<n;i++){ll a;cin >> a;v.push_back(a);}
#define input2(v1,v2,n) for (ll i=0;i<n;i++){ll a,b;cin >> a>>b;v1.push_back(a);v2.pb(b);}
#define rep(a,n)        for(ll i=a;i<n;i++)
#define vll             vector<ll>
#define pi              acos(-1.0)
using namespace std;

int main()
{
    ll n,k,t,res=0,i;
    cin>>n;
    k=2;
    for(i=1;i<=n;i++)
    {
        res=(i*(i+1)*(i+1)-k);
        k=i;
        //if(i%10000==0)
        cout<<res<<endl;
    }
}


#include <bits/stdc++.h>
#define pb(a)           push_back(a)
#define ll              long long int
#define scd(a)          scanf("%d",&a)
#define mp(a,b)         make_pair(a,b)
#define scl(w)          scanf("%I64d",&w)
#define scdd(a,b)       scanf("%d %d",&a,&b)
#define srt(a)          sort(a.begin(),a.end())
#define rsrt(a)         sort(a.rbegin(),a.rend())
#define scll(a,b)       scanf("%I64d %I64d",&a,&b)
#define input(v,n)      for (ll i=0;i<n;i++){ll a;cin >> a;v.push_back(a);}
#define input2(v1,v2,n) for (ll i=0;i<n;i++){ll a,b;cin >> a>>b;v1.push_back(a);v2.pb(b);}
#define rep(a,n)        for(ll i=a;i<n;i++)
#define vll             vector<ll>
#define pi              acos(-1.0)
using namespace std;

int main()
{
    ll n,k,t,res=0,i;
    cin>>n;
    k=2;
    for(i=1;i<=n;i++)
    {
        res=(i*(i+1)*(i+1)-i+1);
        //if(i%10000==0)
        cout<<res<<endl;
    }
}


#include <bits/stdc++.h>
#define pb(a)           push_back(a)
#define ll              long long int
#define scd(a)          scanf("%d",&a)
#define mp(a,b)         make_pair(a,b)
#define scl(w)          scanf("%I64d",&w)
#define scdd(a,b)       scanf("%d %d",&a,&b)
#define srt(a)          sort(a.begin(),a.end())
#define rsrt(a)         sort(a.rbegin(),a.rend())
#define scll(a,b)       scanf("%I64d %I64d",&a,&b)
#define input(v,n)      for (ll i=0;i<n;i++){ll a;cin >> a;v.push_back(a);}
#define input2(v1,v2,n) for (ll i=0;i<n;i++){ll a,b;cin >> a>>b;v1.push_back(a);v2.pb(b);}
#define rep(a,n)        for(ll i=a;i<n;i++)
#define vll             vector<ll>
#define pi              acos(-1.0)
using namespace std;

int main()
{
    ll n,k,t,res=0,i;
    cin>>n;
    k=2;
    for(i=1;i<=n;i++)
    {
        res=(i*i*(i+1)*(i+1)-k)/i;
        k=i*(i+1);
        cout<<res<<endl;
    }
}


#include<stdio.h>
#include<iostream>
#include<vector>
#include<string>
#include<stack>
#include<queue>
#include<deque>
#include<set>
#include<map>
#include<algorithm>
#include<math.h>
#include<string.h>
using namespace std;

#define INF 987654321
#define ll long long

ll N;

int main()
{
	scanf("%lld", &N);
	printf("2\n");
	for (ll i = 2; i <= N; i++)
		printf("%lld\n", i*i*i + 2LL * i*i + 1LL);
	return 0;
}


#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#include<stdio.h>
#include<iostream>
#include<vector>
#include<string>
#include<stack>
#include<queue>
#include<deque>
#include<set>
#include<map>
#include<algorithm>
#include<math.h>
#include<string.h>
using namespace std;

#define INF 987654321
#define ll long long

ll N;

int main()
{
	scanf("%lld", &N);
	ll n = 2;
	for (ll i = 1; i <= N; i++)
	{
		ll next = (i * (i + 1))*(i*(i + 1));
		ll cnt = (next - n) / i;

		n = (ll)sqrt(next);
		printf("%lld\n", cnt);
	}
	return 0;
}


#include<bits/stdc++.h>
#define int unsigned long long
#define ll long long
#define maxN 1000005
#define rep(i,n) for(int i=0;i<n;i++)
#define refv(i,l,r) for(int i=l;i<r;i++)
#define rerv(i,l,r) for(int i=l;i>r;i--)
#define pi pair<ll,ll>
#define pii pair<ll,pair<ll,ll> >
#define pb push_back
#define mp make_pair
#define all(x) x.begin(),x.end()
#define inf 10000000000000
#define mod 1000000007
#define MAXN   100001
#define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define endl '\n'
using namespace std;

int Mod(int x, int m){ return (x%m+m)%m;}
int spf[MAXN];
int min(int a,int b){return a<b?a:b;}
int max(int a,int b){return a>b?a:b;}

/*
  1. always check for unintialized vector.

  2. priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>> > pq; for djikstra

  3. check for constrained properly

  4. 10^8 operations per second

  5. Every even integer greater than 2 can be expressed as the sum of two primes.

  6. odd number can be expresses in sum of two prime number only if (n-2) is prime.

  7. always pass string vector everything  by reference else can get MLe TLE;

  8. An even digits of pallindromic number is always divided by 11 euler project 4th question..

  If n = 12, the time complexity can be O(n!).
  If n = 25, the time complexity can be O(2n).
  If n = 100, the time complexity can be O(n4).
  If n = 500, the time complexity can be O(n3).
  If n = 10^4, the time complexity can be O(n2).
  If n = 10^6, the time complexity can be O(n log n).
  If n = 10^8, the time complexity can be O(n).
  If n > 10^8, the time complexity can be O(log n) or O(1).

*/

// spf contains smallest prime factor of n
void sieve()
{   spf[1] = 1;
    for (int i=2; i<MAXN; i++)
       spf[i] = i;

    for (int i=4; i<MAXN; i+=2)
        spf[i] = 2;

    for (int i=3; i*i<MAXN; i++)
    {

        if (spf[i] == i)
        {

            for (int j=i*i; j<MAXN; j+=i)
                if (spf[j]==j)
                    spf[j] = i;
        }
    }
}

// A O(log n) function returning primefactorization
vector<int> getFactorization(int x)
{
    vector<int> ret;
    while (x != 1)
    {
        ret.push_back(spf[x]);
        x = x / spf[x];
    }
    return ret;
}

//check if a number is prime   O(sqrt(n))
bool isPrime(int n)
{
    // Corner cases
    if (n <= 1)  return false;
    if (n <= 3)  return true;

    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n%2 == 0 || n%3 == 0) return false;

    for (int i=5; i*i<=n; i=i+6)
        if (n%i == 0 || n%(i+2) == 0)
           return false;

    return true;
}

// print all divisor of a number
void printDivisors(int n)
{

    for (int i=1; i<=sqrt(n); i++)
    {
        if (n%i == 0)
        {

            if (n/i == i)
                printf("%d ", i);

            else
                printf("%d %d ", i, n/i);
        }
    }
}

// Function to find the nCr
int nCr(int n, int r)
{
    long long p = 1, k = 1;

    if (n - r < r)
        r = n - r;

    if (r != 0) {
        while (r) {
            p *= n;
            k *= r;

            long long m = __gcd(p, k);

            p /= m;
            k /= m;

            n--;
            r--;
        }

	}

    else
        p = 1;

    return p;
}

//dfs
void dfs(vector<int>adj[],vector<int>&vis,int u)
{
	vis[u]=true;
	for(auto x:adj[u])
	{
		if(!vis[x])
		{
			dfs(adj,vis,x);
		}
	}
}

//bfs
void bfs(vector<int>adj[],int u,int n)
{
	queue<int>q;
	q.push(u);
	vector<int>vis(n,false);

	while(!q.empty())
	{
		int v = q.front();
		q.pop();
		vis[v]=true;
		for(auto x:adj[v] )
		{
			if(!vis[x])
			{
				q.push(x);
			}
		}
	}

}

/////  segment tree
int st[1000001];
void updateValue(int arr[], int ss, int se,
                 int index, int value, int node)
{
    if (index < ss || index > se)
    {
        cout << "Invalid Input" << endl;
        return;
    }

    if (ss == se)
    {
        arr[index] = value;
        st[node] = value;
    }
    else {
            int mid =  ss+(se-ss)/2;

            if (index >= ss && index <= mid)
                updateValue(arr,  ss, mid, index,
                            value, 2 * node + 1);
            else
                updateValue(arr,  mid + 1, se,
                            index, value, 2 * node + 2);

            st[node] = max(st[2 * node + 1],
                       st[2 * node + 2]);
    }
    return;
}
int RMQUtil( int ss, int se, int qs, int qe, int index)
{
    if (qs <= ss && qe >= se)
        return st[index];

    if (se < qs || ss > qe)
        return inf;

    int mid = ss+(se-ss)/2;
    return min(RMQUtil( ss, mid, qs, qe, 2*index+1),
                RMQUtil( mid+1, se, qs, qe, 2*index+2));
}

void constructSTUtil(int arr[], int ss, int se,
                                 int si)
{

    if (ss == se)
    {

        st[si] = arr[ss];
        return;

    }

    int mid = ss+(se-ss)/2;
    //cout<<mid<<endl;
    constructSTUtil(arr, ss , mid, 2*si +1);
	constructSTUtil(arr, mid+1, se,2*si +2);
	st[si]  = min(st[2*si+1],st[2*si+2]);

}

int solve()
{

	//do dp here;

}

int32_t main()
{

    fastio;
    int n;
    cin>>n;
    int p =2;

    n++;

	for(int i = 1;i<n;i++)
    {

    	cout<<i*(i+1)*(i+1)  -  p/i<<endl;

    	p = sqrt(p + (i*(i+1)*(i+1)-p/i)*i+0.5);

	}

  return 0;

}


#include<bits/stdc++.h>
#define int unsigned long long
#define ll long long
#define maxN 1000005
#define rep(i,n) for(int i=0;i<n;i++)
#define refv(i,l,r) for(int i=l;i<r;i++)
#define rerv(i,l,r) for(int i=l;i>r;i--)
#define pi pair<ll,ll>
#define pii pair<ll,pair<ll,ll> >
#define pb push_back
#define mp make_pair
#define all(x) x.begin(),x.end()
#define inf 10000000000000
#define mod 1000000007
#define MAXN   100001
#define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define endl '\n'
using namespace std;

int Mod(int x, int m){ return (x%m+m)%m;}
int spf[MAXN];
int min(int a,int b){return a<b?a:b;}
int max(int a,int b){return a>b?a:b;}

/*
  1. always check for unintialized vector.

  2. priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>> > pq; for djikstra

  3. check for constrained properly

  4. 10^8 operations per second

  5. Every even integer greater than 2 can be expressed as the sum of two primes.

  6. odd number can be expresses in sum of two prime number only if (n-2) is prime.

  7. always pass string vector everything  by reference else can get MLe TLE;

  8. An even digits of pallindromic number is always divided by 11 euler project 4th question..

  If n = 12, the time complexity can be O(n!).
  If n = 25, the time complexity can be O(2n).
  If n = 100, the time complexity can be O(n4).
  If n = 500, the time complexity can be O(n3).
  If n = 10^4, the time complexity can be O(n2).
  If n = 10^6, the time complexity can be O(n log n).
  If n = 10^8, the time complexity can be O(n).
  If n > 10^8, the time complexity can be O(log n) or O(1).

*/

// spf contains smallest prime factor of n
void sieve()
{   spf[1] = 1;
    for (int i=2; i<MAXN; i++)
       spf[i] = i;

    for (int i=4; i<MAXN; i+=2)
        spf[i] = 2;

    for (int i=3; i*i<MAXN; i++)
    {

        if (spf[i] == i)
        {

            for (int j=i*i; j<MAXN; j+=i)
                if (spf[j]==j)
                    spf[j] = i;
        }
    }
}

// A O(log n) function returning primefactorization
vector<int> getFactorization(int x)
{
    vector<int> ret;
    while (x != 1)
    {
        ret.push_back(spf[x]);
        x = x / spf[x];
    }
    return ret;
}

//check if a number is prime   O(sqrt(n))
bool isPrime(int n)
{
    // Corner cases
    if (n <= 1)  return false;
    if (n <= 3)  return true;

    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n%2 == 0 || n%3 == 0) return false;

    for (int i=5; i*i<=n; i=i+6)
        if (n%i == 0 || n%(i+2) == 0)
           return false;

    return true;
}

// print all divisor of a number
void printDivisors(int n)
{

    for (int i=1; i<=sqrt(n); i++)
    {
        if (n%i == 0)
        {

            if (n/i == i)
                printf("%d ", i);

            else
                printf("%d %d ", i, n/i);
        }
    }
}

// Function to find the nCr
int nCr(int n, int r)
{
    long long p = 1, k = 1;

    if (n - r < r)
        r = n - r;

    if (r != 0) {
        while (r) {
            p *= n;
            k *= r;

            long long m = __gcd(p, k);

            p /= m;
            k /= m;

            n--;
            r--;
        }

	}

    else
        p = 1;

    return p;
}

//dfs
void dfs(vector<int>adj[],vector<int>&vis,int u)
{
	vis[u]=true;
	for(auto x:adj[u])
	{
		if(!vis[x])
		{
			dfs(adj,vis,x);
		}
	}
}

//bfs
void bfs(vector<int>adj[],int u,int n)
{
	queue<int>q;
	q.push(u);
	vector<int>vis(n,false);

	while(!q.empty())
	{
		int v = q.front();
		q.pop();
		vis[v]=true;
		for(auto x:adj[v] )
		{
			if(!vis[x])
			{
				q.push(x);
			}
		}
	}

}

/////  segment tree
int st[1000001];
void updateValue(int arr[], int ss, int se,
                 int index, int value, int node)
{
    if (index < ss || index > se)
    {
        cout << "Invalid Input" << endl;
        return;
    }

    if (ss == se)
    {
        arr[index] = value;
        st[node] = value;
    }
    else {
            int mid =  ss+(se-ss)/2;

            if (index >= ss && index <= mid)
                updateValue(arr,  ss, mid, index,
                            value, 2 * node + 1);
            else
                updateValue(arr,  mid + 1, se,
                            index, value, 2 * node + 2);

            st[node] = max(st[2 * node + 1],
                       st[2 * node + 2]);
    }
    return;
}
int RMQUtil( int ss, int se, int qs, int qe, int index)
{
    if (qs <= ss && qe >= se)
        return st[index];

    if (se < qs || ss > qe)
        return inf;

    int mid = ss+(se-ss)/2;
    return min(RMQUtil( ss, mid, qs, qe, 2*index+1),
                RMQUtil( mid+1, se, qs, qe, 2*index+2));
}

void constructSTUtil(int arr[], int ss, int se,
                                 int si)
{

    if (ss == se)
    {

        st[si] = arr[ss];
        return;

    }

    int mid = ss+(se-ss)/2;
    //cout<<mid<<endl;
    constructSTUtil(arr, ss , mid, 2*si +1);
	constructSTUtil(arr, mid+1, se,2*si +2);
	st[si]  = min(st[2*si+1],st[2*si+2]);

}

int solve()
{

	//do dp here;

}

int32_t main()
{

    fastio;
    int n;
    cin>>n;
    int p =2;

    n++;

	for(int i = 1;i<n;i++)
    {

    	cout<<i*(i+1)*(i+1)  -  p/i<<endl;

    	p = i*(i+1);

	}

  return 0;

}


#include<bits/stdc++.h>
#define int long long
#define ll long long
#define maxN 1000005
#define rep(i,n) for(int i=0;i<n;i++)
#define refv(i,l,r) for(int i=l;i<r;i++)
#define rerv(i,l,r) for(int i=l;i>r;i--)
#define pi pair<ll,ll>
#define pii pair<ll,pair<ll,ll> >
#define pb push_back
#define mp make_pair
#define all(x) x.begin(),x.end()
#define inf 10000000000000
#define mod 1000000007
#define MAXN   100001
#define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define endl '\n'
using namespace std;
int power(int x, unsigned int y){int res = 1;while (y > 0){ if (y & 1){res = res*x;} y = y>>1;x = x*x;}return res;}
int powermod(int x, unsigned int y, int p){int res = 1;x = x % p;while (y > 0){if (y & 1){res = (res*x) % p;}y = y>>1; x = (x*x) % p;}return res;}
int Mod(int x, int m){ return (x%m+m)%m;}
int spf[MAXN];
int min(int a,int b){return a<b?a:b;}
int max(int a,int b){return a>b?a:b;}

/*
  1. always check for unintialized vector.

  2. priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>> > pq; for djikstra

  3. check for constrained properly

  4. 10^8 operations per second

  5. Every even integer greater than 2 can be expressed as the sum of two primes.

  6. odd number can be expresses in sum of two prime number only if (n-2) is prime.

  7. always pass string vector everything  by reference else can get MLe TLE;

  8. An even digits of pallindromic number is always divided by 11 euler project 4th question..

  If n = 12, the time complexity can be O(n!).
  If n = 25, the time complexity can be O(2n).
  If n = 100, the time complexity can be O(n4).
  If n = 500, the time complexity can be O(n3).
  If n = 10^4, the time complexity can be O(n2).
  If n = 10^6, the time complexity can be O(n log n).
  If n = 10^8, the time complexity can be O(n).
  If n > 10^8, the time complexity can be O(log n) or O(1).

*/

// spf contains smallest prime factor of n
void sieve()
{   spf[1] = 1;
    for (int i=2; i<MAXN; i++)
       spf[i] = i;

    for (int i=4; i<MAXN; i+=2)
        spf[i] = 2;

    for (int i=3; i*i<MAXN; i++)
    {

        if (spf[i] == i)
        {

            for (int j=i*i; j<MAXN; j+=i)
                if (spf[j]==j)
                    spf[j] = i;
        }
    }
}

// A O(log n) function returning primefactorization
vector<int> getFactorization(int x)
{
    vector<int> ret;
    while (x != 1)
    {
        ret.push_back(spf[x]);
        x = x / spf[x];
    }
    return ret;
}

//check if a number is prime   O(sqrt(n))
bool isPrime(int n)
{
    // Corner cases
    if (n <= 1)  return false;
    if (n <= 3)  return true;

    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n%2 == 0 || n%3 == 0) return false;

    for (int i=5; i*i<=n; i=i+6)
        if (n%i == 0 || n%(i+2) == 0)
           return false;

    return true;
}

// print all divisor of a number
void printDivisors(int n)
{

    for (int i=1; i<=sqrt(n); i++)
    {
        if (n%i == 0)
        {

            if (n/i == i)
                printf("%d ", i);

            else
                printf("%d %d ", i, n/i);
        }
    }
}

// Function to find the nCr
int nCr(int n, int r)
{
    long long p = 1, k = 1;

    if (n - r < r)
        r = n - r;

    if (r != 0) {
        while (r) {
            p *= n;
            k *= r;

            long long m = __gcd(p, k);

            p /= m;
            k /= m;

            n--;
            r--;
        }

	}

    else
        p = 1;

    return p;
}

//dfs
void dfs(vector<int>adj[],vector<int>&vis,int u)
{
	vis[u]=true;
	for(auto x:adj[u])
	{
		if(!vis[x])
		{
			dfs(adj,vis,x);
		}
	}
}

//bfs
void bfs(vector<int>adj[],int u,int n)
{
	queue<int>q;
	q.push(u);
	vector<int>vis(n,false);

	while(!q.empty())
	{
		int v = q.front();
		q.pop();
		vis[v]=true;
		for(auto x:adj[v] )
		{
			if(!vis[x])
			{
				q.push(x);
			}
		}
	}

}

/////  segment tree
int st[1000001];
void updateValue(int arr[], int ss, int se,
                 int index, int value, int node)
{
    if (index < ss || index > se)
    {
        cout << "Invalid Input" << endl;
        return;
    }

    if (ss == se)
    {
        arr[index] = value;
        st[node] = value;
    }
    else {
            int mid =  ss+(se-ss)/2;

            if (index >= ss && index <= mid)
                updateValue(arr,  ss, mid, index,
                            value, 2 * node + 1);
            else
                updateValue(arr,  mid + 1, se,
                            index, value, 2 * node + 2);

            st[node] = max(st[2 * node + 1],
                       st[2 * node + 2]);
    }
    return;
}
int RMQUtil( int ss, int se, int qs, int qe, int index)
{
    if (qs <= ss && qe >= se)
        return st[index];

    if (se < qs || ss > qe)
        return inf;

    int mid = ss+(se-ss)/2;
    return min(RMQUtil( ss, mid, qs, qe, 2*index+1),
                RMQUtil( mid+1, se, qs, qe, 2*index+2));
}

void constructSTUtil(int arr[], int ss, int se,
                                 int si)
{

    if (ss == se)
    {

        st[si] = arr[ss];
        return;

    }

    int mid = ss+(se-ss)/2;
    //cout<<mid<<endl;
    constructSTUtil(arr, ss , mid, 2*si +1);
	constructSTUtil(arr, mid+1, se,2*si +2);
	st[si]  = min(st[2*si+1],st[2*si+2]);

}

int solve()
{

	//do dp here;

}

int32_t main()
{

    fastio;
    int n;
    cin>>n;
    int p =2;

    n++;

	for(int i = 1;i<n;i++)
    {

    	cout<<i*(i+1)*(i+1)  -  p/i<<endl;

    	p = sqrt(p+(i*(i+1)*(i+1)-p/i)*i+0.5);

	}

  return 0;

}


#include<bits/stdc++.h>
#define int long long
#define ll long long
#define maxN 1000005
#define rep(i,n) for(int i=0;i<n;i++)
#define refv(i,l,r) for(int i=l;i<r;i++)
#define rerv(i,l,r) for(int i=l;i>r;i--)
#define pi pair<ll,ll>
#define pii pair<ll,pair<ll,ll> >
#define pb push_back
#define mp make_pair
#define all(x) x.begin(),x.end()
#define inf 10000000000000
#define mod 1000000007
#define MAXN   100001
#define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define endl '\n'
using namespace std;
int power(int x, unsigned int y){int res = 1;while (y > 0){ if (y & 1){res = res*x;} y = y>>1;x = x*x;}return res;}
int powermod(int x, unsigned int y, int p){int res = 1;x = x % p;while (y > 0){if (y & 1){res = (res*x) % p;}y = y>>1; x = (x*x) % p;}return res;}
int Mod(int x, int m){ return (x%m+m)%m;}
int spf[MAXN];
int min(int a,int b){return a<b?a:b;}
int max(int a,int b){return a>b?a:b;}

/*
  1. always check for unintialized vector.

  2. priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>> > pq; for djikstra

  3. check for constrained properly

  4. 10^8 operations per second

  5. Every even integer greater than 2 can be expressed as the sum of two primes.

  6. odd number can be expresses in sum of two prime number only if (n-2) is prime.

  7. always pass string vector everything  by reference else can get MLe TLE;

  8. An even digits of pallindromic number is always divided by 11 euler project 4th question..

  If n = 12, the time complexity can be O(n!).
  If n = 25, the time complexity can be O(2n).
  If n = 100, the time complexity can be O(n4).
  If n = 500, the time complexity can be O(n3).
  If n = 10^4, the time complexity can be O(n2).
  If n = 10^6, the time complexity can be O(n log n).
  If n = 10^8, the time complexity can be O(n).
  If n > 10^8, the time complexity can be O(log n) or O(1).

*/

// spf contains smallest prime factor of n
void sieve()
{   spf[1] = 1;
    for (int i=2; i<MAXN; i++)
       spf[i] = i;

    for (int i=4; i<MAXN; i+=2)
        spf[i] = 2;

    for (int i=3; i*i<MAXN; i++)
    {

        if (spf[i] == i)
        {

            for (int j=i*i; j<MAXN; j+=i)
                if (spf[j]==j)
                    spf[j] = i;
        }
    }
}

// A O(log n) function returning primefactorization
vector<int> getFactorization(int x)
{
    vector<int> ret;
    while (x != 1)
    {
        ret.push_back(spf[x]);
        x = x / spf[x];
    }
    return ret;
}

//check if a number is prime   O(sqrt(n))
bool isPrime(int n)
{
    // Corner cases
    if (n <= 1)  return false;
    if (n <= 3)  return true;

    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n%2 == 0 || n%3 == 0) return false;

    for (int i=5; i*i<=n; i=i+6)
        if (n%i == 0 || n%(i+2) == 0)
           return false;

    return true;
}

// print all divisor of a number
void printDivisors(int n)
{

    for (int i=1; i<=sqrt(n); i++)
    {
        if (n%i == 0)
        {

            if (n/i == i)
                printf("%d ", i);

            else
                printf("%d %d ", i, n/i);
        }
    }
}

// Function to find the nCr
int nCr(int n, int r)
{
    long long p = 1, k = 1;

    if (n - r < r)
        r = n - r;

    if (r != 0) {
        while (r) {
            p *= n;
            k *= r;

            long long m = __gcd(p, k);

            p /= m;
            k /= m;

            n--;
            r--;
        }

	}

    else
        p = 1;

    return p;
}

//dfs
void dfs(vector<int>adj[],vector<int>&vis,int u)
{
	vis[u]=true;
	for(auto x:adj[u])
	{
		if(!vis[x])
		{
			dfs(adj,vis,x);
		}
	}
}

//bfs
void bfs(vector<int>adj[],int u,int n)
{
	queue<int>q;
	q.push(u);
	vector<int>vis(n,false);

	while(!q.empty())
	{
		int v = q.front();
		q.pop();
		vis[v]=true;
		for(auto x:adj[v] )
		{
			if(!vis[x])
			{
				q.push(x);
			}
		}
	}

}

/////  segment tree
int st[1000001];
void updateValue(int arr[], int ss, int se,
                 int index, int value, int node)
{
    if (index < ss || index > se)
    {
        cout << "Invalid Input" << endl;
        return;
    }

    if (ss == se)
    {
        arr[index] = value;
        st[node] = value;
    }
    else {
            int mid =  ss+(se-ss)/2;

            if (index >= ss && index <= mid)
                updateValue(arr,  ss, mid, index,
                            value, 2 * node + 1);
            else
                updateValue(arr,  mid + 1, se,
                            index, value, 2 * node + 2);

            st[node] = max(st[2 * node + 1],
                       st[2 * node + 2]);
    }
    return;
}
int RMQUtil( int ss, int se, int qs, int qe, int index)
{
    if (qs <= ss && qe >= se)
        return st[index];

    if (se < qs || ss > qe)
        return inf;

    int mid = ss+(se-ss)/2;
    return min(RMQUtil( ss, mid, qs, qe, 2*index+1),
                RMQUtil( mid+1, se, qs, qe, 2*index+2));
}

void constructSTUtil(int arr[], int ss, int se,
                                 int si)
{

    if (ss == se)
    {

        st[si] = arr[ss];
        return;

    }

    int mid = ss+(se-ss)/2;
    //cout<<mid<<endl;
    constructSTUtil(arr, ss , mid, 2*si +1);
	constructSTUtil(arr, mid+1, se,2*si +2);
	st[si]  = min(st[2*si+1],st[2*si+2]);

}

int solve()
{

	//do dp here;

}

int32_t main()
{

    fastio;
    int n;
    cin>>n;
    int p =2;

    n++;

	for(int i = 1;i<n;i++)
    {

    	cout<<i*(i+1)*(i+1) - p/i<<endl;
    	p = sqrt(p+(i*(i+1)*(i+1)-p/i)*i);

	}

  return 0;

}