it works for all integers