human
Bob is decorating his kitchen, more precisely, the floor. He has found a prime candidate for the tiles he will use. They come in a simple form factor — a square tile that is diagonally split into white and black part as depicted in the figure below.


The dimension of this tile is perfect for this kitchen, as he will need exactly w × h tiles without any scraps. That is, the width of the kitchen is w tiles, and the height is h tiles. As each tile can be rotated in one of four ways, he still needs to decide on how exactly he will tile the floor. There is a single aesthetic criterion that he wants to fulfil: two adjacent tiles must not share a colour on the edge — i.e. one of the tiles must have a white colour on the shared border, and the second one must be black.

 The picture on the left shows one valid tiling of a 3 × 2 kitchen. The picture on the right shows an invalid arrangement, as the bottom two tiles touch with their white parts.

Find the number of possible tilings. As this number may be large, output its remainder when divided by 998244353 (a prime number). 

Input

The only line contains two space separated integers w, h (1 ≤ w,h ≤ 1 000) — the width and height of the kitchen, measured in tiles.

Output

Output a single integer n — the remainder of the number of tilings when divided by 998244353.

Examples

Input

2 2

Output

16

Input

2 4

Output

64
# -*- ... Write me a Python program to find the number of possible tilings?
assistant
#Here is Python program to find the number of possible tilings.
 coding: utf-8 -*-
import sys
from collections import defaultdict, deque
from math import sqrt, gcd
def input(): return sys.stdin.readline()[:-1]
# def input(): return sys.stdin.buffer.readline()[:-1]

# n = int(input())
a, b = [int(x) for x in input().split()]
print((4 * 2 ** (a+b-2))%998244353)

"""

4 2 2
2
2

"""