SIZE = 10000

parse arg ITER
If ITER < 1 Then Do
    ITER = 1
End

result = 0
Do While ITER > 0
    result = test_lists()
    ITER = ITER - 1
End
Say result
exit

test_lists

test_lists:
    
    Do A = 0 To SIZE
        Li1.A = A
    End
    
    
    /* [dada] this should work, but does not:
     * Li2. = Li1.
     */
    Do A = 0 To SIZE
        Li2.A = Li1.A
    End
    
    
    
    Do A = 0 To SIZE
        B = SIZE - A
        Li3.A = Li2.B
    End
    
    
    
    
    
    Do A = 0 To SIZE
        Li2.A = Li3.A
    End
        
    
    
    
    Do A = 0 To SIZE
        B = SIZE-A
        Li4.A = Li1.B
    End
    Do A = 0 To SIZE
        Li1.A = Li4.A
    End
    
    
    If Li1.0 <> SIZE Then Do
        return -1
    End
    
    
    Do i = 0 To SIZE
        
        If Li1.i <> Li2.i Then Do
            return 0
        End
    End
    return SIZE