<garvit244>97_1.py
def isInterleave( s1, s2, s3):
    if len(s3) != len(s1) + len(s2):
        return False
    
    dp = [[False for _ in range(len(s2)+1)] for _ in range(len(s1)+1)]
    for row in range(len(s1)+1):
        for col in range(len(s2)+1):
            if row == 0 and col == 0:
                dp[row][col] = True 
            elif row == 0:
                dp[row][col] =dp[row][col-1] and s2[col-1] == s3[row+col-1]
            elif col == 0:
                dp[row][col] = dp[row-1][col] and s1[row-1] == s3[row+col-1]
            else:
                dp[row][col] = (dp[row][col-1] and s2[col-1] == s3[row+col-1]) or (dp[row-1][col] and s1[row-1] == s3[row+col-1])
    
    return dp[len(s1)][len(s2)]
def sample_funcname ( var_0 , var_1 , var_2 ) :
    if len ( var_2 ) != len ( var_0 ) + len ( var_1 ) :
        return False
    var_8 = [ [ False for var_5 in range ( len ( var_1 ) + 1 ) ] for var_5 in range ( len ( var_0 ) + 1 ) ]
    for var_9 in range ( len ( var_0 ) + 1 ) :
        for var_10 in range ( len ( var_1 ) + 1 ) :
            if var_9 == 0 and var_10 == 0 :
                var_8 [ var_9 ] [ var_10 ] = True
            elif var_9 == 0 :
                var_8 [ var_9 ] [ var_10 ] = var_8 [ var_9 ] [ var_10 - 1 ] and var_1 [ var_10 - 1 ] == var_2 [ var_9 + var_10 - 1 ]
            elif var_10 == 0 :
                var_8 [ var_9 ] [ var_10 ] = var_8 [ var_9 - 1 ] [ var_10 ] and var_0 [ var_9 - 1 ] == var_2 [ var_9 + var_10 - 1 ]
            else :
                var_8 [ var_9 ] [ var_10 ] = ( var_8 [ var_9 ] [ var_10 - 1 ] and var_1 [ var_10 - 1 ] == var_2 [ var_9 + var_10 - 1 ] ) or ( var_8 [ var_9 - 1 ] [ var_10 ] and var_0 [ var_9 - 1 ] == var_2 [ var_9 + var_10 - 1 ] )
    return var_8 [ len ( var_0 ) ] [ len ( var_1 ) ]
