#include<bits/stdc++.h>
#define Mod 1000000007
using namespace std;
long long n,dp[100005][2];
char s[100005];
int main()
{
scanf("%s",&s+1);
n=strlen(s+1);
dp[0][1]=1;
for(int i=1;i<=n;i++)
{
if(s[i]=='1')
{
dp[i][0]=(dp[i-1][1]+dp[i-1][0]*3)%Mod;
dp[i][1]=(dp[i-1][1]*2)%Mod;
}
else
{
dp[i][0]=(dp[i-1][0]*3)%Mod;
dp[i][1]=dp[i-1][1]%Mod;
}
}
cout<<(dp[n][0]+dp[n][1])%Mod;
return 0;
}