Simple Task Solved Thrice You should write 3 programs and/or functions in one language.

All of these programs should solve the same task but they all should give different (but valid) outputs. (I.e. for every pair of programs their should be some input which generates different (but valid) sets of output numbers.)

The task


You are given an integer n, greater than 1
You should return or output n distinct positive integers, and none of them should be divisible by n.
The order of the numbers doesn't matter and a permutation of numbers doesn't count as different outputs.


A valid triplet of programs with some input =&gt; output pairs:

program A:
    2 =&gt; 5 9
    4 =&gt; 5 6 9 10
    5 =&gt; 2 4 8 7 1

program B:
    2 =&gt; 1 11
    4 =&gt; 6 9 1 2
    5 =&gt; 4 44 444 4444 44444

program C (differs only in one number from program B):
    2 =&gt; 1 13
    4 =&gt; 6 9 1 2
    5 =&gt; 4 44 444 4444 44444


Scoring


Your score is the sum of the lengths of the 3 programs or functions.
Lower score is better.
If your programs/functions share code, the shared code should be counted into the length of every program that uses the code.
J, 16 bytes

Function 1, 5 bytes

p:^i.


Function 2, 6 bytes

+p:^i.


Function 3, 5 bytes

&gt;:^i.


How it works

Function 1

p:^i.     Right argument: y

   i.     Compute (0 ... y-1).
p:        Compute P, the prime at index y (zero-indexed).
  ^       Return all powers P^e, where e belongs to (0 ... y-1).


Since P is prime and P > y, y cannot divide Pe.

Function 2

+p:^i.    Right argument: y

 p:^i.    As before.
+         Add y to all results.


If y divided Pe + y, it would also divide Pe + y - y = Pe.

Function 3

&gt;:^i.     Right argument: y

   i.     Compute (0 ... y-1).
&gt;:        Compute y+1.
  ^       Return all powers (y+1)^e, where e belongs to (0 ... y-1).


If y divided (y+1)e some prime factor Q of y would have to divide (y+1)e.

But then, Q would divide both y and y+1 and, therefore, y + 1 - y = 1.