import sys

def do_deduction(S, T):
    while True:
        if len(S) == len(T):
            if S == T:
                print (1)
            else:
                print (0)
            return
        
        if T[-1] == "A":
            T = T[:-1]
        else:
            T = T[:-1][::-1]

if __name__ == "__main__":
    input = sys.stdin.readline
    S = input().strip()
    T = input().strip()
    do_deduction(S, T)
import sys
from bisect import bisect_left
input = sys.stdin.readline

N = int(input())
A = list(map(int, input().split()))
stack = [-sys.maxsize]

for i in A:
    if stack[-1] < i:
        stack.append(i)
    else:
        stack[bisect_left(stack, i)] = i

print (len(stack)-1)
import sys
from bisect import bisect_left
input = sys.stdin.readline

N = int(input())
A = list(map(int, input().split()))
stack = [0]

for i in A:
    if stack[-1] < i:
        stack.append(i)
    else:
        stack[bisect_left(stack, i)] = i
    
print (len(stack)-1)
import sys
input = sys.stdin.readline

N = int(input())

DP = [0] * 1001
DP[1] = 1
DP[2] = 3

for i in range(3, 1001):
    DP[i] = DP[i-1] + (DP[i-2] * 2)

print (DP[N] % 10007)
import sys
input = sys.stdin.readline

N = int(input())

DP = [0] * (1000 + 1)
DP[1] = 1
DP[2] = 2

for i in range(3, 1000+1):
    DP[i] = DP[i-2] + DP[i-1]

print (DP[N] % 10007)
import sys

input = sys.stdin.readline
M = int(input())
S = set()

for _ in range(M):
    cmd = input().split()
    if cmd[0] == "all":
        S = set([i for i in range(1, 21)])
    elif cmd[0] == "empty":
        S = set()
    elif cmd[0] == "add":
        S.add(int(cmd[1]))
    elif cmd[0] == "check":
        print (1 if int(cmd[1]) in S else 0)
    elif cmd[0] == "remove":
        S.discard(int(cmd[1]))
    elif cmd[0] == "toggle":
        if int(cmd[1]) in S:
            S.discard(int(cmd[1]))
        else:
            S.add(int(cmd[1]))
import sys
input = sys.stdin.readline
words = input()
for i in range(0, len(words), 10):
    print (words[i:i+10])
#include <iostream>
#include <string>
using namespace std;

int main(void)
{
	// 1. 변수 선언부 
	int N = 0; // 입력 받을 N개의 숫자 
	string M; // N개의 숫자를 문자열로 받기 위한 변수 
	int sum = 0; // 문자열로 받은 N개의 숫자의 합을 담는 변수  
	cin >> N; // N개의 숫자 입력 
	char *arr = new char[N]; // N개의 숫자를 동적 배열로 받음 
	cin >> M; // N개의 숫자를 문자열로 받아 M에 넣음 
	
	// 2. 핵심 알고리즘 동작부 
	for (int i =0; i<N; i++)
	{
		arr[i] = M[i];
		sum = sum + arr[i] - 48; // 아스키코드 0에 해당하는 수 48을 빼줌
	}
	
	// 3. 결과 출력부 
	cout << sum << endl;
	return 0;
}
while True:
    try:
        print (input())
    except EOFError:
        break
while True:
    try:
        print (input())
    except EOFError:
        break

+ Recent posts