Dynamic programming on Trees - Top Level

Binary Tree

Binary Tree is a tree data structure where each node has at most two children, usually they are distinguished as left and right child. And the node having the children are called parent of those children.

An instruction string is a string consisting of the letters L, R and U. L stands for Left, R for Right and U for Up. Meaning of these will be clear shortly.

One day I have drawn an infinitely large Binary Tree. In this tree each node has exactly two children (left child and right child) and each of them has a parent. For this problem, we will consider the parent of the root is root itself. I put a pen in the root and follow the instruction string S. That is, we look at the first character if it says L we go to left child, if it says R we go to right child and if it says U then to the parent. If we receive a U instruction at root we just end up at root since we assumed parent of the root is root itself.

Now we have another instruction string T. Starting from the node where we are after following the instruction string S, we will follow the instruction string T. But this time, if we wish we may skip any instruction in the string T (possibly discarding all of them). You have to tell me how many different nodes I can end up after following instruction string T (skipping as many instructions as I wish).

For example:

Suppose: S = L and T = LU. Our answer is 3. Following S we will end up at the left child of the root. Now, when we follow T, there may be 4 cases:

  1. Skipping all letters: we will be at the same node where we are.
  2. Skipping L and following U: we will be at the root.
  3. Following L and Skipping U: we will be at the left child of current node.
  4. Following both L and U: we will be at the same node as in case 1.

Since 3 different nodes we can end up after following T, the answer is 3.


First line contains the number of test cases n (n 15). Hence follow n test cases. Each test case consists of two non empty strings. First line will contain instruction string S and the second line will contain the instruction string T. You may assume that there will not be any letter other than L, R or U in these strings. Length of the strings will not be greater than 100000.


For each test case print the case number followed by the number of nodes we can end up finally. Since the answer may be large, you have to give the answer modulo 21092013.

Time limit 1 second
Memory limit 64 MiB
Input example #1
Output example #1
Case 1: 3
Case 2: 2
Source 2013 ACM Southwestern Europe Regional Contest (SWERC), November 17