diff --git a/polynomial.py b/polynomial.py
index 235facc209afac728561d0d7a5aad07960d952f1..c2ccbb8de9c6299974773aedc6a16e086de4d17e 100644
--- a/polynomial.py
+++ b/polynomial.py
@@ -60,20 +60,10 @@ class Polynomial:
         a = list(self.value)
         b = list(other.value)
 
-        a_count = len(a)
-        b_count = len(b)
-        if a_count > b_count:
-            diff = a_count - b_count
-            for x in range(diff):
-                b.append(0)
-        else:
-            diff = b_count - a_count
-            for x in range(diff):
-                a.append(0)
-
-        c = [0] * len(a)
-        for x in range(len(a)):
-            c[x] = a[x] + b[x]
+        c = []
+        # itertools pad 0 to the lowest list
+        for (a, b) in itertools.zip_longest(a, b, fillvalue=0):
+            c.append(a + b)
 
         return Polynomial(tuple(c))