[ create a new paste ] login | about

Link: http://codepad.org/W8iI8Grt    [ raw code | output | fork ]

C, pasted on May 5:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
    srand(time(NULL));
    
    {
        int p = 1009;

        int a = rand() % p;
        int b = rand() % p;
        int c = rand() % p;

        int s = p * p * a + p * b + c;

        int n = rand() % p;

        int i;

        for(i = 0; i != p; ++i)
        {
            n = (n + s) % p;

            printf("%5d\n", n);
        }
    }
    return 0;
}


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
  647
  871
   86
  310
  534
  758
  982
  197
  421
  645
  869
   84
  308
  532
  756
  980
  195
  419
  643
  867
   82
  306
  530
  754
  978
  193
  417
  641
  865
   80
  304
  528
  752
  976
  191
  415
  639
  863
   78
  302
  526
  750
  974
  189
  413
  637
  861
   76
  300
  524
  748
  972
  187
  411
  635
  859
   74
  298
  522
  746
  970
  185
  409
  633
  857
   72
  296
  520
  744
  968
  183
  407
  631
  855
   70
  294
  518
  742
  966
  181
  405
  629
  853
   68
  292
  516
  740
  964
  179
  403
  627
  851
   66
  290
  514
  738
  962
  177
  401
  625
  849
   64
  288
  512
  736
  960
  175
  399
  623
  847
   62
  286
  510
  734
  958
  173
  397
  621
  845
   60
  284
  508
  732
  956
  171
  395
  619
  843
   58
  282
  506
  730
  954
  169
  393
  617
  841
   56
  280
  504
  728
  952
  167
  391
  615
  839
   54
  278
  502
  726
  950
  165
  389
  613
  837
   52
  276
  500
  724
  948
  163
  387
  611
  835
   50
  274
  498
  722
  946
  161
  385
  609
  833
   48
  272
  496
  720
  944
  159
  383
  607
  831
   46
  270
  494
  718
  942
  157
  381
  605
  829
   44
  268
  492
  716
  940
  155
  379
  603
  827
   42
  266
  490
  714
  938
  153
  377
  601
  825
   40
  264
  488
  712
  936
  151
  375
  599
  823
   38
  262
  486
  710
  934
  149
  373
  597
  821
   36
  260
  484
  708
  932
  147
  371
  595
  819
   34
  258
  482
  706
  930
  145
  369
  593
  817
   32
  256
  480
  704
  928
  143
  367
  591
  815
   30
  254
  478
  702
  926
  141
  365
  589
  813
   28
  252
  476
  700
  924
  139
  363
  587
  811
   26
  250
  474
  698
  922
  137
  361
  585
  809
   24
  248
  472
  696
  920
  135
  359
  583
  807
   22
  246
  470
  694
  918
  133
  357
  581
  805
   20
  244
  468
  692
  916
  131
  355
  579
  803
   18
  242
  466
  690
  914
  129
  353
  577
  801
   16
  240
  464
  688
  912
  127
  351
  575
  799
   14
  238
  462
  686
  910
  125
  349
  573
  797
   12
  236
  460
  684
  908
  123
  347
  571
  795
   10
  234
  458
  682
  906
  121
  345
  569
  793
    8
  232
  456
  680
  904
  119
  343
  567
  791
    6
  230
  454
  678
  902
  117
  341
  565
  789
    4
  228
  452
  676
  900
  115
  339
  563
  787
    2
  226
  450
  674
  898
  113
  337
  561
  785
    0
  224
  448
  672
  896
  111
  335
  559
  783
 1007
  222
  446
  670
  894
  109
  333
  557
  781
 1005
  220
  444
  668
  892
  107
  331
  555
  779
 1003
  218
  442
  666
  890
  105
  329
  553
  777
 1001
  216
  440
  664
  888
  103
  327
  551
  775
  999
  214
  438
  662
  886
  101
  325
  549
  773
  997
  212
  436
  660
  884
   99
  323
  547
  771
  995
  210
  434
  658
  882
   97
  321
  545
  769
  993
  208
  432
  656
  880
   95
  319
  543
  767
  991
  206
  430
  654
  878
   93
  317
  541
  765
  989
  204
  428
  652
  876
   91
  315
  539
  763
  987
  202
  426
  650
  874
   89
  313
  537
  761
  985
  200
  424
  648
  872
   87
  311
  535
  759
  983
  198
  422
  646
  870
   85
  309
  533
  757
  981
  196
  420
  644
  868
   83
  307
  531
  755
  979
  194
  418
  642
  866
   81
  305
  529
  753
  977
  192
  416
  640
  864
   79
  303
  527
  751
  975
  190
  414
  638
  862
   77
  301
  525
  749
  973
  188
  412
  636
  860
   75
  299
  523
  747
  971
  186
  410
  634
  858
   73
  297
  521
  745
  969
  184
  408
  632
  856
   71
  295
  519
  743
  967
  182
  406
  630
  854
   69
  293
  517
  741
  965
  180
  404
  628
  852
   67
  291
  515
  739
  963
  178
  402
  626
  850
   65
  289
  513
  737
  961
  176
  400
  624
  848
   63
  287
  511
  735
  959
  174
  398
  622
  846
   61
  285
  509
  733
  957
  172
  396
  620
  844
   59
  283
  507
  731
  955
  170
  394
  618
  842
   57
  281
  505
  729
  953
  168
  392
  616
  840
   55
  279
  503
  727
  951
  166
  390
  614
  838
   53
  277
  501
  725
  949
  164
  388
  612
  836
   51
  275
  499
  723
  947
  162
  386
  610
  834
   49
  273
  497
  721
  945
  160
  384
  608
  832
   47
  271
  495
  719
  943
  158
  382
  606
  830
   45
  269
  493
  717
  941
  156
  380
  604
  828
   43
  267
  491
  715
  939
  154
  378
  602
  826
   41
  265
  489
  713
  937
  152
  376
  600
  824
   39
  263
  487
  711
  935
  150
  374
  598
  822
   37
  261
  485
  709
  933
  148
  372
  596
  820
   35
  259
  483
  707
  931
  146
  370
  594
  818
   33
  257
  481
  705
  929
  144
  368
  592
  816
   31
  255
  479
  703
  927
  142
  366
  590
  814
   29
  253
  477
  701
  925
  140
  364
  588
  812
   27
  251
  475
  699
  923
  138
  362
  586
  810
   25
  249
  473
  697
  921
  136
  360
  584
  808
   23
  247
  471
  695
  919
  134
  358
  582
  806
   21
  245
  469
  693
  917
  132
  356
  580
  804
   19
  243
  467
  691
  915
  130
  354
  578
  802
   17
  241
  465
  689
  913
  128
  352
  576
  800
   15
  239
  463
  687
  911
  126
  350
  574
  798
   13
  237
  461
  685
  909
  124
  348
  572
  796
   11
  235
  459
  683
  907
  122
  346
  570
  794
    9
  233
  457
  681
  905
  120
  344
  568
  792
    7
  231
  455
  679
  903
  118
  342
  566
  790
    5
  229
  453
  677
  901
  116
  340
  564
  788
    3
  227
  451
  675
  899
  114
  338
  562
  786
    1
  225
  449
  673
  897
  112
  336
  560
  784
 1008
  223
  447
  671
  895
  110
  334
  558
  782
 1006
  221
  445
  669
  893
  108
  332
  556
  780
 1004
  219
  443
  667
  891
  106
  330
  554
  778
 1002
  217
  441
  665
  889
  104
  328
  552
  776
 1000
  215
  439
  663
  887
  102
  326
  550
  774
  998
  213
  437
  661
  885
  100
  324
  548
  772
  996
  211
  435
  659
  883
   98
  322
  546
  770
  994
  209
  433
  657
  881
   96
  320
  544
  768
  992
  207
  431
  655
  879
   94
  318
  542
  766
  990
  205
  429
  653
  877
   92
  316
  540
  764
  988
  203
  427
  651
  875
   90
  314
  538
  762
  986
  201
  425
  649
  873
   88
  312
  536
  760
  984
  199
  423


Create a new paste based on this one


Comments: