Fillomino rules

Fillomino is a puzzle type originally created by Nikoli.

Place numbers into each square so that the grid is divided into regions. Each region has the same size as the number it contains, and it may contain zero, one or multiple givens. Two regions of the same size may not touch.

See this example puzzle and its only solution.