code: 
  '''simple docstring'''
  
  from __future__ import annotations
  
  from statistics import mean
  
  
  def 	_UpperCAmelCase				(  _lowerCamelCase						:       list[int]		)    ->						list[int]:
    _lowerCAmelCase       :  List[Any]   				=					2
    _lowerCAmelCase       :  str   				=					list(_lowerCamelCase		)
    _lowerCAmelCase       :  int   				=					[0] * len(_lowerCamelCase		)
    _lowerCAmelCase       :  Optional[Any]   				=					0
    while True:
      _lowerCAmelCase       :  Union[str, Any]   				=					True
      for i, burst_time in enumerate(_lowerCamelCase		):
        if rem_burst_times[i] > 0:
          _lowerCAmelCase       :  Any   				=					False
          if rem_burst_times[i] > quantum:
            t += quantum
            rem_burst_times[i] -= quantum
          else:
            t += rem_burst_times[i]
            _lowerCAmelCase       :  Tuple   				=					t - burst_time
            _lowerCAmelCase       :  Dict   				=					0
      if done is True:
        return waiting_times
  
  
  def 	_UpperCAmelCase				(  _lowerCamelCase						:       list[int]  ,      _lowerCamelCase						:       list[int]		)    ->						list[int]:
    return [burst + waiting for burst, waiting in zip(_lowerCamelCase  ,      _lowerCamelCase		)]
  
  
  if __name__ == "__main__":
       UpperCamelCase_     			=       [3, 5, 7]
       UpperCamelCase_     			=       calculate_waiting_times(burst_times)
       UpperCamelCase_     			=       calculate_turn_around_times(burst_times, waiting_times)
       print("""Process ID \tBurst Time \tWaiting Time \tTurnaround Time""")
       for i, burst_time in enumerate(burst_times):
            print(
                F'  {i + 1}\t\t  {burst_time}\t\t  {waiting_times[i]}\t\t  '
                F'{turn_around_times[i]}'
            )
       print(F'\nAverage waiting time = {mean(waiting_times):.5f}')
       print(F'Average turn around time = {mean(turn_around_times):.5f}')
  
  
  
style_context: 
  '''simple docstring'''
  
  from cva import COLOR_BGR2GRAY, cvtColor, imread, imshow, waitKey
  from numpy import divide, inta, multiply, ravel, sort, zeros_like
  
  
  def 	_UpperCAmelCase				(  _lowerCamelCase						:       str  ,      _lowerCamelCase						:       List[Any]=3		)    ->						Union[str, Any]:
    _lowerCAmelCase       :  str   				=					int(mask / 2		)
    # copy image size
    _lowerCAmelCase       :  Dict   				=					zeros_like(_lowerCamelCase		)
    for i in range(_lowerCamelCase  ,      gray_img.shape[0] - bd		):
      for j in range(_lowerCamelCase  ,      gray_img.shape[1] - bd		):
        # get mask according with mask
        _lowerCAmelCase       :  Union[str, Any]   				=					ravel(gray_img[i - bd : i + bd + 1, j - bd : j + bd + 1]		)
        # calculate mask median
        _lowerCAmelCase       :  str   				=					sort(_lowerCamelCase		)[inta(divide((multiply(_lowerCamelCase  ,      _lowerCamelCase		))  ,      2		) + 1		)]
        _lowerCAmelCase       :  Dict   				=					median
    return median_img
  
  
  if __name__ == "__main__":
       # read original image
       UpperCamelCase_     			=       imread("""../image_data/lena.jpg""")
       # turn image in gray scale value
       UpperCamelCase_     			=       cvtColor(img, COLOR_BGR2GRAY)
  
       # get values with two different mask size
       UpperCamelCase_     			=       median_filter(gray, 3)
       UpperCamelCase_     			=       median_filter(gray, 5)
  
       # show result images
       imshow("""median filter with 3x3 mask""", medianaxa)
       imshow("""median filter with 5x5 mask""", medianaxa)
       waitKey(0)
  
  
  