Harryxun/testdata huggingface dataset:
Buggy python submission (verdict: Runtime Error):
a,b=raw_input().split(" ")
if a<b: print("a < b")
elif a==b: print("a == b")
else a>b: print("a > b")

Fixed submission:
a,b = input().split(" ")
a=int(a)
b=int(b)
if a<b :
	print("a < b")
elif a>b :
	print("a > b")
else :
	print("a == b")

Buggy python submission (verdict: Runtime Error):
a,b=raw_input().split(" ")
if a<b: print("a < b")
elif a>b: print("a > b")
else print("a == b")

Fixed submission:
a,b = input().split(" ")
a=int(a)
b=int(b)
if a<b :
	print("a < b")
elif a>b :
	print("a > b")
else :
	print("a == b")
Buggy python submission (verdict: Runtime Error):
import math

r = int(raw_input())
print "%f %f" % (r * r *math.pi, 2 * r *math.pi)

Fixed submission:
import math

r = float(raw_input())
print "%f %f" % (r * r *math.pi, 2 * r *math.pi)
Buggy python submission (verdict: Runtime Error):
while True:
    a = raw_input.split(" ")
    a.sort()
    s = "%d %d" % (a[0],a[1])
    if s == "0 0":
        break
    print s

Fixed submission:
while True:
    a = map(int,raw_input().split(" "))
    a.sort()
    s = "%d %d" % (a[0], a[1])
    if s == "0 0":
        break
    print s

Buggy python submission (verdict: Runtime Error):
while True:
    a = raw_input().split(" ")
    a.sort()
    s = "%d %d" % (a[0],a[1])
    if s == "0 0":
        break
    print s

Fixed submission:
while True:
    a = map(int,raw_input().split(" "))
    a.sort()
    s = "%d %d" % (a[0], a[1])
    if s == "0 0":
        break
    print s
Buggy python submission (verdict: Runtime Error):
alpha = []
for i in range(26):
    alpha.append(0)

while True:
    for char in raw_input().upper():
        if char == '\0':
            break
        if char.isupper():
            alpha[ord(char) - 65] += 1

for i in range(26):
    print chr(i + 97) + " : " + str(alpha[i])

Fixed submission:
import sys

alpha = []
for i in range(27):
    alpha.append(0)

for line in sys.stdin:
    for char in line.upper():
        if char == '\0':
            break
        if char.isupper():
            alpha[ord(char) - 65] += 1

for i in range(26):
    print chr(i + 97) + " : " + str(alpha[i])
Buggy python submission (verdict: Runtime Error):
import math

s = map(int,raw_input().split(" "))
print math.sqrt((s[0] - s[2]) ** 2 + (s[1] - s[3]) ** 2)

Fixed submission:
import math

s = map(float,raw_input().split(" "))
print math.sqrt((s[0] - s[2]) ** 2 + (s[1] - s[3]) ** 2)
Buggy python submission (verdict: Time Limit Exceeded):
def hoge(n):
 return n.isdigit();

raw_input()
a = map(int,raw_input().split(" "))
raw_input()
b = map(int,filter(hoge,raw_input().split(" ")))

result = 0
for i in b:
    if i in a:
        result += 1

print result

Fixed submission:
def hoge(n):
    return n.isdigit();

raw_input()
a = map(int,filter(hoge,raw_input().split(" ")))
a.sort()
raw_input()
b = map(int,filter(hoge,raw_input().split(" ")))

result = 0
for i in b:
    for j in a:
        if i < j:
            break
        if i == j:
            result += 1
            break

print result
Buggy python submission (verdict: Runtime Error):
raw_input()
a = map(int,raw_input().split(" "))
raw_input()
b = map(int,raw_input().split(" "))

result = 0
for i in b:
    if i in a:
        result += 1

print result

Fixed submission:
def hoge(n):
 return n.isdigit();

raw_input()
a = map(int,raw_input().split(" "))
raw_input()
b = map(int,filter(hoge,raw_input().split(" ")))

result = 0
for i in b:
    if i in a:
        result += 1

print result

Buggy python submission (verdict: Runtime Error):
raw_input()
a = map(int,raw_input().split(" "))
raw_input()
b = map(int,raw_input().split(" "))

result = 0
for i in b:
    if i in a:
        result += 1

print result

Fixed submission:
def hoge(n):
 return n.isdigit();

raw_input()
a = map(int,raw_input().split(" "))
raw_input()
b = map(int,filter(hoge,raw_input().split(" ")))

result = 0
for i in b:
    if i in a:
        result += 1

print result
Buggy python submission (verdict: Runtime Error):
stack = []
n = int(raw_input())
for i in range(n):
    stack.append([])

while True:
    s = raw_input()
    if s.find("push") != -1:
        stack[int(s[5])-1].append(s[7])
    elif s.find("pop") != -1:
        print stack[int(s[4])-1][len(stack[int(s[4])-1])-1]
        stack[int(s[4])-1].pop()
    elif s.find("move") != -1:
        stack[int(s[7])-1].append(stack[int(s[5])-1][len(stack[int(s[5])-1])-1])
        stack[int(s[5])-1].pop()
    else :
        break

Fixed submission:
stack = []
n = int(raw_input())
for i in range(n):
    stack.append([])

while True:
    s = raw_input().split(" ")
    if s[0] == "push":
        stack[int(s[1])-1].append(s[2])
    elif s[0] == "pop":
        print stack[int(s[1])-1][len(stack[int(s[1])-1])-1]
        stack[int(s[1])-1].pop()
    elif s[0] == "move":
        stack[int(s[2])-1].append(stack[int(s[1])-1][len(stack[int(s[1])-1])-1])
        stack[int(s[1])-1].pop()
    else :
        break
Buggy python submission (verdict: Time Limit Exceeded):
import sys

for line in sys.stdin:
    n = int(line)
    l = range(2,n+1)
    i = 2
    while i * i <= n: 
        l = filter(lambda x: x == i or x % i != 0, l)
        i = i + 1

    print len(l)

Fixed submission:
# -*- coding: utf-8 -*-
import sys

def prime_list(n):
    l = range(2,n+1)
    i = 2
    while i * i <= n: 
        l = filter(lambda x: x == i or x % i != 0, l)
        i = i + 1
    return l

def mark(s, x):
    for i in xrange(x + x, len(s), x):
        s[i] = False

def sieve(n):
    s = [True] * n
    for x in xrange(2, int(n**0.5) + 1):
        if s[x]: mark(s, x)
    return [i for i in xrange(0,n) if s[i] and i > 1]

if __name__ == '__main__':
    l = sieve(999999)
    for line in sys.stdin:
        n = int(line)
        print len([x for x in l if x <= n])

Buggy python submission (verdict: Time Limit Exceeded):
import sys

def prime_list(n):
    l = range(2,n+1)
    i = 2
    while i * i <= n: 
        l = filter(lambda x: x == i or x % i != 0, l)
        i = i + 1
    return l

if __name__ == '__main__':
    l = prime_list(999999)
    for line in sys.stdin:
        n = int(line)
        print len([x for x in l if x <= n])

Fixed submission:
# -*- coding: utf-8 -*-
import sys

def prime_list(n):
    l = range(2,n+1)
    i = 2
    while i * i <= n: 
        l = filter(lambda x: x == i or x % i != 0, l)
        i = i + 1
    return l

def mark(s, x):
    for i in xrange(x + x, len(s), x):
        s[i] = False

def sieve(n):
    s = [True] * n
    for x in xrange(2, int(n**0.5) + 1):
        if s[x]: mark(s, x)
    return [i for i in xrange(0,n) if s[i] and i > 1]

if __name__ == '__main__':
    l = sieve(999999)
    for line in sys.stdin:
        n = int(line)
        print len([x for x in l if x <= n])
Buggy python submission (verdict: Runtime Error):
import sys

for line in sys.stdin.readline():
	a, b = map(int, line)
	print a + b

Fixed submission:
import sys

for line in sys.stdin.readlines():
	a, b = map(int, line.split())
	print a + b

Buggy python submission (verdict: Runtime Error):
import sys

for line in sys.stdin.readline():
	a, b = map(int, line.split())
	print a + b

Fixed submission:
import sys

for line in sys.stdin.readlines():
	a, b = map(int, line.split())
	print a + b

Buggy python submission (verdict: Runtime Error):
import sys

for line in sys.stdin.readline():
	a, b = map(int, line.split())
	print a + b

Fixed submission:
import sys

for line in sys.stdin.readlines():
	a, b = map(int, line.split())
	print a + b
Buggy python submission (verdict: Runtime Error):
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import itertools
import math
from collections import Counter, defaultdict

class Main(object):
    
    def __init__(self):
        pass

    def solve(self):
        '''
        insert your code
        '''
        prime = self.sieve(1299709)
        while True:
            n = input()
            if prime[n]:
                print 0
            else:
                lower = upper = n
                while not prime[lower]:
                    lower -= 1
                while not prime[upper]:
                    upper += 1
                print upper - lower
        
        return None

    def sieve(self, n):
        f = [True for i in xrange(n+1)]
        f[0] = False
        f[1] = False
        i = 2
        while i * i <= n:
            if f[i]:
                j = 2
                while i * j <= n:
                    f[i * j] = False
                    j += 1
            i += 1
        return f


if __name__ == '__main__':
    m = Main()
    m.solve()

Fixed submission:
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import itertools
import math
from collections import Counter, defaultdict

class Main(object):
    
    def __init__(self):
        pass

    def solve(self):
        '''
        insert your code
        '''
        prime = self.sieve(1299709)
        while True:
            n = input()
            if n == 0:
                break
            if prime[n]:
                print 0
            else:
                lower = upper = n
                while not prime[lower]:
                    lower -= 1
                while not prime[upper]:
                    upper += 1
                print upper - lower
        
        return None

    def sieve(self, n):
        f = [True for i in xrange(n+1)]
        f[0] = False
        f[1] = False
        i = 2
        while i * i <= n:
            if f[i]:
                j = 2
                while i * j <= n:
                    f[i * j] = False
                    j += 1
            i += 1
        return f


if __name__ == '__main__':
    m = Main()
    m.solve()
Buggy python submission (verdict: Runtime Error):
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import itertools
import math
from collections import Counter, defaultdict

class Main(object):
    
    def __init__(self):
        pass

    def solve(self):
        '''
        insert your code
        '''
        while True:
            n, m, a = map(int, raw_input().split())
            if n == 0 and m == 0 and a == 0:
                break
            adj = [[] for i in range(m)]
            for i in range(m):
                h, p, q = map(int, raw_input().split())
                adj[h].append((p, q))

            for e in reversed(adj):
                for p, q in e:
                    if p == a:
                        a = q
                    elif q == a:
                        a = p
            print a
                    
        return None

if __name__ == '__main__':
    m = Main()
    m.solve()

Fixed submission:
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import itertools
import math
from collections import Counter, defaultdict

class Main(object):
    
    def __init__(self):
        pass

    def solve(self):
        '''
        insert your code
        '''
        while True:
            n, m, a = map(int, raw_input().split())
            if n == 0 and m == 0 and a == 0:
                break
            adj = []
            for i in range(m):
                h, p, q = map(int, raw_input().split())
                adj.append((h, p, q))
            adj.sort(reverse=True)
            # print adj
            for h, p, q in adj:
                if p == a:
                    a = q
                elif q == a:
                    a = p
            print a
        return None

if __name__ == '__main__':
    m = Main()
    m.solve()
Buggy python submission (verdict: Runtime Error):
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import itertools
import math
from collections import Counter, defaultdict

class Main(object):
    
    def __init__(self):
        pass

    def solve(self):
        '''
        insert your code
        '''
        while True:
            t, n = map(int, raw_input().split())
            if t == n == 0:
                break
            obs = []
            for i in range(n):
                x, y = map(int, raw_input().split())
                obs.append((x, y))
            sx, sy = map(int, raw_input().split())
            q = [(sx, sy, 0)]
            visited = set([(sx, sy)])
            d = [(1, 0), (1, 1), (0, 1), (-1, 0), (-1, -1), (0, -1)]
            while q:
                x, y, turn = q.pop(0)
                if turn >= t:
                    break
                for dx, dy in d:
                    if not (x + dx, y + dy) in obs:
                        visited.add((x + dx, y + dy))
                        q.append((x + dx, y + dy, turn + 1))
            # print visited
            print len(visited)
        return None

if __name__ == '__main__':
    m = Main()
    m.solve()

Fixed submission:
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import itertools
import math
from collections import Counter, defaultdict

class Main(object):
    
    def __init__(self):
        pass

    def solve(self):
        '''
        insert your code
        '''
        while True:
            t, n = map(int, raw_input().split())
            if t == n == 0:
                break
            obs = []
            for i in range(n):
                x, y = map(int, raw_input().split())
                obs.append((x, y))
            sx, sy = map(int, raw_input().split())
            q = [(sx, sy, 0)]
            visited = set([(sx, sy)])
            d = [(1, 0), (1, 1), (0, 1), (-1, 0), (-1, -1), (0, -1)]
            while q:
                x, y, turn = q.pop(0)
                if turn >= t:
                    break
                for dx, dy in d:
                    if not (x + dx, y + dy) in obs and not (x + dx, y + dy) in visited:
                        visited.add((x + dx, y + dy))
                        q.append((x + dx, y + dy, turn + 1))
            # print visited
            print len(visited)
        return None

if __name__ == '__main__':
    m = Main()
    m.solve()
Buggy python submission (verdict: Runtime Error):
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import itertools
import math
from collections import Counter, defaultdict

class Main(object):
    
    def __init__(self):
        self.chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']

    def solve(self):
        '''
        insert your code
        '''
        while True:
            n = input()
            if n == 0:
                break
            k = map(int, raw_input().split())
            s = raw_input()
            ans = ''
            for i in range(len(s)):
                ans += self.chars[self.chars.index(s[i]) - k[i % len(k)]]
            print ans
        return None

if __name__ == '__main__':
    m = Main()
    m.solve()

Fixed submission:
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import itertools
import math
from collections import Counter, defaultdict

class Main(object):
    
    def __init__(self):
        self.chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']

    def solve(self):
        '''
        insert your code
        '''
        while True:
            n = input()
            if n == 0:
                break
            k = map(int, raw_input().split())
            s = raw_input()
            ans = ''
            for i in range(len(s)):
                ans += self.chars[self.chars.index(s[i]) - k[i % len(k)]]
            print ans
        return None

if __name__ == '__main__':
    m = Main()
    m.solve()
Buggy python submission (verdict: Runtime Error):
#!/usr/bin/python


def datasets():
    s = raw_input().strip()
    yield s
    
def main():
    for s in datasets():
        import s.lower()
        
if __name__ == '__main__':
    main()

Fixed submission:
#!/usr/bin/python


def datasets():
    s = raw_input().strip()
    yield s
    
def main():
    for s in datasets():
        print s.upper()
        
if __name__ == '__main__':
    main()
Buggy python submission (verdict: Runtime Error):
from math import PI
r = float(raw_input())
print "%f %f" % (r*r*PI, 2*PI*r)

Fixed submission:
from math import pi
r = float(raw_input())
print "%f %f" % (r*r*pi, 2*pi*r)

Buggy python submission (verdict: Runtime Error):
from math import pi
r = float(raw_input())
print "%f %f" % (r*r*pi, 2*PI*r)

Fixed submission:
from math import pi
r = float(raw_input())
print "%f %f" % (r*r*pi, 2*pi*r)
Buggy python submission (verdict: Runtime Error):
def datasets():
    while True:
        h, w = [int(nv) for nv in raw_input().split()]
        if h == w == 0:
            return
        yield h, w

for h, w in datasets():
    print '#'*w
    for i in range(h-2)
        print '#' + ' '*(w-2) + '#'
    print '#'*w

Fixed submission:
from __future__ import print_function

FC = '#'
PC = '.'

def bothends(f):
    def _func(self):
        print(FC, end='')
        f(self)
        print(FC)
    return _func

class Frame:
    c = FC
    s = PC
    def __init__(self, w, h):
        self.w = w
        self.h = h
        
    @bothends
    def _draw(self):
        print(self.s * (self.w - 2), end='')

    def draw(self):
        for i in range(self.h - 2):
            self._draw()

    def __enter__(self):
        print(self.c * self.w)
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        print(self.c * self.w)
        return True

while True:
    w, h = [ int(s) for s in raw_input().split() ]
    if w == h == 0:
        break
    with Frame(h, w) as fr:
        fr.draw()
    print()

Buggy python submission (verdict: Runtime Error):
FC = '#'
PC = '.'

def bothends(f):
    def _func(self):
        print(FC, end='')
        f(self)
        print(FC)
    return _func

class Frame:
    c = FC
    s = PC
    def __init__(self, w, h):
        self.w = w
        self.h = h
        
    @bothends
    def _draw(self):
        print(self.s * (self.w - 2), end='')

    def draw(self):
        for i in range(self.h - 2):
            self._draw()

    def __enter__(self):
        print(self.c * self.w)
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        print(self.c * self.w)
        return True

while True:
    w, h = [ int(s) for s in input().split() ]
    if w == h == 0:
        break
    with Frame(w, h) as fr:
        fr.draw()
    print()

Fixed submission:
from __future__ import print_function

FC = '#'
PC = '.'

def bothends(f):
    def _func(self):
        print(FC, end='')
        f(self)
        print(FC)
    return _func

class Frame:
    c = FC
    s = PC
    def __init__(self, w, h):
        self.w = w
        self.h = h
        
    @bothends
    def _draw(self):
        print(self.s * (self.w - 2), end='')

    def draw(self):
        for i in range(self.h - 2):
            self._draw()

    def __enter__(self):
        print(self.c * self.w)
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        print(self.c * self.w)
        return True

while True:
    w, h = [ int(s) for s in raw_input().split() ]
    if w == h == 0:
        break
    with Frame(h, w) as fr:
        fr.draw()
    print()
Buggy python submission (verdict: Runtime Error):
a, b = [int(nv) fo nv in raw_input().split()]
print int(a/b)
print int(a%b)
print a/b

Fixed submission:
a, b = [int(nv) for nv in raw_input().split()]
print "%d %d %f" % (int(a/b), int(a%b), float(a)/b)
Buggy python submission (verdict: Runtime Error):
raw_input()
an = raw_input().split()
ran = an.reverse()
print [a + ' ' for a in ran][:-1]

Fixed submission:
raw_input()
an = raw_input().split()
an.reverse()
print ' '.join(an)

Buggy python submission (verdict: Runtime Error):
raw_input()
ran = raw_input().split().reversed()
print [a + ' ' for a in ran][:-1]

Fixed submission:
raw_input()
an = raw_input().split()
an.reverse()
print ' '.join(an)
Buggy python submission (verdict: Runtime Error):
import sys
def datasets(n):
    for i in range(n)
        type, rank = raw_input().split()
        yield type, rank

db = { 'S' : [False] * 13,
       'H' : [False] * 13,
       'C' : [False] * 13,
       'D' : [False] * 13 }

n = int(raw_input())
for type, rank in datasets(n):
    db[type][rank-1] = True

for type in db:
    count = 0
    for card in db[type]:
        if not db[type][card]:
            count += 1
    print count

Fixed submission:
def datasets(n):
    for i in range(n):
        type, rank = raw_input().split()
        yield type, rank
db = {'S' : [False] * 13,
      'H' : [False] * 13,
      'C' : [False] * 13,
      'D' : [False] * 13 }

n = int(raw_input())

for type, rank in datasets(n):
    db[type][int(rank)-1] = True

for type in ['S', 'H', 'C', 'D']:
    for num, card in enumerate(db[type]):
        if card == False:
            print type, (num+1)

Buggy python submission (verdict: Runtime Error):
import sys
def datasets(n):
    for i in range(n)
        type, rank = raw_input().split()
        yield type, rank

db = { 'S' : [False] * 13,
       'H' : [False] * 13,
       'C' : [False] * 13,
       'D' : [False] * 13 }

n = int(raw_input())
for type, rank in datasets(n):
    db[type][rank-1] = True

for type in db:
    count = 0
    for card in db[type]:
        if not db[type][card]:
            count += 1
    print type, count

Fixed submission:
def datasets(n):
    for i in range(n):
        type, rank = raw_input().split()
        yield type, rank
db = {'S' : [False] * 13,
      'H' : [False] * 13,
      'C' : [False] * 13,
      'D' : [False] * 13 }

n = int(raw_input())

for type, rank in datasets(n):
    db[type][int(rank)-1] = True

for type in ['S', 'H', 'C', 'D']:
    for num, card in enumerate(db[type]):
        if card == False:
            print type, (num+1)

Buggy python submission (verdict: Runtime Error):
def datasets(n):
    for i in range(n):
        type, rank = input().split()
        yield type, rank
db = {'S' : [False] * 13, 'H' : [False] * 13, 'C' : [False] * 13, 'D' : [False] * 13 }
n = int(input())
for type, rank in datasets(n):
    db[type][int(rank)-1] = True
print(db.keys())
for type in ['S', 'H', 'C', 'D']:
    for num, card in enumerate(db[type]):
        if card == False:
            print(type, (num+1))

Fixed submission:
def datasets(n):
    for i in range(n):
        type, rank = raw_input().split()
        yield type, rank
db = {'S' : [False] * 13,
      'H' : [False] * 13,
      'C' : [False] * 13,
      'D' : [False] * 13 }

n = int(raw_input())

for type, rank in datasets(n):
    db[type][int(rank)-1] = True

for type in ['S', 'H', 'C', 'D']:
    for num, card in enumerate(db[type]):
        if card == False:
            print type, (num+1)
Buggy python submission (verdict: Runtime Error):
x1, y1, x2, y2 = [int(iv) for iv in raw_input().split()]
print sqrt(abs(x2-x1)^2 + abs(y2-y1)^2)

Fixed submission:
from math import sqrt
x1, y1, x2, y2 = [float(iv) for iv in raw_input().split()]
print sqrt(abs(x2-x1)**2 + abs(y2-y1)**2)

Buggy python submission (verdict: Runtime Error):
x1, y1, x2, y2 = [int(iv) for iv in raw_input().split()]
print sqrt(abs(x2-x1)**2 + abs(y2-y1)**2)

Fixed submission:
from math import sqrt
x1, y1, x2, y2 = [float(iv) for iv in raw_input().split()]
print sqrt(abs(x2-x1)**2 + abs(y2-y1)**2)

Buggy python submission (verdict: Runtime Error):
from math import sqrt
x1, y1, x2, y2 = [float(iv) for iv in input().split()]
print(sqrt(abs(x2-x1)**2 + abs(y2-y1)**2))

Fixed submission:
from math import sqrt
x1, y1, x2, y2 = [float(iv) for iv in raw_input().split()]
print sqrt(abs(x2-x1)**2 + abs(y2-y1)**2)

Buggy python submission (verdict: Runtime Error):
from math import sqrt
x1, y1, x2, y2 = [float(iv) for iv in input().split()]
print sqrt(abs(x2-x1)**2 + abs(y2-y1)**2)

Fixed submission:
from math import sqrt
x1, y1, x2, y2 = [float(iv) for iv in raw_input().split()]
print sqrt(abs(x2-x1)**2 + abs(y2-y1)**2)