某一特别的乘法运算如下: 
      a    b    c 
 a    b    b    a 
 b    c    b    a 
 c    a    c    c 

即 ab = b, ba = c, bc = a, cb = c, … 

依照此乘法,给定任意abc三字符组成的字符串,适当加括号后得到一个表达式.例如,对于字符串x=bbbba,可加括号如下(b(bb))(ba),依上述乘法表,该表达式的值为a。请设计一个算法,对于任意abc组成的字符串X,计算有多少种不同的加括号的方式,使由X导出的加括号表达式值为a。

请实现该算法,若有可能,请输出所有的可能表达式。