#include<bits/stdc++.h> 
using namespace std;
const int maxn=5e5+5;
char s[maxn],t[2][maxn],st[maxn],k[maxn];
int n,C,tot,p[maxn],sum[maxn],top,K,cnt[2];

int main(){
	scanf("%s",s+1);
	n=strlen(s+1);
	for(int i=1;i<=n;i++){
		if(s[i]=='R')tot^=1,++C;
		else{
			t[tot][++cnt[tot]]=s[i];
		} 
	}
	if(C%2==0){
		for(int i=cnt[1];i;i--)k[++K]=t[1][i];
		for(int i=1;i<=cnt[0];i++)k[++K]=t[0][i];
	}
	else{
		for(int i=cnt[0];i;i--)k[++K]=t[0][i];
		for(int i=1;i<=cnt[1];i++)k[++K]=t[1][i];
	}
	for(int i=1;i<=K;i++){
		st[++top]=k[i];
		while(top>=2&&st[top]==st[top-1])top-=2;
	}
	for(int i=1;i<=top;i++)putchar(st[i]);
	return 0;
}
#define _USE_MATH_DEFINES
#include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <string>
#include <stdlib.h>
#include <cmath>
#include <algorithm>
#include <numeric>
#include <climits>
#include <iomanip>
#include <deque>
#include <limits>
#include <map>
#include <set>
#include <functional>

using namespace std;

int main()
{
  uint64_t X, Y, A, B;

  cin >> X >> Y >> A >> B;

  uint64_t exp = 0;

  while (true) {
    if (X > (B / (A - 1))) break;

    X *= A;

    if (X >= Y) {
      cout << exp << endl;
      return 0;
    }

    exp++;
  }

  if ((Y - X) % B == 0) {
    cout << exp + (Y - X) / B - 1 << endl;
  }
  else {
    cout << exp + (Y - X) / B << endl;
  }

  return 0;
}
