Problem is twins from recursion from practice section

#include
using namespace std;

void twins(string str,int i,int j,int n,int& count)
{
if(i>=str.length())
return;

if(j>i+2)
twins(str,i+1,i+2,n,count);


char ch1=str[i];
char ch2=str[j];
if(ch2!=ch1)
twins(str,i,j+1,n,count);
else
{
	count=count+1;
    twins(str,i,j+1,n,count);
}

}

int main()
{
string str;
cin>>str;
int count=0;
// for(int i=0;i<str.length();i++)
// {
// char ch=str[i];
// for(int j=i+1;j<=i+2;j++)
// {
// char ch2=str[j];
// if(ch2!=ch)
// continue;
// else
// count++;
// }
// }
twins(str,0,1,str.length(),count);
cout<<count<<endl;
return 0;
}