gdybyś jeszcze napisał co chciałeś zrobić
- to może by było łatwiej udzielić odpowiedzi
czy o debugowaniu programu słyszałeś ?
pętla dla innercounter1 wykonuje się tylko raz - więc po co ta pętla ?
pętla dla innercounter2 nie wykonuje się wcale
- bo po pierwsze nigdy do niej program nie dochodzi - instrukcja break przed nią jest
- a gdyby program do niej doszedł to warunek od razu jest niespełniony bo 1 nie jest < 1
co do dalszych pętli to już nie warto pisać 
pomyśl raczej nad funkcją rekurencyjną zamiast bezmyślnie wielokrotnie zagniezdzać pętle