input: Write a python function to implement a priority queue with insertion and deletion operations.
  assert __str__(PriorityQueue()) == ''
  pq = PriorityQueue()
  pq.insert(3)
  pq.insert(1)
  pq.insert(4)
  pq.insert(1)
  pq.insert(5)
  assert str(pq) == '3 1 4 1 5'
  assert pq.delete() == 5
  assert str(pq) == '3 1 4 1'
  assert pq.delete() == 4
  assert str(pq) == '3 1 1'
output: import heapq
  
  class PriorityQueue:
      def __init__(self):
          self._queue = []
      
      def insert(self, item):
          heapq.heappush(self._queue, -item)
      
      def delete(self):
          return -heapq.heappop(self._queue)
  
      def __str__(self):
          return ' '.join(map(str, [-x for x in self._queue]))