input: def sierpinski_triangle(n): 
      """Generate the first n elements of the Sierpinski triangle.
      >>> sierpinski_triangle(2)
          1 
        1 0 1
        
      >>> sierpinski_triangle(3)
          1 
        1 0 1 
      1 0 1 0 1 
      """
output:     if n <= 0:
          return
  
      triangle = [[1]]
      for i in range(1, n):
          row = [1]
          for j in range(1, i):
              row.append(triangle[i-1][j-1] ^ triangle[i-1][j])
          row.append(1)
          triangle.append(row)
  
      max_width = len(' '.join(map(str, triangle[-1])))
      for row in triangle:
          row_str = ' '.join(map(str, row))
          print(row_str.center(max_width))