I've got to write a Java code with inputs **n** and **l** that prints all possible "stupid" passwords, constructed of the five elements:

1. an integer from **1** to **n**;
2. an integer from **1** to **n**;
3. a letter from the first **l** letters of the alphabet;
4. a letter from the first **l** letters of the alphabet;
5. an integer from **1** to **n**, which is **larger** than the first two;

So far my code is the following:

```
import java.util.*;

public class passwords {   
    public static void main(String[] args) { 
        Scanner scan = new Scanner(System.in);
        int n, l;
        int n1, n2, n3;
        n = scan.nextInt();
        l = scan.nextInt();
        scan.close();

        Random rnd = new Random();
        String alphabet = "abcdefghjklmnopqrstvuwxyz";

        for(n1 = 1; n1 < n; n1++){
            for(n2 = 1; n2 < n; n2++){
                for(n3 = 2; n3 <= n; n3++){
                    for(int m = l; m < alphabet.length(); m++){
                        char nc = (char) (rnd.nextInt(l) + 'a');
                        char nc1 = (char) (rnd.nextInt(l) + 'a');  

                        System.out.println(n1 + "" + n2 + "" + nc + "" + nc1 + "" + n3);
                    } 
                }
            }
        }
    }
}

```

It seems to kind of work but there are either missing or repeated combinations among the printed ones.