
    Given a maximum transaction limit of m dollars and a sequence of n consecutive credit card transactions, determine how many different patterns of potentially fraudulent transaction sequences exist where each subsequent charge is at least double the previous amount but does not exceed the transaction limit. The fraud detection system needs to identify these exponentially increasing patterns to flag suspicious activity for review.
    

    
def get_total_number_of_sequences(m, n):
    """
    Given a maximum transaction limit of m dollars and a sequence of n consecutive credit card transactions, determine how many different patterns of potentially fraudulent transaction sequences exist where each subsequent charge is at least double the previous amount but does not exceed the transaction limit. The fraud detection system needs to identify these exponentially increasing patterns to flag suspicious activity for review.
    

    """
def get_total_number_of_sequences(m, n):
    """
    Given a maximum transaction limit of m dollars and a sequence of n consecutive credit card transactions, determine how many different patterns of potentially fraudulent transaction sequences exist where each subsequent charge is at least double the previous amount but does not exceed the transaction limit. The fraud detection system needs to identify these exponentially increasing patterns to flag suspicious activity for review.
    

    """
    T = [[0 for i in range(n + 1)] for i in range(m + 1)]
    for i in range(m + 1):
        for j in range(n + 1):
            if i == 0 or j == 0:
                T[i][j] = 0
            elif i < j:
                T[i][j] = 0
            elif j == 1:
                T[i][j] = i
            else:
                T[i][j] = T[i - 1][j] + T[i // 2][j - 1]
    return T[m][n]