code: 
  '''simple docstring'''
  
  
  
  
  
  from __future__ import annotations
  
  def   snake_case_       (							_a     :							list[int]			):
        snake_case_						       =							[0] * len(lowercase_			)
        for i in range(1 ,					len(lowercase_			)			):
              snake_case_						       =							duration_times[i - 1] + waiting_times[i - 1]
        return waiting_times
  
  def   snake_case_       (							_a     :							list[int] ,					_a     :							list[int]			):
        return [
            duration_time + waiting_times[i]
            for i, duration_time in enumerate(lowercase_			)
        ]
  
  def   snake_case_       (							_a     :							list[int]			):
        return sum(lowercase_			) / len(lowercase_			)
  
  def   snake_case_       (							_a     :							list[int]			):
        return sum(lowercase_			) / len(lowercase_			)
  
  
  if __name__ == "__main__":
       # process id's
       A           =   [1, 2, 3]
  
       # ensure that we actually have processes
       if len(processes) == 0:
            print("Zero amount of processes")
            raise SystemExit(0)
  
       # duration time of all processes
       A           =   [1_9, 8, 9]
  
       # ensure we can match each id to a duration time
       if len(duration_times) != len(processes):
            print("Unable to match all id\'s with their duration time")
            raise SystemExit(0)
  
       # get the waiting times and the turnaround times
       A           =   calculate_waiting_times(duration_times)
       A           =   calculate_turnaround_times(duration_times, waiting_times)
  
       # get the average times
       A           =   calculate_average_waiting_time(waiting_times)
       A           =   calculate_average_turnaround_time(turnaround_times)
  
       # print all the results
       print("Process ID\tDuration Time\tWaiting Time\tTurnaround Time")
       for i, process in enumerate(processes):
            print(
                F"""{process}\t\t{duration_times[i]}\t\t{waiting_times[i]}\t\t"""
                F"""{turnaround_times[i]}"""
            )
       print(F"""Average waiting time = {average_waiting_time}""")
       print(F"""Average turn around time = {average_turnaround_time}""")
  
  
style_context: 
  '''simple docstring'''
  
  
  
  
  
  def   snake_case_       (							_a     :							List[str] ,					_a     :							List[str]			):
        snake_case_						       =							1
        while b > 0:
              if b & 1:
                    res *= a
  
              a *= a
              b >>= 1
  
        return res
  def   snake_case_       (							_a     :							Union[str, Any] ,					_a     :							Tuple ,					_a     :							Optional[Any]			):
        snake_case_						       =							1
        while b > 0:
              if b & 1:
                    snake_case_						       =							((res % c) * (a % c)) % c
  
              a *= a
              b >>= 1
  
        return res
  
  