output_description: Print the number of triples (A,B,C), modulo 998244353.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N M
attempt: a = int(input())
  b = int(input())
  ans = pow(2, a * b) % 998244353
  print(ans)
  
problem_description: Statement
  
  We have an N \times M grid. The square at the i-th row and j-th column will be
  denoted as (i,j). Particularly, the top-left square will be denoted as (1,1),
  and the bottom-right square will be denoted as (N,M). Takahashi painted some
  of the squares (possibly zero) black, and painted the other squares white.
  
  We will define an integer sequence A of length N, and two integer sequences B
  and C of length M each, as follows:
  
    * A_i(1\leq i\leq N) is the minimum j such that (i,j) is painted black, or M+1 if it does not exist.
    * B_i(1\leq i\leq M) is the minimum k such that (k,i) is painted black, or N+1 if it does not exist.
    * C_i(1\leq i\leq M) is the maximum k such that (k,i) is painted black, or 0 if it does not exist.
  
  How many triples (A,B,C) can occur? Find the count modulo 998244353.
samples: [{"input": "2 3", "output": "64\n    \n\nSince N=2, given B_i and C_i, we can uniquely determine the arrangement of\nblack squares in each column. For each i, there are four possible pairs\n(B_i,C_i): (1,1), (1,2), (2,2) and (3,0). Thus, the answer is 4^M=64.\n\n* * *"}, {"input": "4 3", "output": "2588\n    \n\n* * *"}, {"input": "17 13", "output": "229876268\n    \n\n* * *"}, {"input": "5000 100", "output": "57613837"}]