using System;
using System.Collections.Generic;

class Program
{
    static string InputPattern = "InputX";

    static List<string> GetInputList()
    {
        var WillReturn = new List<string>();

        if (InputPattern == "Input1") {
            WillReturn.Add("LR");
            //5
            //A君は最初1号線を歩いている。
            //最初の分岐点で1号線は左の2号線と右の3号線に分岐する。
            //A君は左の2号線を歩く。
            //2つめの分岐点で2号線は左の4号線と右の5号線に分岐する。
            //A君は右の5号線を歩く。
            //現在A君は5号線を歩いていることになる。
        }
        else if (InputPattern == "Input2") {
            WillReturn.Add("RLL");
            //12
            //A君は最初1号線を歩いている。
            //最初の分岐点で1号線は左の2号線と右の3号線に分岐する。
            //A君は右の3号線を歩く。
            //2つめの分岐点で3号線は左の6号線と右の7号線に分岐する。
            //A君は左の6号線を歩く。
            //3つめの分岐点で6号線は左の12号線と右の13号線に分岐する。
            //A君は左の12号線を歩く。
            //現在A君は12号線を歩いていることになる。
        }
        else if (InputPattern == "Input3") {
            WillReturn.Add("RLLRLRLRRRLRL");
            //12986
        }
        else if (InputPattern == "Input4") {
            WillReturn.Add("");
            //1
            //A君には分岐した記憶がない。よって1号線を歩いている
        }
        else {
            string wkStr;
            while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
        }
        return WillReturn;
    }

    static void Main()
    {
        List<string> InputList = GetInputList();
        int CurrRoad = 1;
        foreach (char EachChar in InputList[0]) {
            CurrRoad *= 2;
            if (EachChar == 'R') CurrRoad++;
        }
        Console.WriteLine(CurrRoad);
    }
}