input: Write a function to add and subtract fractions using the provided Fraction class.
  assert str(Fraction(1, 2) + Fraction(1, 3)) == "5/6"
  assert str(Fraction(1, 2) - Fraction(1, 3)) == "1/6"
  assert str(Fraction(2, 3) + Fraction(3, 4)) == "17/12"
  assert str(Fraction(2, 3) - Fraction(3, 4)) == "-1/12"
output: from math import gcd
  
  class Fraction:
      def __init__(self, numerator, denominator):
          self.numerator = numerator
          self.denominator = denominator
          self._reduce()
  
      def _reduce(self):
          common_divisor = gcd(self.numerator, self.denominator)
          self.numerator //= common_divisor
          self.denominator //= common_divisor
  
      def __add__(self, other):
          numerator = self.numerator * other.denominator + other.numerator * self.denominator
          denominator = self.denominator * other.denominator
          return Fraction(numerator, denominator)
  
      def __sub__(self, other):
          numerator = self.numerator * other.denominator - other.numerator * self.denominator
          denominator = self.denominator * other.denominator
          return Fraction(numerator, denominator)
  
      def __str__(self):
          return f"{self.numerator}/{self.denominator}"