Explain what output = {**input} does in python where input is a dict. code example

Example: how to input key and values to empty dictionary in python

>>> fruits = {}
>>> key1 = input("Enter first key for fruits:")
Enter first key for fruits:a
>>> value1 = input("Enter first value for fruits:")
Enter first value for fruits:apple
>>> key2 = input("Enter second key for fruits:")
Enter second key for fruits:b
>>> value2 = input("Enter second value for fruits:")
Enter second value for fruits:banana
>>> fruits[key1] = value1
>>> fruits
{'a': 'apple'}
>>> fruits[key2] = value2
>>> fruits
{'a': 'apple', 'b': 'banana'}
>>># Same variable names for keys and values can be used if used inside a loop like this
>>> fruits.clear()
>>> fruits
{}
>>> for i in range(2):
	key = input("Enter key for fruits:")
	value = input("Enter value for fruits:")
	fruits[key] = value
    
Enter key for fruits:a
Enter value for fruits:apple
Enter key for fruits:b
Enter value for fruits:banana
>>> fruits
{'a': 'apple', 'b': 'banana'}