FUNCTION :  CUSPSANDWIDMAKE1 - set of inequivalent cusps for Gamma[1](N)
                               with corresponding widths

CALLING SEQUENCE :  CUSPSANDWIDMAKE1() 
                    CUSPSANDWIDMAKE1(N)

PARAMETERS :      N - positive integer

GLOBAL VARIABLES : CUSPMAKEERROR

SYNOPSIS :   Returns a set of inequivalent cusps for Gamma[1](N),
             and corresponding widths.   
             Output has the form [CUSPLIST,WIDTHLIST].
             This proc uses cuspmake1 and cuspwid1.
             In this version cusps are written as fractions
             with the first cusp being oo. If oo is not found
             as a cusp the global var CUSPMAKEERROR = 1.

EXAMPLES :   

> with(thetaids):
> cuspmake1();
---------------------------------------------------------
cuspmake1(N)                                             
   Returns a set of inequivalent cusps                   
   for Gamma[1](N).                                      
   Each cusp a/c in the list is represented by [a,c]     
   so that oo is represented by [1,0]                    
---------------------------------------------------------

> CUSPSANDWIDMAKE1(40);
[[oo, 0, 1/3, 1/7, 1/9, 1/11, 1/13, 1/17, 1/19, 1/2, 1/6, 1/14, 1/18, 1/4, 3/4,
                                          13
    1/12, 7/12, 1/5, 3/5, 2/5, 4/5, 1/15, --, 7/15, 4/15, 1/8, 3/8, 7/8, 5/8,
                                          15
                      13
    1/16, 3/16, 7/16, --, 1/10, 3/10, 7/10, 9/10, 1/20, 3/20, 7/20, 9/20, 3/40,
                      16
                11  13  17  19
    7/40, 9/40, --, --, --, --], [1, 40, 40, 40, 40, 40, 40, 40, 40, 20, 20,
                40  40  40  40
    20, 20, 10, 10, 10, 10, 8, 8, 8, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5, 5, 5, 5, 4,
    4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1]]

> CW12:=CUSPSANDWIDMAKE1(12);
CW12 := [[oo, 0, 1/2, 1/3, 1/4, 1/5, 1/6, 2/3, 3/4, 5/12],

    [1, 12, 6, 4, 3, 12, 2, 4, 3, 1]]

> nc12:=nops(CW12[1]);
                                  nc12 := 10

> for j from 1 to nc12 do printf("%a   %a\n",CW12[1][j],CW12[2][j]);od;
oo   1
0   12
1/2   6
1/3   4
1/4   3
1/5   12
1/6   2
2/3   4
3/4   3
5/12   1

DISCUSSION :

First we computed the cusps and their widths for GAMMA[1](40).
Then for GAMMA[1](12) we have the table:

cusp        width
oo            1
0            12
1/2           6
1/3           4
1/4           3
1/5          12
1/6           2
2/3           4
3/4           3

SEE ALSO :  cuspmake1, 
            cuspwid1