output_description: Print the area of this yard excluding the roads (in square yards).
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      A B
attempt: from copy import deepcopy
  from sys import exit, setrecursionlimit
  import math
  from collections import defaultdict, Counter, deque
  from fractions import Fraction as frac
  
  setrecursionlimit(1000000)
  
  
  def main():
      a, b = map(int, input().split())
      print((a - 1) * (b - 1))
  
  
  def zip(a):
      mae = a[0]
      ziparray = [mae]
      for i in range(1, len(a)):
          if mae != a[i]:
              ziparray.append(a[i])
              mae = a[i]
      return ziparray
  
  
  def is_prime(n):
      if n < 2:
          return False
  
      for k in range(2, int(math.sqrt(n)) + 1):
          if n % k == 0:
              return False
  
      return True
  
  
  def list_replace(n, f, t):
      return [t if i == f else i for i in n]
  
  
  def base_10_to_n(X, n):
      X_dumy = X
      out = ""
      while X_dumy > 0:
          out = str(X_dumy % n) + out
          X_dumy = int(X_dumy / n)
      if out == "":
          return "0"
      return out
  
  
  def gcd(l):
      x = l.pop()
      y = l.pop()
      while x % y != 0:
          z = x % y
          x = y
          y = z
      l.append(min(x, y))
      return gcd(l) if len(l) > 1 else l[0]
  
  
  class Queue:
      def __init__(self):
          self.q = deque([])
  
      def push(self, i):
          self.q.append(i)
  
      def pop(self):
          return self.q.popleft()
  
      def size(self):
          return len(self.q)
  
      def debug(self):
          return self.q
  
  
  class Stack:
      def __init__(self):
          self.q = []
  
      def push(self, i):
          self.q.append(i)
  
      def pop(self):
          return self.q.pop()
  
      def size(self):
          return len(self.q)
  
      def debug(self):
          return self.q
  
  
  class graph:
      def __init__(self):
          self.graph = defaultdict(list)
  
      def addnode(self, l):
          f, t = l[0], l[1]
          self.graph[f].append(t)
          self.graph[t].append(f)
  
      def rmnode(self, l):
          f, t = l[0], l[1]
          self.graph[f].remove(t)
          self.graph[t].remove(f)
  
      def linked(self, f):
          return self.graph[f]
  
  
  class dgraph:
      def __init__(self):
          self.graph = defaultdict(set)
  
      def addnode(self, l):
          f, t = l[0], l[1]
          self.graph[f].append(t)
  
      def rmnode(self, l):
          f, t = l[0], l[1]
          self.graph[f].remove(t)
  
      def linked(self, f):
          return self.graph[f]
  
  
  main()
  
problem_description: Statement
  
  There is a farm whose length and width are A yard and B yard, respectively. A
  farmer, John, made a vertical road and a horizontal road inside the farm from
  one border to another, as shown below: (The gray part represents the roads.)
  
  ![ ](https://img.atcoder.jp/ghi/27d063746b460f1132b6a99aa535a562.png)
  
  What is the area of this yard excluding the roads? Find it.
samples: [{"input": "2 2", "output": "1\n    \n\nIn this case, the area is 1 square yard.\n\n* * *"}, {"input": "5 7", "output": "24\n    \n\nIn this case, the area is 24 square yards."}]