<commit_before>def alignCost(xs,ys):
    x = [[0]*(len(ys)+1) for c in range(len(xs)+1)]
    y = [[0]*(len(ys)+1) for c in range(len(xs)+1)]
    m = [[0]*(len(ys)+1) for c in range(len(xs)+1)]
    gapstart = -11
    gapextend = -1
    mp = [
            [4,'#',0,-2,-1,-2, 0,-2,-1,'#',-1,-1,-1,-2,'#',-1,-1,-1, 1, 0,'#',0,-3,'#',-2],
            [],
            [0,'#',9,-3,-4,-2,-3,-3,-1,'#',-3,-1,-1,-3,'#',-3,-3,-3,-1,-1,'#',-1,-2,'#',-2],
            [-2,'#',-3,6,2,-3,-1,-1,-3,'#',-1,-4,-3,1,'#',-1,0,-2,0,-1,'#',-3,-4,'#',-3],
            [-1,'#',-4,2,5,-3,-2,0,-3,'#',1,-3,-2,0,'#',-1,2,0,0,-1,'#',-2,-3,'#',-2],
            [-2,'#',-2,-3,-3,6,-3,-1,0,'#',-3,0,0,-3,'#',-4,-3,-3,-2,-2,'#',-1,1,'#',3],
            [0,'#',-3,-1,-2,-3,6,-2,-4,'#',-2,-4,-3,0,'#',-2,-2,-2,0,-2,'#',-3,-2,'#',-3],
            [-2,'#',-3,-1,0,-1,-2,8,-3,'#',-1,-3,-2,1,'#',-2,0,0,-1,-2,'#',-3,-2,'#',2],
            [-1,'#',-1,-3,-3,0,-4,-3,4,'#',-3,2,1,-3,'#',-3,-3,-3,-2,-1,'#',3,-3,'#',-1],
            [],
            [-1,'#',-3,-1,1,-3,-2,-1,-3,'#',5,-2,-1,0,'#',-1,1,2,0,-1,'#',-2,-3,'#',-2],
            [-1,'#',-1,-4,-3,0,-4,-3,2,'#',-2,4,2,-3,'#',-3,-2,-2,-2,-1,'#',1,-2,'#',-1],
            [-1,'#',-1,-3,-2,0,-3,-2,1,'#',-1,2,5,-2,'#',-2,0,-1,-1,-1,'#',1,-1,'#',-1],
            [-2,'#',-3,1,0,-3,0,1,-3,'#',0,-3,-2,6,'#',-2,0,0,1,0,'#',-3,-4,'#',-2],
            [],
            [-1,'#',-3,-1,-1,-4,-2,-2,-3,'#',-1,-3,-2,-2,'#',7,-1,-2,-1,-1,'#',-2,-4,'#',-3],
            [-1,'#',-3,0,2,-3,-2,0,-3,'#',1,-2,0,0,'#',-1,5,1,0,-1,'#',-2,-2,'#',-1],
            [-1,'#',-3,-2,0,-3,-2,0,-3,'#',2,-2,-1,0,'#',-2,1,5,-1,-1,'#',-3,-3,'#',-2],
            [1,'#',-1,0,0,-2,0,-1,-2,'#',0,-2,-1,1,'#',-1,0,-1,4,1,'#',-2,-3,'#',-2],
            [0,'#',-1,-1,-1,-2,-2,-2,-1,'#',-1,-1,-1,0,'#',-1,-1,-1,1,5,'#',0,-2,'#',-2],
            [],
             [0,'#',-1,-3,-2,-1,-3,-3,3,'#',-2,1,1,-3,'#',-2,-2,-3,-2,0,'#',4,-3,'#',-1],
             [-3,'#',-2,-4,-3,1,-2,-2,-3,'#',-3,-2,-1,-4,'#',-4,-2,-3,-3,-2,'#',-3,11,'#',2],
             [],
             [-2,'#',-2,-3,-2,3,-3,2,-1,'#',-2,-1,-1,-2,'#',-3,-1,-2,-2,-2,'#',-1,2,'#',7]
             ]
    # matrices initialization
    for i in xrange(len(ys)+1):
        m[0][i] = -1000000
        x[0][i] = gapstart + gapextend * i 
        y[0][i] = -1000000 
    for i in xrange(len(xs)+1):
        m[i][0] = -1000000
        x[i][0] = -1000000 
        y[i][0] = gapstart + gapextend * i 
    for i in xrange(len(xs)):
        for j in xrange(len(ys)):
            m[i+1][j+1] = max(
                    cost(xs[i],ys[j],mp) + m[i][j],
                    x[i][j],
                    y[i][j]
                    )
            x[i+1][j+1] = max(
                    gapstart + gapextend + m[i+1][j],
                    gapextend + x[i+1][j],
                    gapstart + gapextend + y[i+1][j]
                    )
            y[i+1][j+1] = max(
                    gapstart + gapextend + m[i][j+1],
                    gapstart + gapextend + x[i][j+1],
                    gapextend + y[i][j+1]
                    )
    return max(x[-1][-1],y[-1][-1],m[-1][-1])

def cost(x,y,mp):
    a = ord(x)-ord('A')
    b = ord(y)-ord('A')
    return mp[a][b]

"""
main program
"""

f = open("input.txt",'r')
x = ""
r = f.readline()
r = f.readline()
r = r.strip()
while r[0] != '>':
    x += r
    r = f.readline()
    r = r.strip()
r = f.readline()
r = r.strip()
y = ""
while r != "":
    y += r
    r = f.readline()
    r = r.strip()
f.close()

score = alignCost(x,y)
print score
<commit_msg>Right algorithm before implementation of traceback.<commit_after>test = True
def alignCost(xs,ys):
    x = [[0]*(len(ys)+1) for c in range(len(xs)+1)]
    y = [[0]*(len(ys)+1) for c in range(len(xs)+1)]
    m = [[0]*(len(ys)+1) for c in range(len(xs)+1)]
    gapstart = -11
    gapextend = -1
    INFINITY = 100
    mp = [
            [4,'#',0,-2,-1,-2, 0,-2,-1,'#',-1,-1,-1,-2,'#',-1,-1,-1, 1, 0,'#',0,-3,'#',-2],
            [],
            [0,'#',9,-3,-4,-2,-3,-3,-1,'#',-3,-1,-1,-3,'#',-3,-3,-3,-1,-1,'#',-1,-2,'#',-2],
            [-2,'#',-3,6,2,-3,-1,-1,-3,'#',-1,-4,-3,1,'#',-1,0,-2,0,-1,'#',-3,-4,'#',-3],
            [-1,'#',-4,2,5,-3,-2,0,-3,'#',1,-3,-2,0,'#',-1,2,0,0,-1,'#',-2,-3,'#',-2],
            [-2,'#',-2,-3,-3,6,-3,-1,0,'#',-3,0,0,-3,'#',-4,-3,-3,-2,-2,'#',-1,1,'#',3],
            [0,'#',-3,-1,-2,-3,6,-2,-4,'#',-2,-4,-3,0,'#',-2,-2,-2,0,-2,'#',-3,-2,'#',-3],
            [-2,'#',-3,-1,0,-1,-2,8,-3,'#',-1,-3,-2,1,'#',-2,0,0,-1,-2,'#',-3,-2,'#',2],
            [-1,'#',-1,-3,-3,0,-4,-3,4,'#',-3,2,1,-3,'#',-3,-3,-3,-2,-1,'#',3,-3,'#',-1],
            [],
            [-1,'#',-3,-1,1,-3,-2,-1,-3,'#',5,-2,-1,0,'#',-1,1,2,0,-1,'#',-2,-3,'#',-2],
            [-1,'#',-1,-4,-3,0,-4,-3,2,'#',-2,4,2,-3,'#',-3,-2,-2,-2,-1,'#',1,-2,'#',-1],
            [-1,'#',-1,-3,-2,0,-3,-2,1,'#',-1,2,5,-2,'#',-2,0,-1,-1,-1,'#',1,-1,'#',-1],
            [-2,'#',-3,1,0,-3,0,1,-3,'#',0,-3,-2,6,'#',-2,0,0,1,0,'#',-3,-4,'#',-2],
            [],
            [-1,'#',-3,-1,-1,-4,-2,-2,-3,'#',-1,-3,-2,-2,'#',7,-1,-2,-1,-1,'#',-2,-4,'#',-3],
            [-1,'#',-3,0,2,-3,-2,0,-3,'#',1,-2,0,0,'#',-1,5,1,0,-1,'#',-2,-2,'#',-1],
            [-1,'#',-3,-2,0,-3,-2,0,-3,'#',2,-2,-1,0,'#',-2,1,5,-1,-1,'#',-3,-3,'#',-2],
            [1,'#',-1,0,0,-2,0,-1,-2,'#',0,-2,-1,1,'#',-1,0,-1,4,1,'#',-2,-3,'#',-2],
            [0,'#',-1,-1,-1,-2,-2,-2,-1,'#',-1,-1,-1,0,'#',-1,-1,-1,1,5,'#',0,-2,'#',-2],
            [],
             [0,'#',-1,-3,-2,-1,-3,-3,3,'#',-2,1,1,-3,'#',-2,-2,-3,-2,0,'#',4,-3,'#',-1],
             [-3,'#',-2,-4,-3,1,-2,-2,-3,'#',-3,-2,-1,-4,'#',-4,-2,-3,-3,-2,'#',-3,11,'#',2],
             [],
             [-2,'#',-2,-3,-2,3,-3,2,-1,'#',-2,-1,-1,-2,'#',-3,-1,-2,-2,-2,'#',-1,2,'#',7]
             ]
    # matrices initialization
    for i in xrange(len(ys)+1):
        m[0][i] = -INFINITY
        x[0][i] = gapstart + gapextend * i 
        y[0][i] = -INFINITY 
    for i in xrange(len(xs)+1):
        m[i][0] = -INFINITY
        x[i][0] = -INFINITY 
        y[i][0] = gapstart + gapextend * i 
    m[0][0] = 0
    for i in xrange(len(xs)):
        for j in xrange(len(ys)):
            m[i+1][j+1] = cost(xs[i],ys[j],mp) + max(
                    m[i][j],
                    x[i][j],
                    y[i][j]
                    )
            x[i+1][j+1] = max(
                    gapstart + gapextend + m[i+1][j],
                    gapextend + x[i+1][j],
                    gapstart + gapextend + y[i+1][j]
                    )
            y[i+1][j+1] = max(
                    gapstart + gapextend + m[i][j+1],
                    gapstart + gapextend + x[i][j+1],
                    gapextend + y[i][j+1]
                    )
            if test == True:
                print "step",i,j
                for c in x:
                    print c
                for c in y:
                    print c
                for c in m:
                    print c
    return max(x[-1][-1],y[-1][-1],m[-1][-1])

def cost(x,y,mp):
    a = ord(x)-ord('A')
    b = ord(y)-ord('A')
    return mp[a][b]

"""
main program
"""

f = open("input.txt",'r')
x = ""
r = f.readline()
r = f.readline()
r = r.strip()
while r[0] != '>':
    x += r
    r = f.readline()
    r = r.strip()
r = f.readline()
r = r.strip()
y = ""
while r != "":
    y += r
    r = f.readline()
    r = r.strip()
f.close()
if test == True:
    x = "PLEASANTLY"
    y =  "MEANLY"

score = alignCost(x,y)
print score

{'fraction_non_alphanumeric': 0.4043929389570139, 'fraction_numerical': 0.12316399407087994, 'mean_word_length': 1.7038251366120218, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5477050', 'n_tokens_mistral': 3789, 'n_tokens_neox': 3760, 'n_words': 351}