#Perl 5, 41 bytes

39 bytes plus two for the `-lF` flags (`-M5.01` is free): `perl -lF -M5.01 script.pl`



* `-lF` reads the input, removes the trailing newline, puts the remainder into the string `$_`, splits it up into characters, and puts that split into the array `@F`.
* `/#+/` finds the first string of `#`s in `$_` and sets <code>$&#x60;</code> equal to the stuff before it and `$'` equal to the stuff after it. If <code>$&#x60;</code> is empty then `$'` may contain more `#`s. However, <code>$'.$&#x60;</code> is a string whose initial substring is the number of times to rotate the array.
* Now we build the list <code>1..$'.$&#x60;</code>, which treats <code>$'.$&#x60;</code> as an integer and thus numifies it, which strips any final `#`s, so the list is from `1` to the number of times to rotate the array.
* For each element in that list, we rotate the array (`pop` the last element and `unshift` it onto the beginning).
* Then `say` all the elements of the rotated array.