#abc189d. [abc189_d]Logical Expression

[abc189_d]Logical Expression

题目描述

给定 NN 个字符串 S1,ldots,SNS_1,\\ldots,S_N,每个字符串是 ANDOR

找出 N+1N+1 个变量 (x0,ldots,xN)(x_0,\\ldots,x_N) 的元组数量,其中每个元素都是 textTrue\\text{True}textFalse\\text{False},使得以下计算得出 yNy_NtextTrue\\text{True}

  • y0=x0y_0=x_0
  • 对于 igeq1i\\geq 1,如果 SiS_iAND,则 yi=yi1landxiy_i=y_{i-1} \\land x_i;如果 SiS_iOR,则 yi=yi1lorxiy_i=y_{i-1} \\lor x_i

这里,alandba \\land balorba \\lor b 是逻辑运算符。

约束条件

  • 1leqNleq601 \\leq N \\leq 60
  • SiS_iANDOR

输入

从标准输入读入数据,输入格式如下:

NN S1S_1 vdots\\vdots SNS_N

输出

打印答案。


示例输入 1

2
AND
OR

示例输出 1

5

例如,如果 $(x_0,x_1,x_2)=(\\text{True},\\text{False},\\text{True})$,则有 y2=textTruey_2 = \\text{True},如下所示:

  • y0=x0=textTruey_0=x_0=\\text{True}
  • $y_1=y_0 \\land x_1 = \\text{True} \\land \\text{False}=\\text{False}$
  • $y_2=y_1 \\lor x_2 = \\text{False} \\lor \\text{True}=\\text{True}$

所有导致 y2=textTruey_2 = \\text{True} 的五个元组 (x0,x1,x2)(x_0,x_1,x_2) 如下:

  • (textTrue,textTrue,textTrue)(\\text{True},\\text{True},\\text{True})
  • (textTrue,textTrue,textFalse)(\\text{True},\\text{True},\\text{False})
  • (textTrue,textFalse,textTrue)(\\text{True},\\text{False},\\text{True})
  • (textFalse,textTrue,textTrue)(\\text{False},\\text{True},\\text{True})
  • (textFalse,textFalse,textTrue)(\\text{False},\\text{False},\\text{True})

示例输入 2

5
OR
OR
OR
OR
OR

示例输出 2

63

除了全部填充为 textFalse\\text{False} 的元组之外,所有的元组都导致 y5=textTruey_5 = \\text{True}