input: Write a function to generate a multiplication table with numbers in a range given start and end parameters. If the start or end is less than 0, return an empty list. The output should be a list of lists where each sublist corresponds to one row in the multiplication table.
  
  def multiplication_table(start, end):
  	if start < 0 or end < 0:
  		return []
  	table = []
  	for x in range(start, end + 1):
  		row = []
  		for y in range(start, end + 1):
  			row.append(x * y)
  		table.append(row)
  	return table
  
  assert multiplication_table(5, 10) == [
  	[25, 30, 35, 40, 45, 50],
  	[30, 36, 42, 48, 54, 60],
  	[35, 42, 49, 56, 63, 70],
  	[40, 48, 56, 64, 72, 80],
  	[45, 54, 63, 72, 81, 90],
  	[50, 60, 70, 80, 90, 100]
  ]
  assert multiplication_table(2, 4) == [
  	[4, 6, 8],
  	[6, 9, 12],
  	[8, 12, 16]
  ]
  assert multiplication_table(-3, 3) == []
  assert multiplication_table(7, 5) == []
  assert multiplication_table(0, 1) == [
  	[0, 0],
  	[0, 1]
  ]
output: def multiplication_table(start, end):
  	if start < 0 or end < 0:
  		return []
  	table = []
  	for x in range(start, end + 1):
  		row = []
  		for y in range(start, end + 1):
  			row.append(x * y)
  		table.append(row)
  	return table