#include<bits/stdc++.h>
using namespace std;
struct point{
	int x,y;
};
int cross(point a,point b)
{
	return a.x*b.y-a.y*b.x;
}
const int MAXN=1010;
int n;
point v[MAXN];
int main()
{
	scanf("%d",&n);
	for(int i=0;i<=n;i++)
	{
		scanf("%d %d",&v[i].x,&v[i].y);
		if(i>0)
		{
			v[i].x-=v[i-1].x;
			v[i].y-=v[i-1].y;
			continue;
		}
		v[i].x=0;v[i].y=0;
	}
	int resp=0;
	for(int i=1;i<=n;i++)
	{
		if(cross(v[i],v[i-1])<0)resp++;
	}
	printf("%d\n",resp);
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
struct point{
	int x,y;
};
int cross(point a,point b)
{
	return a.x*b.y-a.y*b.x;
}
const int MAXN=1010;
int n;
point v[MAXN];
int main()
{
	scanf("%d",&n);
	for(int i=0;i<=n;i++)
	{
		scanf("%d %d",&v[i].x,&v[i].y);
	}
	for(int i=n;i>=0;i--)
	{
		if(i>0)
		{
			v[i].x-=v[i-1].x;
			v[i].y-=v[i-1].y;
			continue;
		}
		v[i].x=0;v[i].y=0;
	}
	int resp=0;
	for(int i=1;i<=n;i++)
	{
		if(cross(v[i],v[i-1])<0)resp++;
	}
	printf("%d\n",resp);
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
struct point{
	int x,y;
};
int cross(point a,point b)
{
	return a.x*b.y-a.y*b.x;
}
const int MAXN=1010;
int n;
point v[MAXN];
int main()
{
	scanf("%d",&n);
	for(int i=0;i<=n;i++)
	{
		scanf("%d %d",&v[i].x,&v[i].y);
		if(i>0)
		{
			v[i].x-=v[i-1].x;
			v[i].y-=v[i-1].y;
		}
	}
	int resp=0;
	for(int i=1;i<=n;i++)
	{
		if(cross(v[i],v[i-1])<0)resp++;
	}
	printf("%d\n",resp);
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
struct point{
	int x,y;
};
int cross(point a,point b)
{
	return a.x*b.y-a.y*b.x;
}
const int MAXN=1010;
int n;
point v[MAXN];
int main()
{
	scanf("%d",&n);
	for(int i=0;i<=n;i++)
	{
		scanf("%d %d",&v[i].x,&v[i].y);
		if(i>0)
		{
			v[i].x-=v[i-1].x;
			v[i].y-=v[i-1].y;
		}
	}
	int resp=0;
	for(int i=1;i<=n;i++)
	{
		if(cross(v[i-1],v[i])<0)resp++;
	}
	printf("%d\n",resp);
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
struct point{
	int x,y;
};
int cross(point a,point b)
{
	return a.x*b.y-a.y*b.x;
}
const int MAXN=1010;
int n;
point v[MAXN];
int main()
{
	scanf("%d",&n);
	for(int i=0;i<=n;i++)
	{
		scanf("%d %d",&v[i].x,&v[i].y);
		if(i>0)
		{
			v[i].x-=v[i-1].x;
			v[i].y-=v[i-1].y;
			continue;
		}
		v[i].x=0;v[i].y=0;
	}
	int resp=0;
	for(int i=1;i<=n;i++)
	{
		if(cross(v[i-1],v[i])<0)resp++;
	}
	printf("%d\n",resp-1);
	return 0;
}


#include <iostream>
using namespace std ;
int main()
{
int n ;
cin >> n ;
cout << n/2-2 ;
}


//                           ((_In the name of God_))
#include<bits/stdc++.h>
#define maxn 2000*100
using namespace std;
int main(){
    ios_base::sync_with_stdio(false);
    int n,x1,y1,f=0,k=0;
    cin>>n;
    for(int i=0;i<=n;i++){
        int x,y;
        cin>>x>>y;
        if(i==0){
            x1=x;
            y1=y;
            continue ;
        }
        if(k==0){
            if(x==x1)
                k++;
            continue ;
        }
        if(x1!=x)
            f++;
        x1=x;
        y1=y;
    }
    if(f==0)
        cout<<0;
    else
    cout<<f-1;
}


//                           ((_In the name of God_))
#include<bits/stdc++.h>
#define maxn 2000*100
using namespace std;
int main(){
    ios_base::sync_with_stdio(false);
    int n,x1,y1,f=0;
    cin>>n;
    for(int i=0;i<=n;i++){
        int x,y;
        cin>>x>>y;
        if(i==0){
            x1=x;
            y1=y;
            continue ;
        }
        if(x1!=x)
            f++;
        x1=x;
        y1=y;
    }
    cout<<f-2;
}


#include<map>
#include<iostream>
#include<cstdio>
#include<cmath>
    using namespace std;
int n;
int x[1001];
int y[1001];
map<pair<int,int>,bool>my_map;
bool check(int xx,int yy){
    int i,j=n-1;
    bool flag=false;
    for(i=0;i<n;i++){
        if((y[i]<yy&&y[j]>=yy||y[j]<yy&&y[i]>=yy)&&(x[i]<=xx||x[j]<=xx)){
            flag^=(x[i]+(yy-y[i])/(y[j]-y[i])*(x[j]-x[i])<xx);
        }
        j=i;
    }
    flag&=(my_map[pair<int,int>(xx, yy)] == false);
    return flag;
}
bool fun(int x1,int y1,int x2,int y2){
    int xx,yy;
    if(x1==x2){
        xx=x1;
        yy=y2+(y2-y1)/abs(y2-y1);
    }
    if(y1==y2){
        yy=y1;
        xx=x2+(x2-x1)/abs(x2-x1);
    }
    return check(xx,yy);
}
int main(){
    int count=0;
    scanf("%d",&n);
    n++;
    my_map.clear();
    for(int i=0;i<n;i++){
        scanf("%d%d",&x[i],&y[i]);
        my_map[pair<int,int>(x[i],y[i])]=true;
    }
    for(int i=1;i<n;i++){
        if(fun(x[i-1],y[i-1],x[i],y[i])){
            count++;
        }
    }
    printf("%d\n",count);
    return 0;
}


#include<map>
#include<iostream>
#include<cstdio>
#include<cmath>
    using namespace std;
int n;
int x[1001];
int y[1001];
map<pair<int,int>,bool>my_map;
bool check(int xx,int yy){
    int i,j=n-1;
    bool flag=false;
    for(i=0;i<n;i++){
        if((y[i]<yy&&y[j]>=yy||y[j]<yy&&y[i]>=yy)&&(x[i]<=xx||x[j]<=xx)){
            flag^=(x[i]+(yy-y[i])/(y[j]-y[i])*(x[j]-x[i])<xx);
        }
        j=i;
    }
    flag&=(my_map[pair<int,int>(xx, yy)] == false);
    return flag;
}
bool fun(int x1,int y1,int x2,int y2){
    int xx,yy;
    if(x1==x2){
        xx=x1;
        yy=y2+(y2-y1)/abs(y2-y1);
    }
    if(y1==y2){
        yy=y1;
        xx=x2+(x2-x1)/abs(x2-x1);
    }
    return check(xx,yy);
}
int main(){
    int count=0;
    cin>>n;
    n++;
    my_map.clear();
    for(int i=0;i<n;i++){
        cin>>x[i]>>y[i];
        my_map[pair<int,int>(x[i],y[i])]=true;
    }
    for(int i=1;i<n;i++){
        if(fun(x[i-1],y[i-1],x[i],y[i])){
            count++;
        }
    }
    cout<<count<<endl;
    return 0;
}


#include<map>
#include<iostream>
#include<cstdio>
#include<cmath>
    using namespace std;
int n;
int x[1001];
int y[1001];
map<pair<int,int>,bool>my_map;
bool check(int xx,int yy){
    int i,j=n-1;
    bool flag=false;
    for(i=0;i<n;i++){
        if((y[i]<yy&&y[j]>=yy||y[j]<yy&&y[i]>=yy)&&(x[i]<=xx||x[j]<=xx)){
            flag^=(x[i]+(yy-y[i])/(y[j]-y[i])*(x[j]-x[i])<xx);
        }
        j=i;
    }
    flag&=(my_map[pair<int,int>(xx, yy)] == false);
    return flag;
}
bool fun(int x1,int y1,int x2,int y2){
    int xx,yy;
    if(x1==x2){
        yy=y2+(y2-y1)/abs(y2-y1);
    }
    if(y1==y2){
        xx=x2+(x2-x1)/abs(x2-x1);
    }
    return check(xx,yy);
}
int main(){
    int tmp1,tmp2;
    int count=1;
    cin>>n;
    n++;
    my_map.clear();
    for(int i=0;i<n;i++){
        cin>>x[i]>>y[i];
        my_map[pair<int,int>(x[i],y[i])]=true;
    }
    for(int i=1;i<n;i++){
        if(fun(x[i-1],y[i-1],x[i],y[i])){
            count++;
        }
    }
    cout<<count<<endl;
    return 0;
}


#include<bits/stdc++.h>
#define pb push_back
#define mp make_pair

using namespace std;

int main()
{
	int n, i, xx, yy;
	vector<pair <int, int> > v;
	cin >> n;
	cin >> xx >> yy; v.pb(mp(xx,yy));
	cin >> xx >> yy; v.pb(mp(xx,yy));
	int cn=0;
	for(i=2;i<n;i++)
	{

		cin >> xx >> yy; v.pb(mp(xx,yy));
		if((v[i-1].first>v[i-2].first) && (v[i].second>v[i-1].second)) cn++;
		else if((v[i-1].first<v[i-2].first) && (v[i].second<v[i-1].second)) cn++;
		else if((v[i-1].second>v[i-2].second) && (v[i].first<v[i-1].first)) cn++;
		else if((v[i-1].second<v[i-2].second) && (v[i].first>v[i-1].first)) cn++;
	}
	cin >> xx >> yy;
	cout << cn << endl;
	return 0;
}


#include<bits/stdc++.h>
#define pb push_back
#define mp make_pair

using namespace std;

int main()
{
	int n, i, xx, yy;
	vector<pair <int, int> > v;
	cin >> n;
	v.reserve(n);
	cin >> xx >> yy; v.pb(mp(xx,yy));
	cin >> xx >> yy; v.pb(mp(xx,yy));
	int cn=0;
	for(i=2;i<n;i++)
	{

		cin >> xx >> yy; v.pb(mp(xx,yy));
		if((v[i-1].first>v[i-2].first) && (v[i].second>v[i-1].second)) cn++;
		else if((v[i-1].first<v[i-2].first) && (v[i].second<v[i-1].second)) cn++;
		else if((v[i-1].second>v[i-2].second) && (v[i].first<v[i-1].first)) cn++;
		else if((v[i-1].second<v[i-2].second) && (v[i].first>v[i-1].first)) cn++;
	}
	cin >> xx >> yy;
	cout << cn << endl;
	return 0;
}


#include<bits/stdc++.h>
#define pb push_back
#define mp make_pair

using namespace std;

int main()
{
	int n, i, x, y;
	cin >> n;
	for(i=-1;i<n;i++) cin >> x >> y;
	cout << (n-4)/2 << endl;
	return 0;
}


#include<bits/stdc++.h>
#define maxn 1005
using namespace std;
int main()
{
    int n,i;
    int xx[maxn],yy[maxn],a[maxn];
    while(scanf("%d",&n)!=EOF)
    {
        int sum=0;
        for(i=0;i<=n;i++)
        {
            scanf("%d %d",&xx[i],&yy[i]);

        }
        for(i=0;i<n;i++)
        {
            if(xx[i]==xx[i+1]&&yy[i+1]>yy[i]) a[i]=1;
            if(xx[i]<xx[i+1]&&yy[i+1]==yy[i]) a[i]=2;
            if(xx[i]==xx[i+1]&&yy[i+1]<yy[i]) a[i]=3;
            if(xx[i]>xx[i+1]&&yy[i+1]==yy[i]) a[i]=4;
        }
        for(i=0;i<n;i++)
        {
            if(a[i]>a[i+1])
                sum++;
        }
        printf("%d\n",sum);
    }
}


#include<bits/stdc++.h>
#define maxn 1005
using namespace std;
int main()
{
    int n,i,sum=0;;
    int xx[maxn],yy[maxn],a[maxn];
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<=n;i++)
        {
            scanf("%d %d",&xx[i],&yy[i]);

        }
        for(i=0;i<n;i++)
        {
            if(xx[i]==xx[i+1]&&yy[i+1]>yy[i]) a[i]=1;
            if(xx[i]<xx[i+1]&&yy[i+1]==yy[i]) a[i]=2;
            if(xx[i]==xx[i+1]&&yy[i+1]<yy[i]) a[i]=3;
            if(xx[i]>xx[i+1]&&yy[i+1]==yy[i]) a[i]=4;
        }
        for(i=0;i<n;i++)
        {
            if(a[i]>a[i+1])
                sum++;
        }
        printf("%d\n",sum);
    }
}


#include<stdio.h>
#define maxn 10005
using namespace std;
int main()
{
    int n,i,sum;
    int xx[maxn],yy[maxn],a[maxn];
    while(scanf("%d",&n)!=EOF)
    {

        sum=0;
        for(i=0;i<=n;i++)
        {
            scanf("%d %d",&xx[i],&yy[i]);

        }
        for(i=0;i<n;i++)
        {
            if(xx[i]==xx[i+1]&&yy[i+1]>yy[i]) a[i]=1;
            if(xx[i]<xx[i+1]&&yy[i+1]==yy[i]) a[i]=2;
            if(xx[i]==xx[i+1]&&yy[i+1]<yy[i]) a[i]=3;
            if(xx[i]>xx[i+1]&&yy[i+1]==yy[i]) a[i]=4;
        }
        for(i=0;i<n-1;i++)
        {
            if(a[i]>a[i+1])
                sum++;

        }
        printf("%d\n",sum);

        }

}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main ()
{
    ll N,i,x,y;
    while(cin>>N)
    {
        for (i=0;i<=N;i++)
            cin>>x>>y;
        cout<<N/2-2<<endl;
    }
    return 0;
}


#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main ()
{
    ll N;
    while(cin>>N)
    {
        cout<<N/2-2<<endl;
    }
    return 0;
}


n=int(input())

rbg=list(input())

newrbg=[rgb[0]]
colors={'R','B','G'}
count=0

for i in range(1,n-1):
    if rgb[i]==newrbg[i-1]:
        newcolor=(colors-{rbg[i]}-{rbg[i+1]}))[0]
        newrgb.append(newcolor)
        count+=1
    else:
        newrbg.append(rgb[i])

if rgb[-1]==newrbg[-1]:
    newcolor=(colors-{rbg[-1]}))[0]
    newrgb.append(newcolor)
    count+=1
else:
    newrbg.append(rgb[-1])

print(count)
print(''.join(newrbg))


n = int(input())
s1 = [c for c in input()]
d = 0
T = 'RGB'
for i in range(1, len(s1)-1):
    if s1[i] == s1[i-1] and s1[i] == s1[i+1]:
        for c in T:
            if c != s1[i-1]:
                d += 1
                s1[i] = c
                break
    elif s1[i] == s1[i-1]:
        for c in T:
            if c != s1[i-1] and c != s1[i+1]:
                d += 1
                s1[i] = c
                break
    else:
        pass

if s1[len(s1)-2] == s1[len(s1)-1]:
    for c in T:
        if c != s1[len(s1)-2]:
            d += 1
            s1[len(s1)-1] = c
            break

print(d)
print(''.join(s1))


n = int(input())
s1 = [c for c in input()]
d = 0
T = 'RGB'
for i in range(1, len(s1)-1):
    if s1[i] == s1[i-1] and s1[i] == s1[i+1]:
        for c in T:
            if c != s1[i-1]:
                d += 1
                s1[i] = c
                break
    elif s1[i] == s1[i-1]:
        for c in T:
            if c != s1[i-1] and c != s1[i+1]:
                d += 1
                s1[i] = c
                break
    else:
        pass

if len(s1) > 1 and s1[len(s1)-2] == s1[len(s1)-1]:
    for c in T:
        if c != s1[len(s1)-2]:
            d += 1
            s1[len(s1)-1] = c
            break

print(d)
print(''.join(s1))


n = int(input())
s1 = [c for c in input()]
d = 0
T = 'RGB'
for i in range(1, len(s1)-1):
    if s1[i] == s1[i-1] and s1[i] == s1[i+1]:
        for c in T:
            if c != s1[i-1]:
                d += 1
                s1[i] = c
                break
    elif s1[i] == s1[i-1]:
        for c in T:
            if c != s1[i-1] and c != s1[i+1]:
                d += 1
                s1[i] = c
                break
    else:
        pass

if len(s) > 1 and s1[len(s1)-2] == s1[len(s1)-1]:
    for c in T:
        if c != s1[len(s1)-2]:
            d += 1
            s1[len(s1)-1] = c
            break

print(d)
print(''.join(s1))


n = int(input())
s1 = [c for c in input()]
d = 0
T = 'RGB'
for i in range(1, len(s1)-1):
    if s1[i] == s1[i-1] and s1[i] == s1[i+1]:
        for c in T:
            if c != s1[i-1]:
                d += 1
                s1[i] = c
                break
    elif s1[i] == s1[i-1]:
        for c in T:
            if c != s1[i-1] and c != s1[i+1]:
                d += 1
                s1[i] = c
                break
    else:
        pass

if s1[len(s1)-2] == s1[len(s1)-1]:
    for c in T:
        if c != s1[len(s1)-2]:
            d += 1
            s1[i] = c
            break

print(d)
print(''.join(s1))


n=int(input())
s=list(input())
res=0
last=s[0]
def g(a,b):
      d=["G","R","B"]
      if d[0]!=a and d[0]!=b:
            return d[0]
      if d[1]!=a and d[1]!=b:
            return d[1]
      return d[2]
for i in range(1,n):
      if s[i]==last:
            res+=1
            if i+1<n:
                  s[i]=g(last,s[i+1])
            else:
                  s[i]=g(last,'-1')
      last=s[i]

print(res)
print(''.join(s))


def g(a,b):
      d=["G","R","B"]
      if d[0]!=a and d[0]!=b:
            return d[0]
      if d[1]!=a and d[1]!=b:
            return d[1]
      return d[2]

n=int(input())
s=list(input())
res=0
last=s[0]
for i in range(1,n):
      if s[i]==last:
            res+=1
            if i+1<n:
                  s[i]=g(last,s[i+1])
            else:
                  s[i]=g(last,'-1')
      last=s[i]

print(res)
print(''.join(s))


n=int(input())
s=input()
c=[]
i=0
while i<n:
    t=s[i]
    C=0
    while t==s[i]:
        C+=1
        i+=1
        if i==n:
            break
    c.append(C)
q=0
ans=''
i=0
j=0
while j<len(c):
    if c[j]==1:
        ans=ans+s[i]
        i=i+c[j]
        j=j+1
    else:
        if len(ans)>0:
            char=ans[-1]
        else:
            if s[i]=='R':
                char='G'
            else:
                char='R'
        char2=s[i]
        if c[j]%2==1:
            for x in range(c[j]):
                if x%2==1:
                    ans=ans+char
                    q=q+1
                else:
                    ans=ans+char2
        else:
            if c[j]>2:
                for x in range(c[j]):
                    if x==c[j]-2:
                        ans=ans+char+char2
                        q=q+1
                        break
                    else:
                        if x%2==0:
                            ans=ans+char2
                        else:
                            ans=ans+char
                            q=q+1
            else:
                if len(ans)>0:
                    if ans[-1]=='R':
                        if s[i]=='B':
                            ans=ans+'G'+'B'
                        else:
                            ans=ans+'B'+'G'
                    elif ans[-1]=='B':
                        if s[i]=='R':
                            ans=ans+'G'+'R'
                        else:
                            ans=ans+'R'+'G'
                    elif ans[-1]=='G':
                        if s[i]=='R':
                            ans=ans+'B'+'R'
                        else:
                            ans=ans+'R'+'B'
                else:
                    if s[i]=='B':
                        ans=ans+'R'+'B'
                    elif s[i]=='R':
                        ans=ans+'G'+'R'
                    else:
                        ans=ans+'R'+'G'
                q=q+1
        i=i+c[j]
        j=j+1
print(q)
print(ans)


n=int(input())
s=input()
c=[]
i=0
while i<n:
    t=s[i]
    C=0
    while t==s[i]:
        C+=1
        i+=1
        if i==n:
            break
    c.append(C)
q=0
ans=''
i=0
j=0
while j<len(c):
    if c[j]==1:
        ans=ans+s[i]
        i=i+c[j]
        j=j+1
    else:
        if c[j]%2==1:
            if len(ans)>0:
                char=ans[-1]
            else:
                if s[i]=='R':
                    char='G'
                else:
                    char='R'
            char2=s[i]
            for x in range(c[j]):
                if x%2==1:
                    ans=ans+char
                    q=q+1
                else:
                    ans=ans+char2
        else:
            if c[j]>2:
                if len(ans)>0:
                    char2=s[i]
                    if ans[-1]=='R':
                        if s[i]=='G':
                            char='B'
                        else:
                            char='G'
                    elif ans[-1]=='B':
                        if s[i]=='G':
                            char='B'
                        else:
                            char='G'
                    else:
                        if s[i]=='B':
                            char='G'
                        else:
                            char='R'
                else:
                    char2=s[i]
                    if s[i]=='R':
                        char='B'
                    else:
                        char='R'
                for x in range(c[j]):
                    if x%2==0:
                        ans=ans+char
                        q=q+1
                    else:
                        ans=ans+char2
            else:
                if len(ans)>0:
                    if ans[-1]=='R':
                        if s[i]=='B':
                            ans=ans+'G'+'B'
                        else:
                            ans=ans+'B'+'G'
                    elif ans[-1]=='B':
                        if s[i]=='R':
                            ans=ans+'G'+'R'
                        else:
                            ans=ans+'R'+'G'
                    elif ans[-1]=='G':
                        if s[i]=='R':
                            ans=ans+'B'+'R'
                        else:
                            ans=ans+'R'+'B'
                else:
                    if s[i]=='B':
                        ans=ans+'R'+'B'
                    elif s[i]=='R':
                        ans=ans+'G'+'R'
                    else:
                        ans=ans+'R'+'G'
                q=q+1
        i=i+c[j]
        j=j+1
print(q)
print(ans)


n=int(input())
s=input()
c=[]
for i in range(n):
    t=s[i]
    C=0
    while t==s[i]:
        C+=1
        i+=1
        if i==n:
            break
    c.append(C)
q=0
ans=''
i=0
j=0
while j<len(c):
    if c[j]==1:
        ans=ans+s[i]
        i=i+c[j]
        j=j+1
    else:
        char=ans[-1]
        char2=s[i]
        if c[j]%2==1:
            for x in range(c[j]):
                if x%2==1:
                    ans=ans+char
                    q=q+1
                else:
                    ans=ans+char2
        else:
            if c[j]>2:
                for x in range(c[j]):
                    if x==c[j]-2:
                        ans=ans+char+char2
                        q=q+1
                        break
                    else:
                        if x%2==0:
                            ans=ans+char2
                        else:
                            ans=ans+char
                            q=q+1
            else:
                if ans[-1]=='A' and s[i]=='B':
                    ans=ans+'C'+'B'
                elif ans[-1]=='A' and s[i]=='C':
                    ans=ans+'B'+'C'
                elif ans[-1]=='B':
                    if s[i]=='A':
                        ans=ans+'C'+'A'
                    else:
                        ans=ans+'A'+'C'
                elif ans[-1]=='C':
                    if s[i]=='A':
                        ans=ans+'B'+'A'
                    else:
                        ans=ans+'A'+'B'
                q=q+1
        i=i+c[j]
        j=j+1
print(q)
print(ans)


n=int(input())
s=input()
c=[]
i=0
while i<n:
    t=s[i]
    C=0
    while t==s[i]:
        C+=1
        i+=1
        if i==n:
            break
    c.append(C)
q=0
ans=''
i=0
j=0
while j<len(c):
    if c[j]==1:
        ans=ans+s[i]
        i=i+c[j]
        j=j+1
    else:
        if c[j]%2==1:
            if len(ans)>0:
                char=ans[-1]
            else:
                if s[i]=='R':
                    char='G'
                else:
                    char='R'
            char2=s[i]
            for x in range(c[j]):
                if x%2==1:
                    ans=ans+char
                    q=q+1
                else:
                    ans=ans+char2
        else:
            if c[j]>2:
                if len(ans)>0:
                    char2=s[i]
                    if ans[-1]=='R':
                        if s[i]=='G':
                            char='B'
                        else:
                            char='G'
                    elif ans[-1]=='B':
                        if s[i]=='G':
                            char='R'
                        else:
                            char='G'
                    else:
                        if s[i]=='B':
                            char='R'
                        else:
                            char='B'
                else:
                    char2=s[i]
                    if s[i]=='R':
                        char='B'
                    else:
                        char='R'
                for x in range(c[j]):
                    if x%2==0:
                        ans=ans+char
                        q=q+1
                    else:
                        ans=ans+char2
            else:
                if len(ans)>0:
                    if ans[-1]=='R':
                        if s[i]=='B':
                            ans=ans+'G'+'B'
                        else:
                            ans=ans+'B'+'G'
                    elif ans[-1]=='B':
                        if s[i]=='R':
                            ans=ans+'G'+'R'
                        else:
                            ans=ans+'R'+'G'
                    elif ans[-1]=='G':
                        if s[i]=='R':
                            ans=ans+'B'+'R'
                        else:
                            ans=ans+'R'+'B'
                else:
                    if s[i]=='B':
                        ans=ans+'R'+'B'
                    elif s[i]=='R':
                        ans=ans+'G'+'R'
                    else:
                        ans=ans+'R'+'G'
                q=q+1
        i=i+c[j]
        j=j+1
print(q)
print(ans)


if __name__ == "__main__":
    n = int(input())
    garland = input()
    colors = ['R', 'G', 'B']
    result = ''
    count = 0
    index = 0
    while index < n:
        result += garland[index]
        if index + 1 < n and garland[index] == garland[index + 1]:
            temp = colors.copy()
            temp.remove(garland[index])
            if index + 2 < n and garland[index] != garland[index + 2]:
                temp.remove(garland[index + 2])
            result += temp[0]
            count += 1
            index += 1
        index += 1

    print(count, result, sep = '\n')


if __name__ == "__main__":
    n = int(input())
    garland = input()
    colors = ['R', 'G', 'B']
    result = ''
    count = 0
    for i in range(0, len(garland) - 2, 2):
        if garland[i] != garland[i+1] and garland[i+1] != garland[i+2]:
            result += garland[i]
            result += garland[i+1]
        else:
            temp = colors.copy()
            temp.remove(garland[i])
            if garland[i] != garland[i+2]:
                temp.remove(garland[i+2])
            result += garland[i]
            result += temp[0]
            count += 1
            i += 1

    result += garland[len(result): ]
    print(count, result, sep = '\n')


if __name__ == "__main__":
    n = int(input())
    garland = input()
    colors = ['R', 'G', 'B']
    result = ''
    count = 0
    for i in range(0, len(garland) - 2, 2):
        if garland[i] != garland[i+1] and garland[i+1] != garland[i+2]:
            result += garland[i]
            result += garland[i+1]
        else:
            temp = colors.copy()
            temp.remove(garland[i])
            if garland[i] != garland[i+2]:
                temp.remove(garland[i+2])
            result += garland[i]
            result += temp[0]
            count += 1

    result += garland[len(result): ]
    print(count, result, sep = '\n')


if __name__ == "__main__":
    n = int(input())
    garland = input()
    colors = ['R', 'G', 'B']
    result = ''
    count = 0
    for i in range(0, len(garland) - 2, 2):
        if garland[i] != garland[i+1] and garland[i+1] != garland[i+2]:
            result += garland[i]
            result += garland[i+1]
        else:
            temp = colors.copy()
            temp.remove(garland[i])
            if garland[i] != garland[i+2]:
                temp.remove(garland[i+2])
            result += garland[i]
            result += temp[0]
            count += 1

    result += garland[-1]
    print(count, result, sep = '\n')


n=int(input())
x=0
a=list(input())
for i in range(1,n-1):
    if a[i-1]==a[i]:
        n={'R','G','B'}

        n.discard(a[i-1])
        n.discard(a[i+1])

        a[i]=n.pop()
        x+=1
if a[-1]==a[-2]:
    n={'R','G','B'}

    n.discard(a[i-1])
    n.discard(a[i+1])

    a[-1]=n.pop()
    x+=1
print(x)
print(''.join(a))


n=int(input())
x=0
a=list(input())
for i in range(1,n-1):
    if a[i-1]==a[i] or a[i]==a[i+1]:
        n={'R','G','B'}

        n.discard(a[i-1])
        n.discard(a[i+1])

        a[i]=n.pop()
        x+=1
print(x)
print(''.join(a))


n=int(input())
x=0
m={'R','G','B'}
a=list(input())
for i in range(1,n-1):
    if a[i-1]==a[i]:
        n=m
        n.discard(a[i-1])
        n.discard(a[i+1])
        a[i]=n.pop()
        x+=1
print(x)
print(''.join(a))


n=int(input())
x=0
m={'R','G','B'}
a=list(input())
for i in range(n-2):
    if a[i]==a[i+1]:
        n=m
        n.discard(a[i])
        n.discard(a[i+2])
        a[i+1]=n.pop()
        x+=1
print(x)
print(''.join(a))


def main():
  n = int(input())
  garland = [x for x in input().strip()]

  repaints = 0

  for i in range(1, len(garland)):
    if garland[i-1] != garland[i]:
      garland[i] = garland[i]
      continue

    repaints += 1
    if i == len(garland) - 1:
      garland[i] = "R" if garland[i-1] != "R" else "B"
      continue

    if garland[i-1] == garland[i+1]:
      garland[i] = "R" if garland[i+1] != "R" else "B"
      continue

    if garland[i-1] != "R" and garland[i+1] != "R":
      garland[i] = "R"
    elif garland[i-1] != "B" and garland[i+1] != "B":
      garland[i] = "B"
    else:
      garland[i] = "G"

  print(repaints)
  print("".join(garland))

main()


def main():
  n = int(input())
  garland = input().strip()
  if n == 1:
    print(0)
    print(garland)
    return
  if n == 2:
    if garland[1] != garland[0] and garland[1] != garland[2]:
      print(0)
      print(garland)
    else:
      print(1)
      if garland[0] != "R" and garland[2] != "R":
        print(garland[0] + "R" + garland[2])
      elif repainted_garland[0] != "B" and garland[2] != "B":
        print(garland[0] + "B" + garland[2])
      else:
        print(garland[0] + "G" + garland[2])
    return

  repaints = 0
  repainted_garland = garland[0]

  for i in range(1, len(garland)):
    if repainted_garland[i-1] != garland[i]:
      repainted_garland += garland[i]
      continue

    repaints += 1
    if i == len(garland) - 1:
      repainted_garland += "R" if repainted_garland[i-1] != "R" else "B"
      continue

    if repainted_garland[i-1] == garland[i+1]:
      repainted_garland += "R" if garland[i+1] != "R" else "B"
      continue

    if repainted_garland[i-1] != "R" and garland[i+1] != "R":
      repainted_garland += "R"
    elif repainted_garland[i-1] != "B" and garland[i+1] != "B":
      repainted_garland += "B"
    else:
      repainted_garland += "G"

  print(repaints)
  print(repainted_garland)

main()


import math

contador = 0

i = int(input())

s = input()
garden = list(s)

ant = garden[0]
for b in range(1,i-1):
	if garden[b] == ant:
		contador+=1
		if(ant != 'R' and garden[b+1] != 'R'):
			garden[b] = 'R'
		elif (ant != 'G' and garden[b+1] != 'G'):
			garden[b] = 'G'
		elif (ant != 'B' and garden[b+1] != 'B'):
			garden[b] = 'B'
	ant = garden[b]

if(ant == 'R' and garden[i-1] == 'R'):
	garden[i-1] = 'G'
	contador+=1
elif (ant == 'G' and garden[i-1] == 'G'):
	garden[i-1] = 'B'
	contador+=1
elif (ant == 'B' and garden[i-1] == 'B'):
	garden[i-1] = 'R'
	contador+=1

print(contador)

s = ''.join(garden)
print(s)


import math

contador = 0

i = int(input())

s = input()

if(i == 1):
	print(0)
	print(s)
else:
	garden = list(s)

	ant = garden[0]
	for b in range(1,i-1):
		if garden[b] == ant:
			contador+=1
			if(ant != 'R' and garden[b+1] != 'R'):
				garden[b] = 'R'
			elif (ant != 'G' and garden[b+1] != 'G'):
				garden[b] = 'G'
			elif (ant != 'B' and garden[b+1] != 'B'):
				garden[b] = 'B'
		ant = garden[b]

	if(ant == 'R' and garden[i-1] == 'R'):
		garden[i-1] = 'G'
		contador+=1
	elif (ant == 'G' and garden[i-1] == 'G'):
		garden[i-1] = 'B'
		contador+=1
	elif (ant == 'B' and garden[i-1] == 'B'):
		garden[i-1] = 'R'
		contador+=1

	print(contador)

	s = ''.join(garden)
	print(s)


import sys
from itertools import permutations

n = int(input())
s = input()
D = [[0, 0, 0] for l in range(n)]

def get_price(st, color):
    if st != color:
        return 1
    else:
        return 0

D[0][0] = get_price(s[0], 'R')
D[0][1] = get_price(s[0], 'G')
D[0][2] = get_price(s[0], 'B')
for i in range(1, n):
    D[i][0] = min(D[i - 1][1], D[i - 1][2]) + get_price(s[i], 'R')
    D[i][1] = min(D[i - 1][0], D[i - 1][2]) + get_price(s[i], 'G')
    D[i][2] = min(D[i - 1][1], D[i - 1][0]) + get_price(s[i], 'B')
print(min(D[n - 1][0], D[n - 1][1], D[n - 1][2]))
colors = 'RGB'
l = D[n - 1].index(min(D[n - 1]))
st = colors[l]
for i in range(n - 2, -1, -1):
    if l == 0:
        l = 1 if D[i][1] < D[i][2] else 2
    elif l == 1:
        l = 0 if D[i][0] < D[i][2] else 2
    else:
        l = 1 if D[i][1] < D[i][0] else 0
    st += colors[l]

print(''.join(list(reversed(st))))


import sys
from itertools import permutations

n = int(input())
s = input()
D = [[0,0,0,]]

def get_price(st, color):
    if st != color:
        return 1
    else:
        return 0

D[0][0] = get_price(s[0], 'R')
D[0][1] = get_price(s[0], 'G')
D[0][2] = get_price(s[0], 'B')
for i in range(1, n):
    D.append([0,0,0])
    D[i][0] = min(D[i - 1][1], D[i - 1][2]) + get_price(s[i], 'R')
    D[i][1] = min(D[i - 1][0], D[i - 1][2]) + get_price(s[i], 'G')
    D[i][2] = min(D[i - 1][1], D[i - 1][0]) + get_price(s[i], 'B')
print(min(D[n - 1][0], D[n - 1][1], D[n - 1][2]))
colors = 'RGB'
l = D[n - 1].index(min(D[n - 1]))
st = colors[l]
for i in range(n - 2, -1, -1):
    if l == 0:
        l = 1 if D[i][1] < D[i][2] else 2
    elif l == 1:
        l = 0 if D[i][0] < D[i][2] else 2
    else:
        l = 1 if D[i][1] < D[i][0] else 0
    st += colors[l]

print(''.join(list(reversed(st))))
if __name__ == "__main__":
    pass
# 9
# RBGR-R-BRG-G
# RBGR-G-BRG-R

# D[i][l] - минимальное количество перекрасок нужное чтобы i элемент в L цвете давал разнообразную гирлянду
# D[i-1][0] - покрасили прошлый элемент в R
# D[i-1][1] - покрасили прошлый элемент в G
# D[i-1][2] - покрасили прошлый элемент в B
# D[i][0] = min(D[i-1][1],D[i-1][2]) + 1 if not R
# D[i][1] = min(D[i-1][0],D[i-1][2]) + 1 if not G
# D[i][2] = min(D[i-1][1],D[i-1][0]) + 1 if not B
# D[i][0] = 0 if R else 1
# D[i][1] = 0 if G else 1
# D[i][2] = 0 if B else 1
# for i in range(1,n):
#     D[i][0],D[i][1],D[i][2]....


'''n=int(input())
p=input().rstrip()
p=list(p)
if len(p)==1:
        print(0)
        print(''.join(p))
else:
        l=[['R','G','B'],['G','B','R'],['G','R','B'],['R','B','G'],['B','R','G'],['B','G','R']]
        w=[]
        for j in range(0,len(l)):
                SS=0;
                for i in range(0,len(p)):
                        if (i)%3==0 and l[j][0]!=p[i]:
                                SS=SS+1;
                        elif i%3==1 and l[j][1]!=p[i]:
                                SS=SS+1;
                        elif i%3==2 and l[j][2]!=p[i]:
                                SS=SS+1;
                w.append(SS)
        T=min(w)
        C=w.index(T)
        S=[]
        print(T)
        for i in range(0,len(p)):
                if i%3==0:
                        S.append(l[C][0])
                elif i%3==1:
                        S.append(l[C][1])
                elif i%3==2:
                        S.append(l[C][2])
        print(''.join(S))'''

n=int(input())
p=input().rstrip()
p=list(p)
SS=0;
for i in range(0,len(p)-1):
        if p[i]==p[i+1]:
                SS=SS+1;
                if i==len(p)-2:
                        if p[i+1]=='B':
                                p[i+1]='G';
                        elif p[i+1]=='G':
                                p[i+1]='B'
                        elif p[i+1]=='R':
                                p[i+1]='R';
                else:
                        D=[]
                        D.append(p[i+2])
                        D.append(p[i])
                        if 'G' not in D:
                                p[i+1]='G'
                        elif 'B' not in D:
                                p[i+1]='B'
                        elif 'R' not in D:
                                p[i+1]='R';
print(SS)
print(''.join(p))


'''n=int(input())
p=input().rstrip()
p=list(p)
if len(p)==1:
        print(0)
        print(''.join(p))
else:
        l=[['R','G','B'],['G','B','R'],['G','R','B'],['R','B','G'],['B','R','G'],['B','G','R']]
        w=[]
        for j in range(0,len(l)):
                SS=0;
                for i in range(0,len(p)):
                        if (i)%3==0 and l[j][0]!=p[i]:
                                SS=SS+1;
                        elif i%3==1 and l[j][1]!=p[i]:
                                SS=SS+1;
                        elif i%3==2 and l[j][2]!=p[i]:
                                SS=SS+1;
                w.append(SS)
        T=min(w)
        C=w.index(T)
        S=[]
        print(T)
        for i in range(0,len(p)):
                if i%3==0:
                        S.append(l[C][0])
                elif i%3==1:
                        S.append(l[C][1])
                elif i%3==2:
                        S.append(l[C][2])
        print(''.join(S))'''

n=int(input())
p=input().rstrip()
p=list(p)
SS=0;
for i in range(0,len(p)-1):
        if p[i]==p[i+1]:
                SS=SS+1;
                if i==len(p)-2:
                        if p[i+1]=='B':
                                p[i+1]='G';
                        elif p[i+1]=='G':
                                p[i+1]='B'
                        elif p[i+1]=='R':
                                p[i+1]='G';
                else:
                        D=[]
                        D.append(p[i+2])
                        D.append(p[i])
                        if 'G' not in D:
                                p[i+1]='G'
                        elif 'B' not in D:
                                p[i+1]='B'
                        elif 'R' not in D:
                                p[i+1]='R';
print(SS)
print(''.join(p))


n=int(input())
st=list(input())
sum=0
if n>1:
    for i in range(1,n-1):
        lis = ["R", "G", "B"]
        if st[i-1]==st[i]:
            if st[i]==st[i+1]:
                lis.remove(st[i])
                st[i]=lis[0]
                sum+=1
            else:
                lis.remove(st[i+1])
                lis.remove(st[i-1])
                st[i]=lis[0]
                sum+=1
    if st[-2]==st[-1]:
        lis = ["R", "G", "B"]
        sum+=1
        lis.remove(st[-2])
        st[-1]=lis[0]

print(str(sum)+"\n"+"".join(st))


n=int(input())
st=list(input())
sum=0
for i in range(1,n-1):
    lis = ["R", "G", "B"]
    if st[i-1]==st[i]:
        if st[i]==st[i+1]:
            lis.remove(st[i])
            st[i]=lis[0]
            sum+=1
        else:
            lis.remove(st[i+1])
            lis.remove(st[i-1])
            st[i]=lis[0]
            sum+=1
if st[-2]==st[-1]:
    lis = ["R", "G", "B"]
    sum+=1
    lis.remove(st[-2])
    st[-1]=lis[0]

print(str(sum)+"\n"+"".join(st))


# Soru1
# n = int(input())
#
# for i in range(n):
#     lr = list(map(int, input().split()))
#     l1 = lr[0]
#     r1 = lr[1]
#     l2 = lr[2]
#     r2 = lr[3]
#     a = l1
#     if l1 != l2:
#         b = l2
#     else:
#         b = r2
#     print(a, b)
# Soru 2

# n = int(input())
# lst = list(map(int, input().split()))
#
# dct = {}
# for i in lst:
#     dct[i] = dct.get(i, 0) + 1
#
# num_1 = max(lst)
# for i in dct:
#     if num_1%i == 0:
#         dct[i] -= 1
# lar = 0
# for i in dct:
#     if dct[i] != 0 and i > lar:
#         lar = i
# print(num_1, lar)
#
# Soru 3
# n = int(input())
# s = input()
# lst = ['RGB', 'RBG', 'BGR', 'BRG', 'GBR', 'GRB']
#
# k = n//3
#
# lst_s = [k*i + i[:n%3] for i in lst]
# x = 0
# def str_ind(s1, s2):
#     x = 0
#     ret = 0
#     for i in s1:
#         if i != s2[x]:
#             ret += 1
#         x += 1
#     return ret
#
# lst_ind = [str_ind(lst_s[i],s) for i in range(6)]
#
# print(min(lst_ind))
# print(lst_s[lst_ind.index(min(lst_ind))])

# Soru 4
n = int(input())
s = input()
stack = [s[0]]
dct = {0:'R', 1:'G', 2:'B'}
dct2 = {'R':0, 'G':1, 'B':2}
x = 0
n = n
for i in s[1:]:
    if x +2 == n:
        break
    if i == stack[x]:
        if s[x+2] == stack[x]:
            j = dct[(dct2[stack[x]]+1)%3]
        else:
            if dct2[stack[x]] + dct2[s[x+2]] == 1:
                j = 'B'
            elif dct2[stack[x]] + dct2[s[x+2]] == 2:
                j = 'G'
            else:
                j = 'R'
    else:
        j = i
    stack.append(j)
    x += 1
x += 1
if s[x] == stack[x-1]:
    j = dct[(dct2[s[x]] + 1) % 3]
    stack.append(j)
else:
    stack.append(s[x])
print(x)
print("".join(stack))


# Soru1
# n = int(input())
#
# for i in range(n):
#     lr = list(map(int, input().split()))
#     l1 = lr[0]
#     r1 = lr[1]
#     l2 = lr[2]
#     r2 = lr[3]
#     a = l1
#     if l1 != l2:
#         b = l2
#     else:
#         b = r2
#     print(a, b)
# Soru 2

# n = int(input())
# lst = list(map(int, input().split()))
#
# dct = {}
# for i in lst:
#     dct[i] = dct.get(i, 0) + 1
#
# num_1 = max(lst)
# for i in dct:
#     if num_1%i == 0:
#         dct[i] -= 1
# lar = 0
# for i in dct:
#     if dct[i] != 0 and i > lar:
#         lar = i
# print(num_1, lar)
#
# Soru 3
# n = int(input())
# s = input()
# lst = ['RGB', 'RBG', 'BGR', 'BRG', 'GBR', 'GRB']
#
# k = n//3
#
# lst_s = [k*i + i[:n%3] for i in lst]
# x = 0
# def str_ind(s1, s2):
#     x = 0
#     ret = 0
#     for i in s1:
#         if i != s2[x]:
#             ret += 1
#         x += 1
#     return ret
#
# lst_ind = [str_ind(lst_s[i],s) for i in range(6)]
#
# print(min(lst_ind))
# print(lst_s[lst_ind.index(min(lst_ind))])

# Soru 4
n = int(input())
s = input()
stack = [s[0]]
dct = {0:'R', 1:'G', 2:'B'}
dct2 = {'R':0, 'G':1, 'B':2}
x = 0
res = 0
n = n
for i in s[1:]:
    if x +2 == n:
        break
    if i == stack[x]:
        res += 1
        if s[x+2] == stack[x]:
            j = dct[(dct2[stack[x]]+1)%3]
        else:
            if dct2[stack[x]] + dct2[s[x+2]] == 1:
                j = 'B'
            elif dct2[stack[x]] + dct2[s[x+2]] == 2:
                j = 'G'
            else:
                j = 'R'
    else:
        j = i
    stack.append(j)
    x += 1
x += 1
if s[x] == stack[x-1]:
    res+= 1
    j = dct[(dct2[s[x]] + 1) % 3]
    stack.append(j)
else:
    stack.append(s[x])
print(res)
print("".join(stack))


# Soru1
# n = int(input())
#
# for i in range(n):
#     lr = list(map(int, input().split()))
#     l1 = lr[0]
#     r1 = lr[1]
#     l2 = lr[2]
#     r2 = lr[3]
#     a = l1
#     if l1 != l2:
#         b = l2
#     else:
#         b = r2
#     print(a, b)
# Soru 2

# n = int(input())
# lst = list(map(int, input().split()))
#
# dct = {}
# for i in lst:
#     dct[i] = dct.get(i, 0) + 1
#
# num_1 = max(lst)
# for i in dct:
#     if num_1%i == 0:
#         dct[i] -= 1
# lar = 0
# for i in dct:
#     if dct[i] != 0 and i > lar:
#         lar = i
# print(num_1, lar)
#
# Soru 3
# n = int(input())
# s = input()
# lst = ['RGB', 'RBG', 'BGR', 'BRG', 'GBR', 'GRB']
#
# k = n//3
#
# lst_s = [k*i + i[:n%3] for i in lst]
# x = 0
# def str_ind(s1, s2):
#     x = 0
#     ret = 0
#     for i in s1:
#         if i != s2[x]:
#             ret += 1
#         x += 1
#     return ret
#
# lst_ind = [str_ind(lst_s[i],s) for i in range(6)]
#
# print(min(lst_ind))
# print(lst_s[lst_ind.index(min(lst_ind))])

# Soru 4
n = int(input())
s = input()
stack = [s[0]]
dct = {0:'R', 1:'G', 2:'B'}
dct2 = {'R':0, 'G':1, 'B':2}
x = 0
n = n
for i in s[1:]:
    if x +2 == n:
        break
    if i == stack[x]:
        if s[x+2] == stack[x]:
            j = dct[(dct2[stack[x]]+1)%3]
        else:
            if dct2[stack[x]] + dct2[s[x+2]] == 1:
                j = 'B'
            elif dct2[stack[x]] + dct2[s[x+2]] == 2:
                j = 'G'
            else:
                j = 'R'
    else:
        j = i
    stack.append(j)
    x += 1
x += 1
if s[x] == stack[x-1]:
    j = dct[(dct2[s[x]] + 1) % 3]
    stack.append(j)
print(x)
print("".join(stack))


# Soru1
# n = int(input())
#
# for i in range(n):
#     lr = list(map(int, input().split()))
#     l1 = lr[0]
#     r1 = lr[1]
#     l2 = lr[2]
#     r2 = lr[3]
#     a = l1
#     if l1 != l2:
#         b = l2
#     else:
#         b = r2
#     print(a, b)
# Soru 2

# n = int(input())
# lst = list(map(int, input().split()))
#
# dct = {}
# for i in lst:
#     dct[i] = dct.get(i, 0) + 1
#
# num_1 = max(lst)
# for i in dct:
#     if num_1%i == 0:
#         dct[i] -= 1
# lar = 0
# for i in dct:
#     if dct[i] != 0 and i > lar:
#         lar = i
# print(num_1, lar)
#
# Soru 3
# n = int(input())
# s = input()
# lst = ['RGB', 'RBG', 'BGR', 'BRG', 'GBR', 'GRB']
#
# k = n//3
#
# lst_s = [k*i + i[:n%3] for i in lst]
# x = 0
# def str_ind(s1, s2):
#     x = 0
#     ret = 0
#     for i in s1:
#         if i != s2[x]:
#             ret += 1
#         x += 1
#     return ret
#
# lst_ind = [str_ind(lst_s[i],s) for i in range(6)]
#
# print(min(lst_ind))
# print(lst_s[lst_ind.index(min(lst_ind))])

# Soru 4
n = int(input())
s = input()
if n == 1:
    print(0)
    print(s)
    quit()

def diffrent(h1,h2):
    dct = {0: 'R', 1: 'G', 2: 'B'}
    dct2 = {'R': 0, 'G': 1, 'B': 2}
    if h1 == h2:
        k = (dct2[h1]+1)%3
        return dct[k]
    else:
        k = dct2[h1]+ dct2[h2]
        if k == 1:
            return 'B'
        if k == 2:
            return 'G'
        if k == 3:
            return 'R'
stack = [s[0]]
x = 0
res = 0
for i in s[1:-1]:
    if i == stack[x]:
        res += 1
        j = diffrent(s[x+2],stack[x])
    else:
        j = i
    x += 1
    stack.append(j)

if s[-1] == stack[-1]:
    res += 1
    j = diffrent(s[-1],stack[-1])
else:
    j = s[-1]
stack.append(j)
print(res)
print("".join(stack))


# Soru1
# n = int(input())
#
# for i in range(n):
#     lr = list(map(int, input().split()))
#     l1 = lr[0]
#     r1 = lr[1]
#     l2 = lr[2]
#     r2 = lr[3]
#     a = l1
#     if l1 != l2:
#         b = l2
#     else:
#         b = r2
#     print(a, b)
# Soru 2

# n = int(input())
# lst = list(map(int, input().split()))
#
# dct = {}
# for i in lst:
#     dct[i] = dct.get(i, 0) + 1
#
# num_1 = max(lst)
# for i in dct:
#     if num_1%i == 0:
#         dct[i] -= 1
# lar = 0
# for i in dct:
#     if dct[i] != 0 and i > lar:
#         lar = i
# print(num_1, lar)
#
# Soru 3
# n = int(input())
# s = input()
# lst = ['RGB', 'RBG', 'BGR', 'BRG', 'GBR', 'GRB']
#
# k = n//3
#
# lst_s = [k*i + i[:n%3] for i in lst]
# x = 0
# def str_ind(s1, s2):
#     x = 0
#     ret = 0
#     for i in s1:
#         if i != s2[x]:
#             ret += 1
#         x += 1
#     return ret
#
# lst_ind = [str_ind(lst_s[i],s) for i in range(6)]
#
# print(min(lst_ind))
# print(lst_s[lst_ind.index(min(lst_ind))])

# Soru 4
n = int(input())
s = input()

def diffrent(h1,h2):
    dct = {0: 'R', 1: 'G', 2: 'B'}
    dct2 = {'R': 0, 'G': 1, 'B': 2}
    if h1 == h2:
        k = (dct2[h1]+1)%3
        return dct[k]
    else:
        k = dct2[h1]+ dct2[h2]
        if k == 1:
            return 'B'
        if k == 2:
            return 'G'
        if k == 3:
            return 'R'
stack = [s[0]]
x = 0
res = 0
for i in s[1:-1]:
    if i == stack[x]:
        res += 1
        j = diffrent(s[x+2],stack[x])
    else:
        j = i
    x += 1
    stack.append(j)

if s[-1] == stack[-1]:
    res += 1
    j = diffrent(s[-1],stack[-1])
else:
    j = s[-1]
stack.append(j)
print(res)
print("".join(stack))


n=int(input())
s=list(input())
l=['R','G','B']
cnt=0
j=0
ans=s[0]
if n==1:
    print(ans)
    exit(0)
for i in range(1,n-1):
    if s[i-1]==s[i]:
        cnt+=1
        while s[i]==s[i-1] or s[i]==s[i+1]:
            j+=1
            s[i]=l[j%3]
    ans+=s[i]
if s[n-2]==s[n-1]:
    cnt+=1
    while s[n-1]==s[n-2]:
        j+=1
        s[n-1]=l[j%3]
ans+=s[n-1]
print(cnt)
print(ans)


n=int(input())
s=list(input())
l=['R','G','B']
cnt=0
j=0
ans=s[0]
if n==1:
    print(cnt)
    print(ans)
    exit(0)
for i in range(1,n-1):
    if s[i-1]==s[i]:
        cnt+=1
        while s[i]==s[i-1] or s[i]==s[i+1]:
            j+=1
            s[i]=l[j%3]
    ans+=s[i]
if s[n-2]==s[n-1]:
    cnt+=1
    while s[n-1]==s[n-2]:
        j+=1
        s[n-1]=l[j%3]
ans+=s[n-1]
print(cnt)
print(ans)


n=int(input())
s=list(input())
l=['R','G','B']
s.append('a')
cnt=0
j=0
ans=s[0]
for i in range(1,n):
    if s[i-1]==s[i]:
        cnt+=1
        while s[i]==s[i-1] or s[i]==s[i+1]:
            j+=1
            s[i]=l[j%3]
    ans+=s[i]

print(cnt)
print(ans)


n = int(input())
s = input()
f = []
y = len(s)
f.append(s[0])
k = 0
a = ['R','B','G']
for i in range(1,y):
    if(f[i-1]!=s[i]):
        f.append(s[i])
        continue
    else:
        a.remove(f[i-1])
        k = k + 1
        f.append(a[0])
        a.append(f[i-1])
print(k)
print(''.join(f))


n = int(input())
s = input()
f = []
y = len(s)
f.append(s[0])
k = 0
a = ['R','B','G']
for i in range(1,y):
    if(f[i-1]!=s[i]):
        f.append(s[i])
        continue
    else:
        a.remove(f[i-1])
        k = k + 1
        if(i<n-1 and a[0]==s[i+1]):
            f.append(a[1])
        else:
            f.append(a[0])
        a.append(f[i-1])
print(k)
print(''.join(f))


# f = open("input.txt", "r")
# content = f.read()
# content = content.split("\n")
# n = int(content[0])
# input_string = content[1]

n = int(input())
input_string = input()

res = 0
res_string = ""

i = 0

while i < n:

    if i + 1 < n:
        if input_string[i] == input_string[i + 1]:
            res_string = res_string + input_string[i]
            if i + 2 < n:
                if input_string[i] == "R" and input_string[i + 2] == "R":
                    res_string += "G"
                if input_string[i] == "R" and input_string[i + 2] == "B":
                    res_string += "G"
                if input_string[i] == "R" and input_string[i + 2] == "G":
                    res_string += "B"

                if input_string[i] == "G" and input_string[i + 2] == "G":
                    res_string += "R"
                if input_string[i] == "G" and input_string[i + 2] == "B":
                    res_string += "R"
                if input_string[i] == "G" and input_string[i + 2] == "R":
                    res_string += "B"

                if input_string[i] == "B" and input_string[i + 2] == "B":
                    res_string += "R"
                if input_string[i] == "B" and input_string[i + 2] == "G":
                    res_string += "R"
                if input_string[i] == "B" and input_string[i + 2] == "R":
                    res_string += "G"
            else:
                if input_string[i] == "R":
                    res_string += "G"
                if input_string[i] == "B":
                    res_string += "G"
                if input_string[i] == "G":
                    res_string += "B"
            i+=1
            res+=1
        else:
            res_string = res_string + input_string[i]
            if i + 1 == n - 1:
                res_string = res_string + input_string[i]
    else:
        res_string = res_string + input_string[i]
    i+=1

print(res)
print(res_string)


# f = open("input.txt", "r")
# content = f.read()
# content = content.split("\n")
# n = int(content[0])
# input_string = content[1]

n = int(input())
input_string = input()

res = 0
res_string = ""

i = 0

while i < n:

    # print(f'{i} {input_string[i]}')
    # print(res_string)

    if i + 1 < n:
        if input_string[i] == input_string[i + 1]:
            res_string = res_string + input_string[i]
            if i + 2 < n:
                if input_string[i] == "R" and input_string[i + 2] == "R":
                    res_string += "G"
                if input_string[i] == "R" and input_string[i + 2] == "B":
                    res_string += "G"
                if input_string[i] == "R" and input_string[i + 2] == "G":
                    res_string += "B"

                if input_string[i] == "G" and input_string[i + 2] == "G":
                    res_string += "R"
                if input_string[i] == "G" and input_string[i + 2] == "B":
                    res_string += "R"
                if input_string[i] == "G" and input_string[i + 2] == "R":
                    res_string += "B"

                if input_string[i] == "B" and input_string[i + 2] == "B":
                    res_string += "R"
                if input_string[i] == "B" and input_string[i + 2] == "G":
                    res_string += "R"
                if input_string[i] == "B" and input_string[i + 2] == "R":
                    res_string += "G"
            else:
                if input_string[i] == "R":
                    res_string += "G"
                if input_string[i] == "B":
                    res_string += "G"
                if input_string[i] == "G":
                    res_string += "B"
            i+=1
            res+=1
        else:
            res_string = res_string + input_string[i]
    else:
        res_string = res_string + input_string[i]
    i+=1

print(res)
print(res_string)


# cook your dish here
# cook your dish here
n=int(input())
s=input()
y=[-1]
for i in s:
    if i=="R":
        y.append(1)
    elif i=="B":
        y.append(2)
    else:
        y.append(3)

y.append(-1)

count=0
i=1
while i<=n:
    if y[i-1]!=y[i] and y[i]!=y[i+1]:
        i+=1
    else:
        j=i+1
        m=1
        while y[j]==y[j-1] and j<=n+2:
            j+=1
            m+=1
        if m%2==0:
            k=i
            while k<i+m:
                if (y[k-1]==2 or y[k]==2) and (y[k-1]==1 or y[k]==1):
                    y[k]=3
                elif (y[k-1]==2 or y[k]==2) and (y[k-1]==3 or y[k]==3):
                    y[k]=1
                elif (y[k-1]==1 or y[k]==1) and (y[k-1]==3 or y[k]==3):
                    y[k]=2
                else:
                    if y[k+1]==1:
                        y[k]=2
                    elif y[k+1]==2:
                        y[k]=3
                    else:
                        y[k]=1
                k+=2
                #print("yash",i)
        else:
            k=i+1

            while k<i+m:
                if y[k-1]==2:
                    y[k]=1
                elif y[k-1]==1:
                    y[k]=3
                else:
                    y[k]=2
                k+=2

        i=j
        count+=m//2

print(count)
for i in y:
    if i==1:
        print("R", end="")
    elif i==2:
        print("B", end="")
    elif i==3:
        print("G", end="")


# cook your dish here
# cook your dish here
n=int(input())
s=input()
y=[-1]
for i in s:
    if i=="R":
        y.append(1)
    elif i=="B":
        y.append(2)
    else:
        y.append(3)

y.append(-1)

count=0
i=1
while i<=n:
    if y[i-1]!=y[i] and y[i]!=y[i+1]:
        i+=1
    else:
        j=i+1
        m=1
        while y[j]==y[j-1] and j<=n+2:
            j+=1
            m+=1
        if m%2==0:
            k=i
            while k<i+m:
                if (y[k-1]==2 or y[k]==2) and (y[k-1]==1 or y[k]==1):
                    y[k]=3
                elif (y[k-1]==2 or y[k]==2) and (y[k-1]==3 or y[k]==3):
                    y[k]=1
                elif (y[k-1]==2 or y[k]==2) and (y[k-1]==3 or y[k]==3):
                    y[k]=2
                else:
                    if y[k+1]==1:
                        y[k]=2
                    elif y[k+1]==2:
                        y[k]=3
                    else:
                        y[k]=1
                k+=2
                #print("yash",i)
        else:
            k=i+1

            while k<i+m:
                if y[k-1]==2:
                    y[k]=1
                elif y[k-1]==1:
                    y[k]=3
                else:
                    y[k]=2
                k+=2

        i=j
        count+=m//2

print(count)
for i in y:
    if i==1:
        print("R", end="")
    elif i==2:
        print("B", end="")
    elif i==3:
        print("G", end="")


# cook your dish here
# cook your dish here
n=int(input())
s=input()
y=[-1]
for i in s:
    if i=="R":
        y.append(1)
    elif i=="B":
        y.append(2)
    else:
        y.append(3)

y.append(-1)

count=0
i=1
while i<=n:
    if y[i-1]!=y[i] and y[i]!=y[i+1]:
        i+=1
    else:
        j=i+1
        m=1
        while y[j]==y[j-1] and j<=n+2:
            j+=1
            m+=1
        if m%2==0:
            k=i
            while k<i+m:
                if (y[k-1]==2 or y[k]==2) and (y[k-1]==1 or y[k]==1):
                    y[k]=3
                elif (y[k-1]==2 or y[k]==2) and (y[k-1]==3 or y[k]==3):
                    y[k]=1
                elif (y[k-1]==2 or y[k]==2) and (y[k-1]==3 or y[k]==3):
                    y[k]=2
                else:
                    if y[k+1]==1:
                        y[k]=2
                    elif y[k+1]==2:
                        y[k]=3
                    else:
                        y[k]=1
                k+=2
                #print("yash",i)
        else:
            k=i+1

            while k<i+m:
                if y[k-1]==2:
                    y[k]=1
                elif y[k-1]==1:
                    y[k]=3
                else:
                    y[k]=2
                k+=2

        i=j
        count+=m//2

print(count)
for i in y:
    if i==1:
        print("R", end=" ")
    elif i==2:
        print("B", end=" ")
    elif i==3:
        print("G", end=" ")


def divGar(s, n):
    i = 0
    while (i < n-1):
        g = ['R', 'G', 'B']
        if s[i] == s[i+1]:
            if i+2 < n:
                g.remove(s[i+2])
            g.remove(s[i])
            if i+2 < n:
                s = s[:i+1] + g[0] + s[i+2:]
            else:
                s = s[:i+1] + g[0]
    return s

n = int(input())

s = input()

print(divGar(s, n))


def divGar(s, n):
    i = 0
    c = 0
    while (i < n-1):
        g = ['R', 'G', 'B']
        if s[i] == s[i+1]:
            if i+2 < n:
                g.remove(s[i+2])
            g.remove(s[i])
            if i+2 < n:
                s = s[:i+1] + g[0] + s[i+2:]
                c += 1
            else:
                s = s[:i+1] + g[0]
                c += 1
        i += 1
    return c, s

n = int(input())

s = input()

c, s = divGar(s, n)
print(c)
print(s)


def divGar(s, n):
    i = 0
    c = 0
    while (i < n-1):
        g = ['R', 'G', 'B']
        if s[i] == s[i+1]:
            if i+2 < n:
                g.remove(s[i+2])
            if s[i] in g:
                g.remove(s[i])
            if i+2 < n:
                s = s[:i+1] + g[0] + s[i+2:]
                c += 1
            else:
                s = s[:i+1] + g[0]
                c += 1
        i += 1
    return c, s

n = int(input())

s = input()

c, s = divGar(s, n)
print(c)
print(s)


def divGar(s, n):
    i = 0
    c = 0
    while (i < n-1):
        g = ['R', 'G', 'B']
        if s[i] == s[i+1]:
            if i+2 < n:
                g.remove(s[i+2])
            if s[i] not in g:
                g.remove(s[i])
            if i+2 < n:
                s = s[:i+1] + g[0] + s[i+2:]
                c += 1
            else:
                s = s[:i+1] + g[0]
                c += 1
        i += 1
    return c, s

n = int(input())

s = input()

c, s = divGar(s, n)
print(c)
print(s)


def divGar(s, n):
    s = list(s)
    i = 0
    c = 0
    while (i < n-1):
        g = ['R', 'G', 'B']
        if s[i] == s[i+1]:
            if i+2 < n:
                g.remove(s[i+2])
            if s[i] in g:
                g.remove(s[i])
            s[i+1] = g[0]
            c += 1
        i += 1
    s = ''.join(s)
    return c, s

n = int(input())

s = input()

c, s = divGar(s, n)
print(c)
print(s)


def divGar(s, n):
    i = 0
    while (i < n-1):
        g = ['R', 'G', 'B']
        if s[i] == s[i+1]:
            if i+2 < n:
                g.remove(s[i+2])
            g.remove(s[i])
            if i+2 < n:
                s = s[:i+1] + g[0] + s[i+2:]
            else:
                s = s[:i+1] + g[0]
        i += 1
    return s

n = int(input())

s = input()

print(divGar(s, n))


def divGar(s, n):
    s = list(s)
    i = 0
    c = 0
    while (i < n-1):
        g = ['R', 'G', 'B']
        if s[i] == s[i+1]:
            if i+2 < n:
                g.remove(s[i+2])
            if s[i] in g:
                g.remove(s[i])
            s[i+1] = g[0]
            c += 1
        i += 1
    return c, s

n = int(input())

s = input()

c, s = divGar(s, n)
print(c)
print(s)


def get_diff(prev, nxt):
    s=['R','G','B']
    s.remove(prev)
    s.remove(nxt)
    return s[0]

def func(s):
    for i in range(1, len(s)):
        count = 0
        if s[i] == s[i-1]:
            s[i] = get_diff(s[i-1],s[i+1] if i+1<len(s) else s[i])
            count+=1
    print(count)
    print(s)

N = input()
s=input()


def get_diff(prev, nxt):
    s=['R','G','B']
    s.remove(prev)
    if prev != nxt:
        s.remove(nxt)
    return s[0]

def func(s):
    count = 0
    for i in range(1, len(s)):
        if s[i] == s[i-1]:
            s[i] = get_diff(s[i-1],s[i+1] if i+1<len(s) else s[i])
            count+=1
    print(count)
    print(''.join(s))

N = input()
s=input()


def get_diff(prev, nxt):
    s=['R','G','B']
    s.remove(prev)
    if prev != nxt:
        s.remove(nxt)
    return s[0]

def func(s):
    count = 0
    for i in range(1, len(s)):
        if s[i] == s[i-1]:
            s[i] = get_diff(s[i-1],s[i+1] if i+1<len(s) else s[i])
            count+=1
    print(count)
    print(''.join(s))

N = input()
s=input()
func(list(s))


n = int(input())
s = list(input())
rgb = ['R', 'B', 'G']
x = 0
if n == 1:
    print(0)
    print(s[0])
    exit(0)
for i in range(len(s) - 2):
    if s[i] == s[i + 1] and s[i] != s[i+2]:
        rgb.remove(s[i])
        rgb.remove(s[i+2])
        s[i+1] = rgb[0]
        x += 1
    elif s[i] == s[i+1]:
        rgb.remove(s[i])
        s[i+1] = rgb[0]
        x += 1
    rgb = ['R', 'B', 'G']
if s[len(s) - 2] == s[len(s) - 1]:
    rgb.remove(s[len(s) - 2])
    s[len(s) - 1] = rgb[0]
    x += 1
print(x)
print("".join(s))


n = int(input())
s = list(input())
rgb = ['R', 'B', 'G']
x = 0
for i in range(len(s) - 2):
    if s[i] == s[i + 1] and s[i] != s[i+2]:
        rgb.remove(s[i])
        rgb.remove(s[i+2])
        s[i+1] = rgb[0]
        x += 1
    elif s[i] == s[i+1]:
        rgb.remove(s[i])
        s[i+1] = rgb[0]
        x += 1
    rgb = ['R', 'B', 'G']
if s[len(s) - 2] == s[len(s) - 1]:
    rgb.remove(s[len(s) - 2])
    s[len(s) - 1] = rgb[0]
    x += 1
print(x)
print("".join(s))


r='RGB'
n=int(input())
l=[r.index(c)for c in input()]+[3]
m=0
for i in range(1,n):
 if l[i]==l[i-1]:
  m+=1
  l[i]=(l[i]+1)%3
  if l[i]==l[i+1]:l[i]=(l[i]+1)%3
print(m,''.join(r[i] for i in l[:-1]))


n=int(input())
s=[*input()]+[0]
m=0
for i in range(1,n):
 if s[i]==s[i-1]:m+=1;s[i]=next(c for c in'RGB'if s[i-1]!=c!=s[i+1])
print(m,''.join(s[:-1]))


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

#define         ll         long long
#define         pb         push_back
#define         scn(x)     scanf("%d",&x)
#define         scnl(x)    scanf("%lld",&x)
#define         prnt(x)    printf("%d\n",x)
#define         prntl(x)   printf("%lld\n",x)
#define         prii       pair<int,int>
#define         mapii      map<int,int>
#define         mapll      map<ll,ll>
#define         mapci      map<char,int>
#define         mapcl      map<char,ll>
#define         mapsi      map<string,int>
#define         mapsl      map<string,ll>
#define         prll       pair<ll,ll>
#define         vctri      vector<int>
#define         vctrl      vector<ll>
#define         vctrd      vector<double,double>
#define         all(a)     (a).begin(),(a).end()
#define         rall(a)    (a).rbegin(),(a).rend()
#define         F          first
#define         S          second
#define         mp         make_pair
#define         ftc(x)     cerr << #x << ": " << x << " " << '\n';
#define         PI         acos(-1)
#define         lcm(a,b)   ((a*b)/__gcd(a,b))
#define         fast       ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define         sqr(a)     ((a)*(a))
#define         memset(x,v) memset(x, v, sizeof(x))
#define         ask         '\n'
#define         negmod(x,y) ((x % y) + y) % y

vector<bool> isPrime(10000010, true);
inline void seivePrime(ll L, ll R) { ll lim = sqrt(R);for (ll i = 2; i <= lim; ++i){
        for (ll j = max(i * i, (L + i - 1) / i * i); j <= R; j += i)
            isPrime[j - L] = false;}if (L == 1)isPrime[0] = false;}
inline ll chckPrime(ll L,ll prme){return isPrime[prme - L];}
inline ll cntPrime(ll L,ll R){return count(isPrime.begin(),isPrime.begin() + R - L + 1,true);}

int main(){
    fast;
    int n;
    cin >> n;
    n ++;
    int x = 2;
    for(int i = 2;i <= n;i ++){
        ll a = (i * 1LL *(i - 1));
        ll y = sqr(a);
        cout << (y - x) / (i - 1) << "\n";
        x = a;
    }

    return 0;
}


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

#define         ll         long long
#define         pb         push_back
#define         scn(x)     scanf("%d",&x)
#define         scnl(x)    scanf("%lld",&x)
#define         prnt(x)    printf("%d\n",x)
#define         prntl(x)   printf("%lld\n",x)
#define         prii       pair<int,int>
#define         mapii      map<int,int>
#define         mapll      map<ll,ll>
#define         mapci      map<char,int>
#define         mapcl      map<char,ll>
#define         mapsi      map<string,int>
#define         mapsl      map<string,ll>
#define         prll       pair<ll,ll>
#define         vctri      vector<int>
#define         vctrl      vector<ll>
#define         vctrd      vector<double,double>
#define         all(a)     (a).begin(),(a).end()
#define         rall(a)    (a).rbegin(),(a).rend()
#define         F          first
#define         S          second
#define         mp         make_pair
#define         ftc(x)     cerr << #x << ": " << x << " " << '\n';
#define         PI         acos(-1)
#define         lcm(a,b)   ((a*b)/__gcd(a,b))
#define         fast       ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define         sqr(a)     ((a)*(a))
#define         memset(x,v) memset(x, v, sizeof(x))
#define         ask         '\n'
#define         negmod(x,y) ((x % y) + y) % y

vector<bool> isPrime(10000010, true);
inline void seivePrime(ll L, ll R) { ll lim = sqrt(R);for (ll i = 2; i <= lim; ++i){
        for (ll j = max(i * i, (L + i - 1) / i * i); j <= R; j += i)
            isPrime[j - L] = false;}if (L == 1)isPrime[0] = false;}
inline ll chckPrime(ll L,ll prme){return isPrime[prme - L];}
inline ll cntPrime(ll L,ll R){return count(isPrime.begin(),isPrime.begin() + R - L + 1,true);}

int main(){
    fast;
    int n;
    cin >> n;
    n ++;
    int x = 2;
    for(int i = 1;i < n;i ++){
        if(i == 1)
            cout << 2 <<"\n";
        else{
            ll a = i *1LL* (i + 1) * (i + 1) - (i - 1);
            cout << a << "\n";
        }
    }

    return 0;
}


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

#define         ll         long long
#define         pb         push_back
#define         scn(x)     scanf("%d",&x)
#define         scnl(x)    scanf("%lld",&x)
#define         prnt(x)    printf("%d\n",x)
#define         prntl(x)   printf("%lld\n",x)
#define         prii       pair<int,int>
#define         mapii      map<int,int>
#define         mapll      map<ll,ll>
#define         mapci      map<char,int>
#define         mapcl      map<char,ll>
#define         mapsi      map<string,int>
#define         mapsl      map<string,ll>
#define         prll       pair<ll,ll>
#define         vctri      vector<int>
#define         vctrl      vector<ll>
#define         vctrd      vector<double,double>
#define         all(a)     (a).begin(),(a).end()
#define         rall(a)    (a).rbegin(),(a).rend()
#define         F          first
#define         S          second
#define         mp         make_pair
#define         ftc(x)     cerr << #x << ": " << x << " " << '\n';
#define         PI         acos(-1)
#define         lcm(a,b)   ((a*b)/__gcd(a,b))
#define         fast       ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define         sqr(a)     ((a)*(a))
#define         memset(x,v) memset(x, v, sizeof(x))
#define         ask         '\n'
#define         negmod(x,y) ((x % y) + y) % y

vector<bool> isPrime(10000010, true);
inline void seivePrime(ll L, ll R) { ll lim = sqrt(R);for (ll i = 2; i <= lim; ++i){
        for (ll j = max(i * i, (L + i - 1) / i * i); j <= R; j += i)
            isPrime[j - L] = false;}if (L == 1)isPrime[0] = false;}
inline ll chckPrime(ll L,ll prme){return isPrime[prme - L];}
inline ll cntPrime(ll L,ll R){return count(isPrime.begin(),isPrime.begin() + R - L + 1,true);}

int main(){
    fast;
    int n;
    cin >> n;
    n ++;
    int x = 2;
    for(int i = 2;i <= n;i ++){
        ll a = i * (i - 1);
        ll y = sqr(a);
        cout << (y - x) / (i - 1) << "\n";
        x = a;
    }

    return 0;
}


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

#define         ll         long long
#define         pb         push_back
#define         scn(x)     scanf("%d",&x)
#define         scnl(x)    scanf("%lld",&x)
#define         prnt(x)    printf("%d\n",x)
#define         prntl(x)   printf("%lld\n",x)
#define         prii       pair<int,int>
#define         mapii      map<int,int>
#define         mapll      map<ll,ll>
#define         mapci      map<char,int>
#define         mapcl      map<char,ll>
#define         mapsi      map<string,int>
#define         mapsl      map<string,ll>
#define         prll       pair<ll,ll>
#define         vctri      vector<int>
#define         vctrl      vector<ll>
#define         vctrd      vector<double,double>
#define         all(a)     (a).begin(),(a).end()
#define         rall(a)    (a).rbegin(),(a).rend()
#define         F          first
#define         S          second
#define         mp         make_pair
#define         ftc(x)     cerr << #x << ": " << x << " " << '\n';
#define         PI         acos(-1)
#define         lcm(a,b)   ((a*b)/__gcd(a,b))
#define         fast       ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define         sqr(a)     ((a)*(a))
#define         memset(x,v) memset(x, v, sizeof(x))
#define         ask         '\n'
#define         negmod(x,y) ((x % y) + y) % y

vector<bool> isPrime(10000010, true);
inline void seivePrime(ll L, ll R) { ll lim = sqrt(R);for (ll i = 2; i <= lim; ++i){
        for (ll j = max(i * i, (L + i - 1) / i * i); j <= R; j += i)
            isPrime[j - L] = false;}if (L == 1)isPrime[0] = false;}
inline ll chckPrime(ll L,ll prme){return isPrime[prme - L];}
inline ll cntPrime(ll L,ll R){return count(isPrime.begin(),isPrime.begin() + R - L + 1,true);}

int main(){
    fast;
    int n;
    cin >> n;
    n ++;
    int x = 2;
    for(int i = 2;i <= n;i ++){
        ll y = sqr(i);
        cout << y - x << "\n";
        x = i;
    }

    return 0;
}


/* created   : 2020-05-01 15:23:40
 * accepted  : 2020-05-01 15:56:55
 */
#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define all(x) (x).begin(), (x).end()
typedef long long ll;

void solve() {
  int n; cin >> n;
  ll d = 2;
  for (ll i = 1; i <= n; i++) {
    ll y = i * (i + 1);
    ll x = (y * y - d) / i;
    cout << x << "\n";
    d = y;
  }
}

int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  solve();
  return 0;
}


/* created   : 2020-05-01 15:23:40
 * accepted  : 2020-05-01 16:05:41
 */
#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define all(x) (x).begin(), (x).end()
typedef long long ll;

void solve() {
  int 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";
    }
  }
}

int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  solve();
  return 0;
}


/* created   : 2020-05-01 15:23:40
 * accepted  : 2020-05-01 16:07:16
 */
#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define all(x) (x).begin(), (x).end()
typedef long long ll;

void solve() {
  int n; cin >> n;
  for (ll i = 1; i <= n; i++) {
    cout << (i + 1) * (i + 2) * (i + 2) - i << "\n";
  }
}

int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  solve();
  return 0;
}


#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);
    unsigned  ll n, z;

    cin >> n;

    unsigned ll ot = 2;

    for (unsigned ll 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>

//#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)
#define ld long double

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;

ll n, a[111111];
string s;
ll f[111111];

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

   unsigned  ll n, z;

    cin >> n;

    unsigned ll ot = 2;

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

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

}


#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 (ll 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>

//#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)
#define ld long double

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;

ll n, a[111111];
string s;
ll f[111111];

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

   unsigned  ll n, z;

    cin >> n;

    unsigned ll ot = 2;
    cout << ot << endl;
    for (unsigned ll i = 2; i <= n; i++) {

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

}


#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)
#define ld long double

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;

ll n, a[111111];
string s;
ll f[111111];

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

   unsigned  ll n, z;

    cin >> n;

    unsigned ll ot = 2;

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

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

}


#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++) {
        ll o = k * k;

//        z = o;
        cout << sqr(i * (i + 1)) - ot<< endl;
//        cout << ot << endl;
        ot = (i * (i + 1));
        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