# [Whitespace](https://web.archive.org/web/20150618184706/http://compsoc.dur.ac.uk/whitespace/tutorial.php), 91 bytes [S S S T N Push_1][S N S _Duplicate_1][S N S _Duplicate_1][T N T T _Read_STDIN_as_integer_(base)][T T T _Retrieve_base][S S S N _Push_0][T N T T _Read_STDIN_as_integer_(factorial)][N S S N _Create_Label_LOOP][S N S _Duplicate_base][S S S T N _Push_1][T S S T _Subtract][N T T S N _If_negative_jump_to_Label_PRINT_RESULT][S N S _Duplicate_base][S T S S T S N _Copy_0-based_2nd_(result)][T S S N _Multiply][S N T _Swap_top_two][S S S N _Push_0][T T T _Retrieve_factorial][T S S T _Subtract][N S N N _Jump_to_Label_LOOP][N S S S N _Create_Label_PRINT_RESULT][S N N _Discard_top][T N S T _Print_result_as_integer] Letters `S` (space), `T` (tab), and `N` (new-line) added as highlighting only. `[..._some_action]` added as explanation only. [Try it online](https://tio.run/##JYxRCoAwDEO/k1PkCGN6IZHB/BMUPH5tulLS5pH2m9c7nvs4R4QkUFQ2CFcSei2W4gBKsICNjFgqriu/ofOeaRCx98at/Q) (with raw spaces, tabs and new-lines only). **Explanation in pseudo-code:** Integer result = 1 Integer base = STDIN as integer Integer factorial = STDIN as integer Start LOOP: If(base <= 0): Call function PRINT_RESULT result = result * base base = base - factorial Go to next iteration of LOOP function PRINT_RESULT: Print result as integer to STDOUT