Géométriquement le forum Dlz9
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Bon plan achat en duo : 2ème robot cuiseur ...
Voir le deal
600 €

Aller en bas
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Un générateur qui triche

Mar 18 Fév - 19:03
Bonjour,
On évoque souvent le problème du générateur de nombre aléatoire, et j'évoque souvent le fichier signalé par Nuage pour contredire mon exemple d'application de la loi des grands nombres.

Ci dessous le fichier GenRand que Nuage a balancé dans la discussions, apparemment sans même savoir de quoi il s'agissait.
Ce fichier n'est plus disponible sur le net, mais je l'ai soigneusement gardé.


Code:
/*
   Unix SMB/Netbios implementation.
   Version 2.2

   Functions to create reasonable random numbers for crypto use.

   Copyright (C) Jeremy Allison 2001
  
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.
  
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
  
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

//#include "includes.h"
#include <conio.h>
#include <stdio.h>
#include <values.h>
#include <alloc.h>

static unsigned char hash[258];
static uint32 counter;
unsigned char *reseed_data;
size_t reseed_data_size;

/****************************************************************
 Copy any user given reseed data.
*****************************************************************/

void set_rand_reseed_data(unsigned char *data, size_t len)
{
    SAFE_FREE(reseed_data);
    reseed_data_size = 0;

    reseed_data = (unsigned char *)memdup(data, len);
    if (reseed_data)
        reseed_data_size = len;
}

/****************************************************************
 Setup the seed.
*****************************************************************/

static void seed_random_stream(unsigned char *seedval, size_t seedlen)
{
    unsigned char j = 0;
    size_t ind;

    for (ind = 0; ind < 256; ind++)
        hash[ind] = (unsigned char)ind;

    for( ind = 0; ind < 256; ind++) {
        unsigned char tc;

        j += (hash[ind] + seedval[ind%seedlen]);

        tc = hash[ind];
        hash[ind] = hash[j];
        hash[j] = tc;
    }

    hash[256] = 0;
    hash[257] = 0;
}

/****************************************************************
 Get datasize bytes worth of random data.
*****************************************************************/

static void get_random_stream(unsigned char *data, size_t datasize)
{
    unsigned char index_i = hash[256];
    unsigned char index_j = hash[257];
    size_t ind;

    for( ind = 0; ind < datasize; ind++) {
        unsigned char tc;
        unsigned char t;

        index_i++;
        index_j += hash[index_i];

        tc = hash[index_i];
        hash[index_i] = hash[index_j];
        hash[index_j] = tc;

        t = hash[index_i] + hash[index_j];
        data[ind] = hash[t];
    }

    hash[256] = index_i;
    hash[257] = index_j;
}

/****************************************************************
 Get a 16 byte hash from the contents of a file.
 Note that the hash is not initialised.
*****************************************************************/

static void do_filehash(char *fname, unsigned char *the_hash)
{
    unsigned char buf[1011]; /* deliberate weird size */
    unsigned char tmp_md4[16];
    int fd, n;

    fd = sys_open(fname,O_RDONLY,0);
    if (fd == -1)
        return;

    while ((n = read(fd, (char *)buf, sizeof(buf))) > 0) {
        mdfour(tmp_md4, buf, n);
        for (n=0;n<16;n++)
            the_hash[n] ^= tmp_md4[n];
    }
    close(fd);
}

/**************************************************************
 Try and get a good random number seed. Try a number of
 different factors. Firstly, try /dev/urandom - use if exists.

 We use /dev/urandom as a read of /dev/random can block if
 the entropy pool dries up. This leads clients to timeout
 or be very slow on connect.

 If we can't use /dev/urandom then seed the stream random generator
 above...
**************************************************************/

static int do_reseed(BOOL use_fd, int fd)
{
    unsigned char seed_inbuf[40];
    uint32 v1, v2; struct timeval tval; pid_t mypid;
    struct passwd *pw;

    if (use_fd) {
        if (fd != -1)
            return fd;

        fd = sys_open( "/dev/urandom", O_RDONLY,0);
        if(fd >= 0)
            return fd;
    }

#ifdef __INSURE__
    memset(seed_inbuf, '\0', sizeof(seed_inbuf));
#endif

    /* Add in some secret file contents */

    do_filehash("/etc/shadow", &seed_inbuf[0]);
#ifdef WITH_TDB_SAM
    do_filehash(lp_tdb_passwd_file(), &seed_inbuf[16]);
#else
    do_filehash(lp_smb_passwd_file(), &seed_inbuf[16]);
#endif

    /*
     * Add in the root encrypted password.
     * On any system where security is taken
     * seriously this will be secret.
     */

    pw = sys_getpwnam("root");
    if (pw && pw->pw_passwd) {
        size_t i;
        unsigned char md4_tmp[16];
        mdfour(md4_tmp, (unsigned char *)pw->pw_passwd, strlen(pw->pw_passwd));
        for (i=0;i<16;i++)
            seed_inbuf[8+i] ^= md4_tmp[i];
    }

    /*
     * Add the counter, time of day, and pid.
     */

    GetTimeOfDay(&tval);
    mypid = sys_getpid();
    v1 = (counter++) + mypid + tval.tv_sec;
    v2 = (counter++) * mypid + tval.tv_usec;

    SIVAL(seed_inbuf, 32, v1 ^ IVAL(seed_inbuf, 32));
    SIVAL(seed_inbuf, 36, v2 ^ IVAL(seed_inbuf, 36));

    /*
     * Add any user-given reseed data.
     */

    if (reseed_data) {
        size_t i;
        for (i = 0; i < sizeof(seed_inbuf); i++)
            seed_inbuf[i] ^= reseed_data[i % reseed_data_size];
    }

    seed_random_stream(seed_inbuf, sizeof(seed_inbuf));

    return -1;
}

/*******************************************************************
 Interface to the (hopefully) good crypto random number generator.
********************************************************************/

void generate_random_buffer( unsigned char *out, int len, BOOL do_reseed_now)
{
    static BOOL done_reseed = False;
    static int urand_fd = -1;
    unsigned char md4_buf[64];
    unsigned char tmp_buf[16];
    unsigned char *p;

    if(!done_reseed || do_reseed_now) {
        urand_fd = do_reseed(True, urand_fd);
        done_reseed = True;
    }

    if (urand_fd != -1 && len > 0) {

        if (read(urand_fd, out, len) == len)
            return; /* len bytes of random data read from urandom. */

        /* Read of urand error, drop back to non urand method. */
        close(urand_fd);
        urand_fd = -1;
        do_reseed(False, -1);
        done_reseed = True;
    }

    /*
     * Generate random numbers in chunks of 64 bytes,
     * then md4 them & copy to the output buffer.
     * This way the raw state of the stream is never externally
     * seen.
     */

    p = out;
    while(len > 0) {
        int copy_len = len > 16 ? 16 : len;

        get_random_stream(md4_buf, sizeof(md4_buf));
        mdfour(tmp_buf, md4_buf, sizeof(md4_buf));
        memcpy(p, tmp_buf, copy_len);
        p += copy_len;
        len -= copy_len;
    }
}

/*******************************************************************
 Use the random number generator to generate a random string.
********************************************************************/

static char c_list[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+_-#.,";

char *generate_random_str(size_t len)
{
    static unsigned char retstr[256];
    size_t i;

    memset(retstr, '\0', sizeof(retstr));

    if (len > sizeof(retstr)-1)
        len = sizeof(retstr) -1;
    generate_random_buffer( retstr, len, False);
    for (i = 0; i < len; i++)
        retstr[i] = c_list[ retstr[i] % sizeof(c_list) ];

    retstr[i] = '\0';

    return (char *)retstr;
}


Naturellement je déconseille vivement de l'utiliser, quelle que soit l'application.
avatar
beagle
Messages : 3701
Date d'inscription : 29/06/2019

Un générateur qui triche Empty Re: Un générateur qui triche

Mar 18 Fév - 19:40
Bonsoir Pierre,
je n'y connais rien en programmation
que fait-il de triche?
il fait quoi qui ne soit pas assez aléatoire ?
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Mar 18 Fév - 19:54
Bonsoir Beagle.
Pour répondre simplement, il fait exactement la même chose qu'a fait LeJeu avec sa simulation, suivant ce que j'affirme.
Donc, la loi des grands nombres ne peut plus s'appliquer, puisque le générateur tient compte des sorties précédente à chaque instant.

Dans le cas précis de l'expérience fait par LeJeu, si on ne joue qu'un tirage sur 3, la loi des grands nombres s'applique, mais le générateur a comptabilisé deux tirages, donc il en tient compte. Le résultat est qu'avec ma méthode de rattrapage, je gagne encore plus que contre un générateur honnête.  
Malheureusement je n'ai pas eu le loisir de l'expliquer à LeJeu, je me suis fait virer avant.
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Mar 18 Fév - 20:14
Bon, le seul "défaut" des générateurs que l'on connait, bien-sûr je parle de ceux qui sont honnêtes, c'est leur caractère cyclique. Il me parait assez simple de contourner ce défaut, soit utiliser les nombres de Mersenne, soit mettre au point un petit mode opératoire particulier. C'est pas difficile.
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 14:40
Bonjour,
Ltav a proposé de tester le générateur que j'utilise, c'est à dire celui de Borland, en comparant les résultats obtenus aux résultats théoriques, c'est à dire conforme à la loi normale représentée par la courbe de Gauss.
Donc, j'ai fait 100000 tirages d'un nombre entier dans l'intervalle [0;100[. Au fur et mesure des sorties, j'ai incrémenté un tableau. Pour vérifier le résultat, j'ai utilisé le graphique en bâtons habituel avec ses 10 classes. Voila le résultat :
 Vérification générateur

Nombre = 100  Moyenne = 1000.00  emq=30.95  ep=20.63
Médiane = 996   min= 904  max=1070
Rapport Emq/Ema = 1.22 Théorique = 1.25
Classe 1  nb=   1  1.00%    théorique 0.35%     |H
Classe 2  nb=   2  2.00%    théorique    2%     |HH
Classe 3  nb=   4  4.00%    théorique    7%     |HHHH
Classe 4  nb=  18 18.00%    théorique   16%     |HHHHHHHHHHHHHHHHHH
Classe 5  nb=  29 29.00%    théorique   25%     |HHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Classe 6  nb=  17 17.00%    théorique   25%     |HHHHHHHHHHHHHHHHH
Classe 7  nb=  19 19.00%    théorique   16%     |HHHHHHHHHHHHHHHHHHH
Classe 8  nb=   9  9.00%    théorique    7%     |HHHHHHHHH
Classe 9  nb=   1  1.00%    théorique    2%     |H
Classe 10 nb=   0  0.00%    théorique 0.35%     |

Par ailleurs, j'ai créé un nouveau module qui calcule et dessine la régression suivant la loi normale.
Un générateur qui triche Gauss610
avatar
beagle
Messages : 3701
Date d'inscription : 29/06/2019

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 14:52
Bonjour Pierre,
tu peux calculer emq sur la serie de nombres obtenus et non pas sur la frequence observée de chaque nombre.
merci.
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 15:19
Bonjour Beagle,
Oui, je peux le faire, mais cela n'a pas vraiment de sens, voir mes explications précédentes. D'ici un quart d'heure tu auras le résultat. Mais ce sera une autre série.
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 15:39
Voila, j'ai imprimé aussi le diagramme en bâtons de cette nouvelle série

Code:
 Vérification générateur

Nombre = 100  Moyenne = 1000.00  emq=30.88  ep=20.59
Médiane = 1002   min= 914  max=1068
Rapport Emq/Ema = 1.28 Théorique = 1.25
Classe 1  nb=   1  1.00%    théorique 0.35%     |H
Classe 2  nb=   3  3.00%    théorique    2%     |HHH
Classe 3  nb=   8  8.00%    théorique    7%     |HHHHHHHH
Classe 4  nb=   9  9.00%    théorique   16%     |HHHHHHHHH
Classe 5  nb=  24 24.00%    théorique   25%     |HHHHHHHHHHHHHHHHHHHHHHHH
Classe 6  nb=  26 26.00%    théorique   25%     |HHHHHHHHHHHHHHHHHHHHHHHHHH
Classe 7  nb=  22 22.00%    théorique   16%     |HHHHHHHHHHHHHHHHHHHHHH
Classe 8  nb=   6  6.00%    théorique    7%     |HHHHHH
Classe 9  nb=   1  1.00%    théorique    2%     |H
Classe 10 nb=   0  0.00%    théorique 0.35%     |


EmqF= 28.82  EmaF= 24.95  Rap= 1.155
avatar
beagle
Messages : 3701
Date d'inscription : 29/06/2019

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 15:46
ok merci Pierre.
tu vois que tu arrives à sortir des lois uniformes et pas seulement du Gauss!!
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 15:58
Oui, apparemment, je suis très doué. Pour moi, cette phrase est un non sens en probabilité, tout simplement parce que je fais des calculs arithmétiques sur des labels. C'est un peu comme si tu évaluais (ou me faisais évaluer) des valeurs de dispersion des clients d'une banque en travaillant sur les numéros de compte.
avatar
beagle
Messages : 3701
Date d'inscription : 29/06/2019

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 16:06
on en a déjà parlé,
et cela peut tres bien etre des valeurs numériques EGALEMENT.

et le jour où tu feras cela avec une loi uniforme continue et non pas discrete, tu iras mettre des labels sur le continu? ça sera pas commode!
avatar
Invité
Invité

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 16:20
Ou quand Dlz, après tant d'années, n'a toujours pas compris ce qu'est une variable aléatoire réelle (donc qui prends des valeurs dans R pas dans des "labels").

Et qu'il continue de penser que sortir un tableau où il obtient 29% au lieu du 25% attendu puis 18% au lieu du 25% attendu est censé confirmer ses dires...
Pour mémoire j'ai récemment fait (et posté sur ce forum je crois) des calculs théoriques, puis fait les simulations pour les confirmer. J'obtenais une confirmation
à 0.1% près, pas à 4 ou 5 % près.

Bref, Dlz est toujours au niveau 0 de la compréhension des outils probabiliste.
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 16:21
Oui, je comprends ton objection.
Ben oui, on fait la même chose avec du continu et c'est la principale utilisation des probabilités. N'oublie pas que les probabilités s'appliquent dans le monde réel. Toutes les applications, dés, cartes, pile ou face sont surtout utiles pour générer des exercices pour des étudiants. La loi dite "uniforme" veut dire "toutes les épreuves ont la même probabilité". Donc, dans le cas d'une simulation avec des chiffres, la seule chose intéressante est le décompte  des apparitions, comme avec le loto.
En tout cas, une chose parait importante : tu as pu constater que le générateur que j'utilise est bon, ça c'est important.
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 16:23
Merci Sylviel pour cette intervention particulièrement constructive.
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 18:00
Sylviel. a écrit:Ou quand Dlz, après tant d'années, n'a toujours pas compris ce qu'est une variable aléatoire réelle (donc qui prends des valeurs dans R pas dans des "labels").

D'après mes lectures, une variable aléatoire réelle est une fonction qui ne prend aucun paramètre, mais renvoie une valeur numérique réelle. Par exemple, on lance une tige sur un cercle, si la tige coupe le cercle, la longueur de la corde est une variable aléatoire réelle. On dit que le position de la tige, donc la longueur de la corde dépend du hasard.
Si on lance plusieurs fois la tige, on aura plusieurs valeurs de la variable.
Dans ce contexte de variable aléatoire, on parle souvent d'indépendance. Pour étudier ce point, il est nécessaire d'avoir au moins deux variables aléatoires.
J'ai bon ?

Lorsqu'on fait une expérience du type "sorties de valeurs à l'aide d'un générateur de nombres", telle que ça été fait dans ce fil, les nombres sortis sont des numéros, qu'appelle aussi "labels". Ces nombres ne sont pas valeurs d'une variable aléatoire, ce sont des numéros d'ordre. Pour des raison d'ordre pratique on a l'habitude de choisir des valeurs numérique, mais ce ne sont pas des nombres de l'ensemble N, ce sont des indices et toute opération arithmétique sur ces nombres n'a aucun sens.


Sylviel a écrit:Pour mémoire j'ai récemment fait (et posté sur ce forum je crois) des calculs théoriques, puis fait les simulations pour les confirmer. J'obtenais une confirmation
à 0.1% près, pas à 4 ou 5 % près.
Ce serait intéressant que tu précises où on peut voir ces simulations.
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 19:38
Bon, j'ai vraiment l'impression qu'il y a une incompréhension caractérisée sur les termes.
J'ai cherché un exemple d'application de la loi uniforme. Je n'en ai pas trouvé de meilleur que le loto. Bien-sûr, on met de côté le n° complémentaire.
Les 5 numéros sont bien tirés suivant une loi uniforme : chacun des 49 numéros a bien exactement les mêmes chances que les autres. C'est donc bien une loi uniforme. Donc, je pose la question, est-ce que la moyenne est le numéro 25 ? Je ne pense pas. D'autre part l'historique des tirages produit bien une répartition conforme à la loi normale. On vérifie que la théorie est bien respectée.
J'aimerais bien qu'on m'explique où il y a un problème.
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Mer 19 Fév - 23:14
Bonsoir,
J'ai essayé de comprendre la signification de cette "loi uniforme" indépendamment sur fait que cela signifiait que toutes les épreuves avaient la même probabilité.
Ce qui est surprenant c'est que des matheux se permettent de faire des opérations arithmétiques sur les labels.
Soit une liste d'objets, tous référencés par un numéro d'ordre, qu'on appelle label. On tire au hasard des objets, à l'évidence, il ont tous la même probabilité de sortir. Conformément aux lois des probabilités, le nombre de leurs sorties suit la loi des grands nombre, et surtout la répartition de leurs sorties suit la loi normale. Il en est impossible autrement.
Maintenant, supposons que les labels de ces objets soient des nombres satisfaisant une suite arithmétique, c'est à dire que la différence entre les labels croissant successifs soit constante, par exemple 1 2 3 4... ou 1 3 5 7 ..., alors on est dans la situation exacte où on peut intervertir indifféremment les objets et les labels, sans rien changer et on peut trouver une relation entre les labels, comme si c'était des nombres de N.
Cela permet d'établir des formules où on effectue sans s'en rendre compte des opérations arithmétiques sur des représentation numériques de labels.

Si mon raisonnement n'est pas exact, merci de me préciser où.
Bonne soirée.
avatar
beagle
Messages : 3701
Date d'inscription : 29/06/2019

Un générateur qui triche Empty Re: Un générateur qui triche

Jeu 20 Fév - 9:34
le problème c'est que ce que tu connais est utile et meme plus fort , existe.
Ce que tu n'as jamais vu n'existe pas et ne sert à rien.

Fais ce que tu veux avec tes labels.
D'abord que le label 25 soit dans telle ou telle zone de ta gaussienne en frequence observée,
ben cela ne renseigne en rien pour savoir uù sea le 25 dans les prochaines series.
Donc cela respecte ta loi des grands nombres, très bien, et après?

Ensuite si des valeurs continues sont de probas uniformes sur [a,b]
ben quel intérèt d'en faire des labels sur des morceaux de [a,b]?
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Jeu 20 Fév - 12:49
Bonjour Beagle,
L'étude des probabilités n'a d'intérêt que parce que ça doit servir à expliquer certaines choses et permettre certaines avancées.
Il y a en mathématiques d'autres spécialités plus fondamentales et moins "utilitaires".
Si ce principe n'est pas le tien, alors ou ne pourra jamais se comprendre sur ce point.
Si ce principe est bon, alors donne moi un exemple d'application où le résultat d'une expérience de loi uniforme n'est pas conforme à la loi normale. C'est à dire un exemple où il est utile de décrire la loi uniforme comme le fait Sylviel.
Par ailleurs, la non compréhension des probabilités l'a amené à faire un rapport complètement faux à propos de l'exercice sur le stockage.
Il dit fréquemment "je te l'ai expliqué 100 fois", "j'ai fait des simulations", mais quand on lui demande de recommencer les explications ou de montrer les simulations, il n'y a plus personne.

Pour toi, "probabilités" a surtout le sens de "prévision". C'est vrai pour la gestion de stock, et là par de chance, Sy. s'est trompé, ou plutôt, n'a aucune idée de la façon dont ça fonctionne.
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Ven 21 Fév - 15:28
Bonjour,
Voila une autre simulation faite sur un plus grand nombre d'appels au générateur. Conformément à la loi des grand nombres, la différence entre le valeurs observées et les valeurs théoriques tendent vers zéro. En fait, ces simulation vérifient autant les lois des probabilités (moyenne, loi des grands nombres et loi normale) que la qualité du générateur de Borland qui produit des nombres aléatoires conformément aux lois des probabilités.
Code:
Nombre = 1000  Moyenne = 500.00  emq=23.38  ep=15.59
Médiane = 500   min= 427  max=571
Rapport Emq/Ema = 1.25 Théorique = 1.25
Classe 1  nb=   5  0.50%    théorique 0.35%     |H
Classe 2  nb=  14  1.40%    théorique    2%     |HH
Classe 3  nb=  74  7.40%    théorique    7%     |HHHHHHHH
Classe 4  nb= 159 15.90%    théorique   16%     |HHHHHHHHHHHHHHHH
Classe 5  nb= 230 23.00%    théorique   25%     |HHHHHHHHHHHHHHHHHHHHHHH
Classe 6  nb= 255 25.50%    théorique   25%     |HHHHHHHHHHHHHHHHHHHHHHHHHH
Classe 7  nb= 180 18.00%    théorique   16%     |HHHHHHHHHHHHHHHHHH
Classe 8  nb=  58  5.80%    théorique    7%     |HHHHHH
Classe 9  nb=  21  2.10%    théorique    2%     |HHH
Classe 10 nb=   4  0.40%    théorique 0.35%     |H
 

Et la méthode de régression :
Un générateur qui triche Gauss611
avatar
beagle
Messages : 3701
Date d'inscription : 29/06/2019

Un générateur qui triche Empty Re: Un générateur qui triche

Ven 21 Fév - 17:00
16, 69, 59, 52, 37, 5, 85, 24, 11, 20, 6, 78, 71, 15, 37, 37, 21, 91, 71, 73, 54, 39, 2, 34, 35, 33, 44, 37, 67, 45, 53, 44, 57, 5, 48, 64, 50, 54, 43, 77, 68, 50, 72, 46, 42, 48, 93, 71, 96, 58, 17, 66, 41, 34, 15, 35, 33, 61, 15, 57, 60, 55, 70, 53, 73, 50, 57, 59, 34, 37, 57, 16, 72, 62, 53, 32, 45, 67, 42, 49, 22, 49, 43, 45, 62, 20, 47, 62, 81, 57, 57, 56, 40, 34, 48, 66, 23, 70, 90, 75, 50, 86, 53, 51, 50, 72, 34, 16, 70, 53, 95, 62, 26, 58, 22, 40, 11, 55, 40, 46, 69, 62, 37, 66, 91, 64, 53, 49, 20, 29, 16, 85, 72, 89, 52, 75, 10, 50, 40, 56, 75, 46, 63, 36, 13, 31, 66, 14, 37, 45, 28, 69, 75, 28, 56, 47, 80, 29, 85, 41, 30, 53, 58, 64, 21, 14, 18, 37, 62, 19, 36, 54, 74, 32, 54, 47, 40, 40, 50, 30, 65, 51, 73, 29, 22, 58, 39, 30, 37, 29, 17, 45, 52, 32, 44, 58, 24, 66, 55, 91, 4, 30, 51, 84, 82, 72, 37, 63, 47, 76, 74, 34, 39, 57, 42, 29, 58, 21, 57, 40, 19, 88, 71, 77, 71, 67, 54, 13, 56, 29, 57, 52, 60, 34, 23, 51, 74, 92, 78, 23, 43, 41, 75, 20, 32, 54, 41, 65, 56, 67, 45, 44, 39, 16, 95, 34, 62, 48, 28, 26, 66, 33, 37, 59, 66, 47, 46, 63, 68, 23, 36, 79, 57, 46, 79, 22, 66, 28, 60, 39, 78, 51, 57, 59, 48, 36, 81, 75, 50, 61, 57, 54, 35, 37, -19, 53, 36, 36, 69, 68, 62, 53, 55, 40, 112, 47, 70, 62, 33, 41, -4, 60, 65, 40, 73, 63, 59, 17, 32, 53, 70, 61, 60, 64, 36, 43, 16, 47, 48, 55, 68, 7, 50, 61, 8, 35, 44, 54, 66, 34, 71, 29, 44, 62, 87, 59, 58, 60, 55, 62, 33, 59, 79, 61, 41, 57, 76, 77, 17, 60, 15, 43, 35, 26, -5, 77, 29, 38, 52, 55, 47, 79, 42, 55, 31, 34, 40, 53, 52, 44, 37, 47, 35, 33, 66, 42, 6, 72, 36, 52, 28, 77, 13, 49, 77, 51, 64, 38, 37, 41, 60, 60, 30, 45, 57, 57, 60, 38, 64, 43, 49, 35, 73, 50, 58, 57, 41, 32, 36, 85, 43, 82, 97, 60, 40, 40, 76, 41, 29, 33, 37, 62, 58, 51, 69, 43, 60, 61, 47, 78, 89, 66, 59, 48, 69, 91, 40, 80, 32, 52, 62, 26, 34, 29, 41, 18, 41, 57, 55, 43, 43, 62, 80, 49, 19, 77, 22, 37, 58, 53, 53, 52, 40, 25, 37, 28, 60, 68, 44, 63, 22, 70, 41, 54, 30, 46, 39, 94, 34, 66, 72, 60, 68, 66, 44, 59, 18, 57, 47, 48, 56, 21, 65, 41, 70, 38, 66, 26, 60, 39, 31, 57, 49, 41, 64, 30, 80, 82, 49, 49, 32, 65, 53, 16, 38, 57, 79, 46, 80, 45, 41, 18, 34, 46, 47, 27, 77, 12, 78, 33, 76, 27, 45, 57, 46, 59, 8, 41, 64, 46, 37, 53, 41, 37, 51, 63, 57, 62, 63, 48, 30, 58, 27, 36, 46, 50, 70, 84, 13, 2, 22, 53, 40, 28, 72, 67, 34, 53, 57, 62, 58, 34, 77, 36, 86, 44, 48, 30, 28, 43, 67, 80, -3, 32, 81, 60, 100, 29, 29, 22, 98, 64, 44, 0, 56, 39, 21, 39, 27, 21, 52, 63, 57, 70, 46, 76, 74, 68, 38, 50, 41, 60, 79, 47, 46, 60, 24, 43, 77, 44, 22, 34, 80, 64, 49, 32, 55, 50, 31, 55, 39, 83, 44, 62, 69, 50, 88, 40, 49, 67, 32, 48, 65, 73, 27, 64, 38, 40, 32, 45, 85, 70, 50, 25, 81, 23, 71, 67, 8, 49, 28, 37, 47, 44, 66, 42, 52, 34, 43, 24, 66, 25, 59, 22, 52, 71, 39, 52, 31, 54, 71, 34, 48, 90, 53, 58, 36, 50, 52, 63, 56, 47, 66, 73, 36, 48, 37, 13, 77, 36, 21, 23, 75, 49, 67, 56, 68, 50, 57, 74, 24, 8, 60, 39, 70, 51, 16, 63, 83, 50, 74, 13, 48, 26, 14, 23, 54, 40, 70, 65, 77, 45, 76, 17, 6, 36, 11, 66, 20, 34, 27, 21, 47, 63, 50, 53, 75, 22, 69, 40, 61, 37, 66, 33, 29, 70, 60, 75, 40, 19, 89, 41, 33, 61, 48, 20, 17, 27, 9, 57, 67, 71, 12, 67, 62, 57, 86, 50, 55, 25, 53, 52, 50, 26, 34, 26, 82, 60, 33, 64, 63, 41, 81, 45, 47, 38, 28, 29, 7, 28, 33, 52, 64, 45, 6, 9, 58, 38, 88, 67, 75, 52, 85, 37, 64, 27, 93, 54, 22, 51, 70, 81, 47, 57, 72, 55, 30, 20, 80, 11, 26, 67, 55, 54, 51, 70, 69, 31, 52, 26, 68, 74, 63, 51, 19, 17, 48, 66, 94, 36, 57, 53, 69, 42, 69, 35, 20, 48, 62, 22, 55, 44, 69, 58, 45, 79, 78, 49, 33, 38, 80, 31, 54, 36, 60, 65, 35, 43, 65, 38, 73, 41, 61, 34, 62, 23, 102, 88, 39, 25, 21, 47, 69, 45, 66, 62, 49, 61, 49, 73, 76, 32, 65, 5, 50, 35, 54, 22, 65, 66, 45, 33, 62, 30, 80, 46, 41, 40, 33, 42, 52, -5, 73, 61, 91, 57, 49, 51, 28, 65, 63, 50, 27, 85, 27, 12, 46, 100, 56, 84, 61, 45, 69, 57, 28, 55, 61, 41, 9, 77, 39, 59, 44, 49, 49, 79, 63, 16, 61, 28, 65, 36, 60, 76, 39, 75, 11, 26, 55, 60, 26, 79, 56, 49, 38, 14, 33, 56, 49, 60, 42, 49, 31, 52, 59, 18, 52, 52, 20, 45, 73, 52, 43, 41, 19, 55, 36, 48, 35, 36, 61, 40, 62, 37, 51, 43, 28, 23, 32, 72, 41, 35, 30, 69, 61, 61, 38, 46, 48, 76, 35, 70, 82, 58, 68, 11, 37, 59, 56, 36, 57, 76, 57, 48, 82, 94, 46, 45, 59, 39, 41, 17, 65, 47, 35, 63, 78, 48, 19, 85, 36, 70, 77, 98, 57, 72, 65, 61, 48, 51, 47, 31, 51, 56, 52, 68, 50, 65, 38, 37, 29, 27, 56, 81, 74, 57, 42, 31, 77, 40, 53, 42, 62, 76, 40, 40, 78, 46, 33, 61, 60, 63, 63, 29, 29, 17, 20, 22, 52, 37, 32, 29, 44, 48, 26, 26, 39, 43, 77, 49, 49, 38, 49, 40, 66, 40, 47, 42, 70, 38, 49, 28, 55, 42, 39, 51, 77, 55, 68, 84, 47, 56, 7, 22, 27, 49, 59, 15, 27, 29, 58, 32, 34, 38, 76, 64, 47, 87, 35, 69, 67, 34, 42, 37, 73, 65, 51, 48, 53, 27, 36, 59, 74, 78, 45, 86, 33, 56, 66, 14, 48, 37, 27, 46, 28, 54, 14, 54, 38, 75, 21, 76, 48, -1, 79, 38, 31, 29, 74, 47, 47, 39, 83, 33, 26, 30, 73, 85, 77, 53, 64, 72, 36, 41, 40, 52, 50, 58, 87, 57, 72, 51, 36, 73, 49, 40, 61, 47, 14, 55, 67, 41, 52, 45, 63, 52, 61, 36, 42, 23, 26, 72, 53, 47, 52, 45, 39, 67, 26, 63, 51, 34, 63, 18, 46, 65, 34, 92, 29, 47, 34, 39, 80, 54, 36, 43, 51, 69, 47, 83, 41, 72, 43, 30, 33, 40, 29, 41, 44, 64, 31, 50, 45, 34, 32, 7, 41, 37, 48, 71, 55, 8, -1, 23, 21, 33, 51, 48, 62, 65, 42, 27, 78, 13, 50, 38, 35, 64, 51, 54, 54, 33, 56, 62, 59, 34, 24, 52, 107, 57, 62, 51, 82, 22, 57, 27, 78, 67, 60, 74, 30, 27, 33, 57, 36, 55, 53, 61, 49, 69, 61, 57, 36, 71, 24, 39, 49, 54, 55, 42, 82, -14, 38, 62, 58, 70, 70, 82, 32, 58, 56, 50, 60, 64, 55, 40, 26, 50, 48, 55, 74, 82, 56, 45, 45, 25, 74, 28, 45, 35, 37, 48, 40, 71, 37, 40, 63, 62, 31, 49, 74, 28, 59, 94, 96, 28, 20, 63, 15, 84, 35, 38, 60, 13, 52, 40, 84, 33, 13, 9, -14, 41, 61, 55, 35, 37, 10, 22, 59, 39, 16, 44, 32, 52, 78, 33, 30, 30, 27, 71, 50, 34, 45, 42, 40, 38, -11, 49, 28, 40, 46, 96, 82, 61, 65, 60, 60, 54, 72, 74, 66, 70, 60, 82, 46, 74, 57, 70, 32, 53, 52, 17, 74, 37, 57, 48, 42, 21, 42, 74, 48, 34, 19, 60, 57, 40, 54, 43, 53, 32, 83, 31, 56, 49, 43, 34, 57, 52, 65, 68, 45, 51, 44, 17, 77, 43, 49, 43, 41, 52, 39, 69, 28, 97, 62, 35, 85, 33, 48, 57, 56, 105, 48, 46, 30, 58, 67, 10, 49, 63, 61, 17, 41, 67, 52, 96, 1, 71, 63, 81, 63, 69, 31, 20, 14, 36, 106, 62, 46, 51, 65, 71, 37, 23, 58, 37, 29, 50, 34, 48, 32, 23, -13, 40, 66, 41, 45, 48, 16, 81, 40, 76, 98, 71, 61, 52, 45, 81, 64, 82, 46, 63, 38, 82, 74, 50, 65, 55, 27, 55, 30, 78, 66, 26, 66, 62, 65, 52, 72, 15, 48, 74, 38, 60, 71, 17, 28, 42, 65, 61, 86, 56, 69, 55, 43, 14, 48, 62, 31, 40, 76, 80, 53, 68, 75, 42, 69, 55, 70, 47, 57, 34, 32, 21, 61, 54, 75, 30, 48, 49, 64, 83, 42, 79, 51, 48, 65, 82, 46, 48, 54, 53, 48, 57, 63, 85, 40, 13, 58, 22, 51, 35, 73, 41, 46, 64, 59, 39, 38, 29, 47, 81, 58, 83, 21, 56, 38, 91, 60, 17, 48, 45, -4, 25, 13, 53, 82, 102, 22, 22, 7, 35, 36, 48, 34, 52, 45, 36, 65, 72, 75, 51, 29, 63, 37, 63, 80, 77, 47, 52, 35, 67, 6, 7, 45, 44, 28, 63, 34, 51, 90, 66, 32, 8, 52, 10, 31, 52, 64, 33, 13, 19, 11, 20, 51, 62, 65, 29, 38, 61, 50, 57, 60, 71, 27, 32, 20, 58, 43, 68, 59, 58, 15, 25, 75, 59, 23, 41, 73, 43, 51, 45, 16, 35, 69, 23, 42, 70, 61, 25, 48, 58, 74, 54, 48, 39, 12, 33, 38, 23, 66, 16, 68, 76, 16, 76, 58, 48, 49, 91, 17, 59, 58, 67, 30, 24, 56, 62, 76, 12, 41, 64, 50, 58, 16, 58, 42, 19, 83, 71, 88, 25, 22, 53, 76, 37, 37, 53, 64, 48, 77, 53, 47, 85, 53, 92, 37, 39, 19, 77, 23, 49, 35, 19, 22, 73, 59, 55, 42, 22, 32, 59, 59, 68, 73, 13, 26, 32, 23, 76, 64, 49, 23, 54, 6, 44, 72, 22, 51, 52, 34, 48, 31, 59, 42, 16, 77, 49, 56, 27, 43, 54, 47, 64, 90, 67, 44, 34, 48, 24, 70, 71, 48, 76, 61, 57, 26, 50, 80, 35, 80, 18, 58, 76, 55, 67, 28, 91, 49, 31, 44, 74, 62, 45, 62, 52, 41, 42, 53, 63, 73, 67, 64, 75, 22, 7, 33, 56, 65, 82, 22, 60, 55, 38, 50, 76, 80, 63, 45, 30, 25, 47, 76, 37, 35, 76, 74, 11, 34, 51, 31, 28, 70, 40, 49, 14, 22, 50, 40, 54, 3, 64, 23, 55, 66, 36, 39, 63, 23, 46, 21, 44, 46, 61, 46, 81, 62, 49, 64, 39, 32, 77, 61, 48, 57, 50, 62, 67, 47, 56, 5, 46, 72, 77, 52, 51, 47, 35, -2, 48, 76, 51, 61, 7, 100, 48, 71, 32, 60, 39, 57, 102, 32, 26, 44, 27, 46, 47, 78, 67, 31, 49, 63, 76, 45, 34, 68, 52, 68, 41, 82, 17, 64, 88, 41, 99, 18, 51, 43, 45, 28, 40, 27, 48, 39, 69, 23, 27, 57, 43, 38, 25, 24, 38, 69, -8, 13, 57, 51, 32, 46, -3, 61, 29, 21, 65, 65, 69, 39, 33, 56, 62, 57, 66, 61, 71, 43, 54, 94, 75, 77, 55, 58, 58, 35, 32, 54, 65, 37, 44, 28, 17, 66, 29, 45, 36, 37, 29, 66, 42, 51, 57, 42, 42, 34, 60, 40, 29, 14, 81, 60, 99, 22, 61, 27, 68, 52, 64, 79, 61, 48, 65, 45, 68, 46, 13, 80, 49, 56, 24, 110, 42, 68, 49, 48, 83, 45, 43, 40, 54, 59, 77, 55, 36, 64, 68, 25, 82, 67, 81, 46, 55, 40, 50, 57, 30, 9, 58, 62, 21, 40, 54, 62, 68, 55, 53, 21, 58, 21, 54, 37, 35, 80, 28, 83, 58, 52, 19, 16, 55, 29, 31, 36, 35, 53, 54, 46, 71, 49, 36, -2, 36, 52, 45, 45, 35, 55, 52, 79, 42, 70, 26, 8, 64, 59, 17, 15, 20, 63, 39, 54, 85, 56, 67, 53, 90, 111, 62, 44, 27, 40, 47, 55, 34, 65, 41, 29, 74, 49, 55, 26, 27, 77, 93, 85, 48, 71, 24, 60, 30, 55, 49, 81, 61, 50, 41, 72, 57, 58, 43, 55, 23, 81, 47, 48, 57, 88, 74, 57, 68, 62, 29, 79, 32, 49, 64, 44, 61, 40, 43, 66, 32, 87, 36, 61, 45, 61, 61, 52, 59, 44, 43, 57, 20, 51, 46, 64, 66, 27, 63, 26, 41, 65, 54, 55, 37, 34, 61, 46, 50, 71, 76, 48, 29, 63, 61, 51, 65, 25, 45, 42, 67, 28, 73, 51, 64, 76, 35, 58, 60, 69, 65, 92, 50, 38, 54, 63, 58, 43, 60, 64, 83, 48, 23, 41, 65, 101, 23, 49, 45, 20, 67, 51, 30, 23, 52, 60, 73, 73, 64, 66, 58, 55, 40, 30, 90, 68, 21, 53, 46, 35, 78, 46, 46, 48, 53, 22, 68, 68, 58, 27, 48, 43, 52, 17, 65, 88, 15, 56, 63, 31, 52, 68, 45, 54, 12, 41, 59, 65, 72, 73, 59, 47, 49, 55, 51, 64, 35, 49, 33, 63, 33, 71, 69, 15, 70, 56, 54, 36, 49, 52, 74, 50, 66, 34, 79, 17, 59, 77, 30, 69, 26, 6, 51, 58, 106, 66, 20, 62, 48, 54, 43, 69, 72, 86, 10, 70, 13, 36, 72, 67, 44, 64, 47, 35, 57, 86, 38, 69, 30, 72, 41, 66, 31, 84, 50, 92, 56, 36, 72, 60, 0, 48, 50, 71, 77, 25, 34, 27, 71, 71, 48, 67, 18, 13, 37, 25, 58, 52, 40, 64, 44, 53, 74, 42, 23, 42, 39, 40, 19, 50, 85, 66, 33, 58, 44, 40, 69, 42, 67, 37, 18, 11, 27, 56, 76, 51, 88, 63, 61, 46, 74, 43, 30, 82, 43, 40, 49, 36, 64, 84, 58, 47, 26, 53, 70, 29, 77, 42, 1, 37, 66, 38, 65, 33, 67, 6, 57, 49, 69, 24, 50, 45, 26, 35, 66, 57, 70, 81, 72, 43, 73, 46, 22, 36, 50, 70, 22, 64, 42, 77, 55, 65, 70, 2, 52, 27, 61, 70, 51, 49, 113, 74, 98, 53, 57, 74, 78, 55, 42, 39, 44, 82, 17, 29, 84, 70, 48, 43, 45, 31, 52, 3, 22, 66, 77, 19, 18, 23, 52, 33, 39, 63, 70, 44, 70, 32, 40, 57, 53, 54, 48, 42, 48, 61, 62, 52, 36, 35, 14, 51, 15, 57, 70, 23, 54, 35, 41, 49, 49, 39, 20, 29, 29, 94, 42, 47, 56, 62, 48, 77, 78, 80, 48, 78, 47, 58, 61, 32, 46, 58, 16, 71, 72, 45, 21, 31, 45, 75, 40, 49, 59, 70, 42, 86, 3, 58, 30, 54, 61, 49, 44, 35, 25, 58, 63, 27, 64, 45, 56, 9, 59, 64, 43, 49, 42, 72, 50, 60, 54, 36, 57, 50, 74, 73, 29, 66, 54, 29, 60, 67, 57, 66, 59, 77, 55, 61, 48, 44, 51, 53, 60, 58, 10, 84, 61, 39, 47, 35, 40, 24, 49, 65, 67, 35, 68, 26, 62, 76, 36, 39, 36, 50, 71, 16, 72, 42, 54, 73, 25, 55, 56, 8, 69, 25, 44, 40, 36, 71, 42, 8, 53, 16, 19, 60, 25, 46, 34, 88, 50, 24, 12, 54, 66, 27, 17, 87, 84, 42, 43, 56, 46, 52, 34, 30, 47, 58, 49, 44, 49, 64, 67, 43, 37, 42, 49, 86, 67, 58, 21, 43, 86, 52, 52, 39, 45, 56, 55, 60, 75, 57, 61, 74, 16, 103, 53, 33, 65, 55, 12, 45, 49, 59, 55, 47, 56, 57, 98, 28, 55, 48, 47, 32, 36, 73, 60, 50, 75, 58, 28, 58, 80, 86, 59, 51, 34, 42, 27, 58, 22, 65, 66, 40, 53, 32, 38, 44, 45, 41, 63, 55, 58, 40, 101, 27, 42, 27, 75, 87, 73, 53, 10, 62, 71, 87, 39, 54, 62, 26, 53, 48, 68, 56, 72, 38, 25, 35, 61, 17, 34, 21, 79, 49, 28, 42, 65, 37, 16, 48, 48, 25, 40, 83, 52, 21, 31, 63, 67, 55, 30, 39, 58, 40, 21, 23, 34, 50, 59, 60, 49, 46, 25, 54, 64, 53, 30, 64, 33, 69, 32, 51, 52, 43, 38, 49, 23, 60, 75, 40, 57, 52, 54, 94, 47, 39, 81, 40, 32, 27, 56, 49, 44, 61, 82, 69, 35, 57, 23, 33, 47, 84, 28, 66, 48, 57, 75, 42, 26, 45, 54, 70, 22, 38, 52, 32, 60, 44, 68, 48, 55, 35, 58, 43, 31, 33, 40, 80, 51, 50, 47, 64, 50, 54, 20, 28, 45, 44, 79, 32, 39, 88, 59, 26, 34, 50, 59, 65, 40, 65, 62, 75, 36, 44, 45, 61, 61, 26, 99, 73, 54, 68, 80, 52, 105, 41, 94, 66, 30, 61, 59, 62, 28, 70, 26, 93, 57, 65, 59, 77, 28, 70, 62, 107, 79, 30, 19, 70, 35, 85, 49, 13, 42, 33, 11, 49, 53, 42, 35, 67, 56, 67, 52, 18, 66, 40, 37, 26, 35, 49, 55, 56, 56, 45, 50, 17, 74, 66, 90, 46, 31, 73, 38, 53, 54, 29, 38, 42, 72, 39, 28, 67, 93, 34, 51, 50, 55, 35, 31, 25, 63, 57, 41, 44, 57, 55, 46, 61, 46, 20, 29, 36, 41, 48, 76, 71, 24, 62, 75, 33, 17, 80, 31, 35, 52, 49, 59, 25, 43, 54, 40, 22, 49, 61, 48, 45, 37, 56, 62, 58, 77, 57, 92, 74, 56, 90, 31, 17, 43, 72, 77, 72, 27, 89, 47, 46, 55, 66, 49, 52, 89, 31, 58, 25, 39, 17, 69, 44, 60, 48, 35, 25, 25, 83, 66, 64, 41, 25, 57, 44, 62, 38, 61, 43, 32, 52, 51, 11, 81, 46, 43, 50, 75, 25, 64, 59, 72, 58, 63, 22, 61, 76, 80, 47, 53, 43, 57, 92, 63, 56, 51, 42, 35, 43, 35, 50, 74, 34, 54, 70, 58, 14, 45, 49, 87, 66, 30, 23, 68, 47, 66, 51, 52, 72, 63, 63, 50, 46, 50, 54, 35, 74, 74, 45, 36, 49, 72, 45, 39, 51, 57, 34, 23, 67, 48, 38, 40, 72, 38, 36, 51, 47, 48, 43, 50, 32, 65, 54, 26, 46, 31, 52, 61, 53, 31, 34, 66, 53, 50, 45, 71, 17, 29, 59, 43, 46, 27, 24, 77, 49, 52, 29, 68, 54, 56, 64, 84, 43, 27, 84, 52, 32, 71, 49, 73, 52, 59, 53, 57, 52, 82, 34, 39, 6, 36, 41, 72, 58, 42, 42, 55, 48, 42, 85, 58, 36, 45, 31, 53, 74, 21, 63, 45, 37, 42, 63, 41, 67, 56, 51, 57, 36, 53, 55, 41, 53, 54, 51, 7, 59, 34, 82, 51, 72, 74, 31, 42, 72, 33, 71, 66, 29, 70, 32, 59, 39, 61, 73, 34, 84, 34, 48, 64, 93, 49, 47, 65, 24, 36, 61, 51, 68, 48, 46, 26, 42, 50, 35, 25, 57, 33, 47, 57, 42, 54, 79, 77, 9, 50, 45, 45, 54, 32, 58, 32, 47, 24, 33, 30, 45, 37, 38, 44, 37, 58, 21, 79, 56, 55, 50, 46, 24, 68, 86, 52, 30, 76, 57, 13, 45, 52, 78, 63, 0, 59, 16, 54, 51, 79, 91, 42, 71, 43, 73, 63, 65, 62, 15, 85, 45, 70, 54, 30, 85, 46, 58, 35, 36, 75, 49, 42, 54, 66, 65, 23, 58, 41, 5, 67, 75, 60, 28, 59, 31, 24, 14, 54, 58, 58, 41, 63, 57, 18, 54, 41, 15, 60, 74, 58, 13, 41, 37, 55, 61, 83, 36, 2, 37, 66, 35, 31, 5, 57, 72, 61, 36, 53, 39, 9, 6, 61, 53, 18, 72, 82, 44, 74, 55, 75, 59, 28, 63, 44, 57, 13, 67, 55, 64, 53, 37, 20, 26, 42, 50, 38, 45, 18, 52, 52, 25, 49, 76, 62, 28, 74, 75, 15, 95, 52, 90, 59, 57, 96, 60, 50, 46, 72, 43, 45, 46, 97, 62, 59, 46, 70, 47, 53, 50, 35, 49, 24, 55, 65, 78, 29, 91, 21, 14, 40, 44, 25, 57, 78, 40, 70, 55, 49, 31, 56, 63, 49, 38, 53, 66, 36, 57, -1, 46, 72, 95, 32, 56, 65, 33, 40, 62, 19, 50, 98, 45, 42, 69, 59, 91, 29, 64, 19, 58, 36, 56, 40, 76, 80, 38, 41, 29, 46, 78, 71, 79, 52, 69, 46, 49, 22, 24, 24, 37, 27, 66, 16, 48, 78, 55, 77, 44, 32, 28, 59, 30, 74, 37, 89, 10, 95, 58, 17, 50, 56, 51, 40, 78, 28, 30, 42, 57, 62, 39, 52, 45, 27, 63, 33, 32, 14, 43, 63, 46, 18, 46, 40, 86, 55, 51, 82, 57, 15, 45, 35, -17, 29, 63, 61, 65, 70, 91, 43, 40, 45, 53, 40, 46, 68, 50, 20, 21, 53, 53, 62, 67, 68, 86, 25, 31, 48, 66, 40, 87, 44, 31, 80, 85, 54, 74, 56, 41, 16, 54, 15, 66, 39, 20, 87, 91, 64, 43, 44, 31, 53, 47, 74, 50, 39, 62, 9, 30, 69, 46, 67, 39, 78, 31, 21, 73, 33, 33, 57, 71, 71, 47, 48, 62, 55, 67, 87, 23, 30, 47, 47, 49, 31, 51, 28, 4, 30, 2, 28, 50, 65, 58, 43, 43, 72, 54, 71, 42, 46, 53, 70, 56, 34, 15, 49, 49, 67, 45, 60, 32, 32, 50, 95, 32, 47, 51, 42, 61, 61, 37, 53, 42, 62, 43, 40, 59, 40, 77, -6, 70, 39, 49, 51, 37, 79, 60, 25, 52, 15, 39, 31, 12, 71, 27, 61, 34, 44, 36, 59, 47, 38, 46, 69, 72, 11, 68, 80, 6, 62, 42, 42, 62, 30, 51, 73, 47, 29, 59, 75, 85, 46, 70, 47, 44, 61, 36, 71, 51, 65, 61, 24, 80, 63, 51, 53, 42, 73, 63, 52, 38, 49, 61, 72, 28, 14, 38, 75, 8, 25, 24, 68, 58, 55, 32, 37, 51, 53, 41, 17, 34, 64, 42, 48, 51, 39, 27, 50, 49, 70, 67, 78, 57, 76, 58, 26, 47, 49, 46, 0, 33, 56, 20, 43, 66, 67, 83, 22, 38, 71, 81, 40, 49, 59, 68, 82, 36, 31, 50, 37, 37, 87, 47, 37, 59, 87, 41, 11, 79, 31, 18, 39, 52, 33, 58, 55, 81, 45, 32, 81, 66, 65, 14, 28, 83, 6, 80, 42, 70, 56, 62, 98, 23, 18, 49, 61, 61, 72, 60, 49, 66, 40, 66, -7, 34, 68, 59, 69, 39, 15, 45, 60, 37, 52, 5, 63, 66, 38, 54, 80, 33, 31, 34, 45, 41, 66, 56, 57, 36, 37, 41, 74, 61, 30, 46, 49, 35, 42, 71, 30, 54, 8, 64, 59, 61, 85, 70, 66, 90, 78, 57, 93, 86, 84, 41, 64, 48, 86, 51, 44, 23, 55, 41, 70, 71, 42, 24, 73, 28, 88, 59, 80, 68, 85, 92, 66, 28, 70, 69, 55, 76, 79, 61, 3, 41, 47, 38, 64, 47, 65, 80, 61, 42, 63, 60, 37, 33, 74, 42, 52, 22, 61, 67, 18, 31, 66, 35, 80, 34, 80, 32, 56, 48, 35, 76, 64, 34, 46, 56, 48, 46, 67, 76, 30, 56, 28, 66, 37, 70, 79, 51, 53, 47, 55, 38, 88, 50, 43, 44, 67, 49, 51, 48, 25, 44, 47, 75, 89, 66, 28, 40, 11, 68, 8, 56, 60, 80, 49, 75, 49, 55, 71, 30, 24, 45, 45, 24, 50, 72, 61, 74, 69, 21, 35, 32, 67, 81, 23, 41, 54, 48, 49, 73, 65, 26, 67, 62, 57, 37, 52, 66, 37, 37, 32, 58, 90, 70, 44, 73, 56, 62, 80, 53, 63, 21, 46, 54, 64, 36, 91, 24, 51, 21, 36, 67, 47, 66, 79, 40, 55, 70, 18, 31, 33, 58, 39, 50, 38, 43, 60, 61, 56, 48, 48, 68, 61, 52, 40, 59, 46, 35, 66, 22, 27, 37, -6, 42, 44, 63, 61, 57, 44, 82, 89, 66, 44, 64, 42, 55, 26, 40, 67, 51, 38, 27, 64, 20, 53, 15, 22, 26, 43, 16, 43, 48, 43, 30, 86, 59, 71, 68, 81, 11, 48, 71, 59, 54, 45, 67, 34, 42, 50, 65, 82, 51, 30, 52, 44, 77, 49, 18, 31, 77, 66, 37, 79, -3, 36, 51, 64, 41, 56, 83, 31, 11, 40, 40, 26, 25, 58, 58, 68, 64, 99, 42, 31, 51, 35, 61, 60, 57, 38, 61, 84, 33, 80, 69, 59, 21, 7, 28, 32, 36, 32, 50, 50, 45, 82, 52, 29, 67, 66, 48, 79, 60, 55, 36, 71, 51, 32, 33, 27, 52, 72, 32, 24, 63, 26, 37, 90, 66, 19, 52, 73, 72, 45, 64, 60, 52, 46, 30, 70, 46, 71, 51, 49, 39, 68, 48, 73, 58, 70, 62, 63, 25, 45, 48, 45, 54, 57, 70, 85, 67, 20, 10, 54, 46, 59, 41, 77, 75, 46, 43, 20, 42, 73, 48, -5, 29, 43, 54, 6, 50, 72, 58, 38, 46, 22, 46, 5, 32, 50, 13, 65, 12, 49, 54, 12, 91, 65, 96, 71, 50, 62, 35, 42, 50, 81, 95, 39, 52, 43, 27, 27, 59, 76, 60, 35, 34, 57, 16, 74, 45, 27, 56, 43, 49, 62, 74, 58, 58, 81, 39, 33, 27, 38, 76, 48, 57, 46, 63, 53, 32, 32, 16, 37, 53, 66, 31, 48, 27, 37, 51, 49, 68, 40, 27, 54, 77, 83, 42, 86, 68, 36, 50, 71, 44, 51, 72, 33, 60, 1, 45, 24, 50, 30, 19, 20, 67, 63, 26, 20, 26, 39, 51, 38, 27, 73, 61, 14, 88, 70, 70, 67, 57, 55, 45, 77, 52, 76, 31, 52, 54, 63, 18, 41, 49, 55, 79, 43, 64, 51, 30, 68, 47, 46, 43, 60, 35, 18, 34, 31, 49, 77, 98, 33, 63, 52, 66, 87, 44, 19, 42, 80, -6, 66, 57, 36, 34, 78, 81, 60, 35, 37, 7, 57, 40, 53, 32, 83, 43, 60, 79, 53, 36, 28, 69, 51, 59, 22, 39, 49, 59, 26, 52, 54, 49, 72, 46, 54, 16, 48, 38, 32, 59, 66, 38, 61, 35, -5, 28, 48, 59, 19, 73, 64, 45, 75, 54, 57, 39, 30, 65, 59, 18, 83, 56, 56, 60, 54, 21, 21, 15, 40, 48, 36, 27, 61, 55, 83, 31, 72, 65, 50, 27, 41, 29, 35, 14, 68, 47, 70, 44, 34, 56, 54, 65, 25, 32, 63, 74, 75, 50, 23, 23, 93, 54, 44, 37, 75, 9, 72, 57, 55, 100, 79, 75, 23, 62, 33, 41, 50, 30, 51, 43, 91, 52, 78, 32, 16, 40, 47, 33, 63, 71, 41, 26, 39, 23, 45, 58, 42, 68, 28, 67, 72, 40, 14, 37, 33, 47, 50, 27, 57, 58, 55, 47, 52, 72, 31, 104, 47, 59, 64, 44, 42, 67, 9, 50, 73, 56, 37, 73, 42, 42, 64, 63, 74, 64, 72, 49, 19, 51, 52, 15, 71, 59, 32, 44, 59, 46, 26, 53, 34, 35, 61, 69, 43, 30, 61, 74, 52, 78, 24, 45, 20, 77, 65, 38, 49, 70, 49, 46, 42, 52, 52, 42, 45, 35, 38, 114, 20, 37, 39, 23, 48, 29, 21, 61, 56, 100, 55, 49, 41, 25, 76, 87, 38, 76, 70, 60, 52, 39, 32, 13, 46, 71, 82, 74, 40, 38, 29, 34, 98, 44, 44, 66, 68, 32, 64, 51, 64, 25, 55, 37, 53, 62, 74, 42, 72, 62, 59, 56, 50, 59, 66, 35, 58, 26, 1, 23, 84, 66, 53, 76, 58, 51, 75, 68, 81, 73, 64, 72, 46, 4, 44, 39, 41, 67, 61, 49, 85, 37, 81, 53, 81, 50, 68, 37, 47, 80, 55, 63, 25, 31, 89, 67, 59, 67, 17, 64, 83, 13, 55, 53, 64, 62, 37, 41, 79, 38, 28, 24, 46, 28, 55, 47, 92, 0, 14, 37, 32, 49, 38, 1, 75, 58, 74, 30, 33, 63, 9, 31, 57, 59, 38, 44, 66, 48, 29, 47, 92, 73, 72, 60, 53, 50, 43, 23, 53, 21, 38, 47, 50, 34, 35, 28, 51, 64, 40, 64, 60, 67, 26, 3, 55, 75, 46, 52, 62, 46, 39, 55, 22, 41, 29, 52, 76, 39, 42, 31, 45, 47, 65, 25, 49, 59, 40, 47, 23, 65, 63, 38, 49, 42, 45, 51, 78, 61, -1, 60, 25, 64, 34, 7, 44, 45, 56, 43, 13, 66, 11, 72, 68, 42, 36, 73, 32, 20, 86, 61, 31, 36, 32, 67, 64, 62, 49, 31, 61, 84, 61, 68, 53, 48, 32, 65, 98, 36, 62, 53, 42, 38, 56, 43, 48, 19, 49, 55, 36, 57, 47, 21, 54, 47, 36, 22, 84, 61, 22, 45, 63, 63, 46, 23, 83, 57, 47, 69, 39, 67, 38, 29, 44, 30, 58, 7, 83, 49, 89, 60, 60, 40, 38, 27, 67, 39, 15, 75, 44, 20, 29, 67, 46, 64, 46, 44, 69, 22, 43, 64, 37, 37, 66, 47, 56, 55, 30, 60, 66, 25, 62, 32, 70, 66, 59, 21, 53, 20, 47, 37, 8, 62, 69, 38, 45, 44, 52, 66, 78, 43, 34, 6, 34, 79, 29, 82, 49, 34, 47, 78, 79, 74, 26, 41, 83, 61, 41, 44, 37, 41, 57, 57, 54, 31, 60, 84, 46, 59, 93, 43, 22, 46, 50, 48, 53, 67, 63, 31, 47, 37, 47, 85, 65, 54, 42, 48, 28, 73, 60, 30, 72, 25, 18, 75, 38, 46, 48, 30, 41, 71, 71, 31, 21, 26, 73, 50, 83, 33, 46, 27, 46, 44, 9, 93, 56, 42, 86, 40, 51, 59, 42, 24, 18, 74, 61, 30, 5, 42, 72, 77, 54, 67, 47, 24, 30, 61, 63, 65, 54, 16, 32, 32, 23, 2, 77, 85, 51, 27, 82, 67, 15, 68, 53, 66, 47, 58, 78, 36, 71, 50, 41, 32, 34, 30, 53, 30, 47, 68, 74, 62, 67, 73, 40, 56, 15, 83, 38, 66, 59, 74, 26, 25, 69, 51, 58, 34, 95, 59, 48, 75, 37, 84, 37, 48, 73, 25, 68, 40, 78, 41, 36, 33, 26, 35, 72, 63, 54, 47, 68, 51, 42, 22, 65, 23, 87, 77, 22, 59, 42, 66, 15, 61, 31, 45, 49, 55, 66, 87, 60, 102, 40, 44, 24, 51, 79, 57, 26, 41, 39, 47, 25, 63, 14, 35, 51, 59, 58, 42, 31, 16, 48, 48, 50, 69, 68, 75, 63, 78, 59, 37, 36, 74, 9, 66, 34, 43, 40, 47, 47, 73, 51, 20, 45, 37, 42, 34, 67, 59, 20, 85, 62, 37, 45, 92, 49, 83, 50, 45, 23, 52, 77, 46, 60, 81, 67, 50, 72, 51, 23, 57, 69, 50, 93, 57, 40, 79, 41, 44, 61, 48, 77, 24, 90, 58, 18, 62, 81, 55, 42, 61, 66, 17, 52, 43, 57, 21, 28, 48, 29, 29, 31, 36, 17, 28, 25, 89, 33, 52, 31, 64, 41, 32, 37, 47, 56, 57, 73, 46, 59, 27, 48, 56, 30, 30, 87, 54, 27, 49, 35, 87, 24, 35, 40, 63, 54, 53, 30, 78, 43, 59, 68, 36, 45, 58, 57, 36, 53, 55, 46, 53, 46, 5, 77, 6, 39, 40, 32, 11, 69, 56, 25, 90, 27, 64, 53, 14, 55, 35, 46, 80, 30, 46, 41, 28, 64, 58, 36, 68, 29, 66, 70, 60, 25, 49, 72, 83, 46, 82, 81, 58, 31, 80, 29, 30, 35, 70, 84, 66, 15, 33, 30, 26, 24, 43, 58, 82, 44, 40, 15, 64, 50, 48, 49, 27, 58, 53, 53, 62, 48, 45, 81, 39, 57, 20, 34, 61, 58, 46, 16, 47, 38, 41, 45, 30, 64, 47, 37, 25, 14, 66, 45, 71, 3, 58, 66, 74, 53, 67, 48, 70, 48, 21, 45, 62, 48, 50, 43, 67, 48, 34, 54, 62, 66, 57, 39, 38, 68, 59, 18, 64, 43, 109, 49, 58, 57, 32, 30, 78, 37, 23, 55, 56, 70, 26, 67, 41, 28, 20, 44, 37, 94, 60, 21, -5, 44, 82, 40, 28, 80, 47, 79, 31, 65, 83, 81, 24, 29, 55, 67, 79, 32, 44, 78, 61, 41, 62, 40, 42, 67, 70, 45, 55, 31, 83, 68, 67, 31, 62, 43, 49, 47, 42, 31, 55, 52, 33, 42, 61, 36, 73, 47, 56, 55, 59, 76, 72, 52, 38, 94, 17, 27, 40, 62, 35, 41, 65, 17, 55, 38, 28, 62, 59, 41, 40, 11, 89, 34, 27, 50, 63, 49, 66, 25, 68, 59, 96, 53, 54, 47, 14, 59, 68, 56, 38, 86, 45, 36, 61, 21, 80, 53, 46, 21, 28, 66, 47, 45, 27, 31, 47, 84, 35, 21, 33, 61, 86, 23, 34, 23, 31, 51, 69, 57, 93, 31, 27, 43, 49, 21, 40, 36, 42, 28, 52, 42, 38, 55, 54, 38, 67, 72, 22, 46, 79, 27, 75, 64, 48, 32, 43, 55, 33, 19, 84, 26, 25, 37, 59, 37, 56, 41, 63, 49, 60, 51, 20, 82, 65, 39, 84, 56, -1, 51, 30, 32, 29, 10, 33, 29, 49, 39, 45, 49, 88, 50, 40, 27, 55, 56, 79, 54, 16, 40, 42, 70, 57, 28, 78, 60, 50, 30, 10, 74, 51, 59, 45, 64, 67, 34, 39, 55, 13, 80, 52, 42, 73, -8, 63, 70, 41, 22, 84, 71, 31, 41, 41, 11, 25, 75, 42, 54, 54, 69, 57, 41, 62, 50, 73, 42, 63, 26, 53, 59, 30, 46, 43, 40, 28, 49, 76, 52, 31, 22, 97, 58, 40, 45, 38, 62, 63, 84, 69, 65, 80, 66, 20, 61, 46, 51, 37, 39, 39, 59, 54, 48, 38, 78, 53, 47, 50, 32, 41, 23, 30, 63, 33, 53, 65, 63, 27, 57, 59, 36, 44, 27, 75, 20, 16, 34, 71, 72, 47, 55, 68, 52, 70, 97, 49, 21, 41, 86, 22, 75, 58, 63, 87, 21, 54, 67, 51, 34, 52, 45, 39, 51, 61, 56, 56, 3, 27, 34, 25, 39, 55, 20, 62, 55, 26, 26, 45, 34, 44, 61, 36, 56, 28, 79, 79, 36, 31, 63, 69, 87, 46, 51, 83, 62, 31, 74, 67, 71, 49, 24, 19, 41, 58, 62, 36, 58, 51, 29, 29, 50, 47, 73, 15, 29, 23, 55, 35, 69, 60, 43, 68, 35, 33, 38, 39, 69, 75, 52, 45, 42, 51, 63, 85, 43, 40, 42, 47, 44, 59, 43, 41, 45, 62, 27, 34, 39, 40, 35, 19, 23, 36, 36, 23, 30, 45, 54, 65, 37, 67, 86, 57, 52, 44, 72, 92, 56, 46, 17, 2, 46, 85, 21, 47, 23, 82, 45, 35, 49, 56, 99, 11, 57, 52, 33, 49, 52, 62, 55, 33, 48, 43, 43, 85, 76, 42, 76, 65, 53, 65, 63, 48, 90, 56, 63, 51, 38, 61, 65, 42, 64, 55, 25, 48, 84, 53, 62, 64, 19, 39, 52, 54, 16, 67, 64, 62, 51, 66, 105, 35, 67, 59, 54, 70, 24, 58, 91, 60, 50, 77, 59, 45, 49, 34, 63, 9, 90, 66, 43, 30, 64, 36, 47, 77, 58, 31, 56, 38, 39, 8, 26, 57, 77, 76, 52, 39, 45, 60, 61, 68, 54, 67, 37, 45, 36, 39, 51, 34, 47, 23, 48, 20, 53, 74, 36, 14, 38, 47, 27, 64, 23, 38, 64, 48, 39, 63, 53, 32, 33, 72, 54, 62, 62, 76, 60, 33, 87, 57, 47, 37, 43, 44, 49, 47, 64, 35, 71, 35, 24, 46, 55, 71, 43, 35, 44, 40, 45, 74, 28, 43, 64, 34, 13, 39, 40, 45, 56, 63, 42, 43, 71, 86, 23, 62, 41, 74, 11, 12, 40, 54, 32, 75, 74, 62, 43, 45, 24, 57, 38, 69, 72, 63, 75, 25, 60, 40, 49, 75, 63, 58, 54, 34, 44, 23, 35, 58, 41, 60, 71, 66, 83, 71, 72, 34, 72, 59, 47, 50, 66, 48, 41, 79, 46, 39, 76, 47, 22, 27, 36, 60, 19, 63, 44, 41, 65, 42, 39, 62, 63, 41, 78, 36, 62, 66, 30, 55, 35, 29, 69, 68, 55, 47, 76, 101, 22, 21, 50, 94, 47, 55, 42, 28, 65, 54, 50, 67, 57, 85, 39, 70, 59, 52, 56, 52, 52, 44, 77, 51, 56, 27, 26, 64, 51, 32, 73, 51, 28, 51, 79, 47, 49, 72, 23, 47, 46, 55, 16, 93, 25, 44, 53, 20, 52, 94, 53, 44, 66, 37, 71, 14, 34, 33, 28, 31, 45, 50, 56, 66, 15, 54, 80, 35, 59, 54, 29, 76, 59, 52, 46, 67, 14, 39, 63, 26, 6, 37, 73, 61, 70, 96, 36, 72, 57, 74, 45, 20, 42, 61, 49, 32, 44, 31, 46, 72, -2, 46, 45, 49, 47, 46, 35, 39, 75, 29, 79, 79, 35, 66, 65, 29, 48, 56, 62, 32, 48, 33, 35, 31, 33, 77, 39, 57, 34, 16, 40, 49, 24, 61, 60, 71, 56, 65, 52, 30, 63, 70, 54, 25, 43, 44, 46, 65, 51, 51, 34, 86, 68, 61, 32, 49, 34, 57, 33, 65, 38, 30, 38, 59, 50, 35, 48, 65, 42, 52, 37, 42, 78, 56, 29, 52, 64, 25, 41, 46, 58, 32, 52, 31, 53, 84, 24, 49, 55, 2, 26, 10, 38, 62, 43, 46, 3, 36, 67, 42, 29, 53, 119, 56, 96, 49, 44, 47, 17, 26, 67, 66, 37, 21, 37, 52, 83, 78, 58, 63, 60, 8, 79, 51, 38, 70, 60, 67, 62, 75, 30, 63, 68, 46, 70, 47, 45, 59, 84, 67, 36, 65, 53, 54, 85, 37, 51, 73, 38, 52, 18, 70, 58, 66, 66, 81, 9, 55, 39, 60, 38, 65, 74, 59, 69, 55, 65, 72, 56, 62, 45, 24, 50, 36, 14, 51, 54, 36, 37, 79, 30, 101, 54, 40, 62, 56, 69, 80, 66, 27, 37, 38, 52, 19, 61, 48, 70, 45, 58, 57, 58, 50, 73, 33, 69, 50, 33, 65, 45, 62, 62, 40, 68, 49, 9, 38, 40, 44, 52, 85, 81, 82, 37, 50, 27, 70, 23, 23, 77, 26, 35, 62, 68, 59, 22, 33, 38, 7, 38, 79, 54, 64, 52, 50, 58, 47, 35, 53, 31, 7, 47, 107, 53, 56, 53, 42, 52, 64, 59, 24, 42, 65, 95, 30, 61, 29, 31, 45, 52, 44, 59, 68, 20, 61, 41, 42, 31, 42, 39, 50, 63, 76, 39, 31, 60, 47, 39, 43, 49, 39, 72, 42, 67, 37, 50, -4, 66, 45, 38, 42, 62, 37, 42, 39, 50, 60, 82, 39, 64, 59, 22, 42, 31, 63, 80, 35, 27, 84, 50, 59, 56, 20, 45, 60, 35, 53, 9, 27, 61, 56, 65, 49, 46, 56, 51, 81, 43, 72, 54, 78, 44, 86, 64, 51, 61, 58, 57, 63, 62, 63, 66, 77, 35, 52, 53, 53, 69, 52, 65, 29, 23, 28, 31, 43, 27, 35, 75, 52, 13, 94, 46, 85, 78, 10, 62, 77, 58, 85, 31, 37, 70, 72, 61, 61, 47, 55, 46, 50, 15, 21, 52, 63, 57, 37, 67, 86, 61, 53, 14, 58, 16, 52, 34, 34, 45, 63, 46, 54, 49, 46, 12, 49, 66, 33, 49, 53, 65, 29, 46, 54, 70, 69, 27, 53, 36, 38, 58, 30, 62, 33, 54, 12, 54, 41, 8, 59, 49, 44, 82, 51, 52, 37, 65, 11, 46, 41, 51, 43, 52, 60, 35, 50, 51, 30, 35, 60, 32, 40, 81, 48, 60, 66, 43, 21, 58, 70, 35, 58, 68, 71, 47, 47, 25, 39, 39, 60, 28, 60, 28, 80, 21, 69, 45, 73, 21, 81, 73, 72, 32, 36, 35, 60, 63, 13, 28, 38, 28, 51, 41, 42, 34, 29, 53, 44, 22, 61, 41, 50, 47, 71, 61, 50, 30, 19, 102, 89, 29, 77, 49, 46, 40, 23, 52, 49, 38, 54, 20, 71, 71, 27, 39, 54, 67, 73, 36, 64, 43, 35, 36, 37, 15, -2, 66, 83, 48, 30, 43, 56, 34, 63, 75, 28, 61, 80, 35, 40, 50, 40, 35, 58, 56, 73, 47, 40, 70, 59, 98, 42, 59, 35, 86, 29, 5, 86, 69, 50, 21, 28, 67, 47, 38, 35, 46, 33, 67, 4, 30, 26, 62, 54, 91, 10, 68, 74, 20, 54, 27, 75, 69, 36, 57, 59, 47, 46, 26, 31, 68, 47, 34, 8, 28, 54, 25, 20, 38, 28, 66, 60, 27, 69, 36, 73, 61, 66, 49, 41, 69, 26, 34, 41, 35, 60, 21, 34, 77, 72, 63, 71, 24, 55, 56, 81, 28, 9, 77, 30, 44, 56, 59, 53, 38, 50, 21, 66, 43, 73, 75, 41, 84, 75, 43, 60, 53, 69, 68, 77, 21, 53, 19, 53, 49, 38, 60, 32, 24, 50, 52, 57, 27, 70, 87, 69, 63, 46, 75, 52, 46, 66, 24, 48, 41, 78, 48, 49, 51, 73, 77, 32, 79, 45, 54, 61, 74, 61, 24, 73, 32, 66, 32, 64, 67, 83, 81, 29, 60, 66, 51, 49, 79, 50, 46, 15, 28, 60, 50, 35, 80, 57, 36, 86, 58, 51, 40, 49, 49, 83, 24, 64, 62, 64, 50, 69, 29, 41, 66, 44, 80, 34, 23, 47, 44, 63, 32, 45, 19, 76, 40, 49, 44, 44, 64, 28, 37, 44, 31, 72, 89, 39, 15, 66, 70, 15, 16, 69, 16, 74, 42, 48, 21, 51, 25, 51, 36, 34, 38, 32, 46, 85, 34, 35, 1, 60, 63, 34, 39, 43, 17, 62, 60, -4, 33, 22, 39, 43, 27, 44, 43, 69, 71, 57, 28, 17, 56, 9, 60, 64, 74, 50, 13, 61, 23, 41, 12, 70, 75, 64, 5, 63, 32, 62, 64, 58, 45, 55, 40, 68, 40, 67, 47, 32, 13, 66, 77, 22, 28, 77, 39, 41, 80, 28, 65, 44, 37, 38, 69, 49, 51, 20, 28, 90, 87, 15, 36, 31, 75, 69, 70, 24, 54, 37, 54, 48, 56, 32, 70, 79, 59, 59, 48, 57, 26, 59, 36, 96, 40, 43, 22, 80, 64, 30, 50, 54, 15, 105, 76, 40, 35, 28, 29, 72, 72, 67, 23, 37, 54, 74, 93, 69, 34, 47, 49, 47, 42, 29, 39, 62, 72, 59, 38, 69, 27, 70, 15, 55, 58, 76, 76, 51, 49, 94, 43, 25, 58, 27, 66, 49, 49, 40, 79, 65, 56, 20, 78, 44, 12, 68, 60, 49, 20, 69, 63, 21, 34, 49, 63, 78, 50, 74, 38, 61, 12, 78, 42, 58, 64, 36, 94, 47, 63, 48, 70, 20, 62, 43, 76, 61, 41, 67, 19, 77, 48, 34, 71, 65, 73, 38, 80, 79, 37, 53, 76, 68, 54, 65, 57, 58, 69, 62, 52, 31, 56, 62, -20, 58, 29, 49, 84, 73, 54, 72, 39, 53, 24, 60, 41, 48, 28, 63, 45, 29, 48, 54, 54, 39, 55, 51, 68, 10, 97, 82, 25, 60, 45, 58, 62, 71, 38, 48, 27, 29, 33, 58, 45, 59, 47, 56, 48, 37, 41, 48, 86, 51, 30, 63, 58, 46, 36, 54, 77, 61, 71, 19, 54, 77, 74, 52, 73, 38, 47, 45, 74, 70, 49, 56, 80, 34, 41, 29, 53, 32, 75, 26, 49, 43, 83, 68, 38, 39, 52, 90, 57, 53, 72, 83, 40, 37, 60, 50, 58, 39, 19, 44, 51, 60, 33, 26, 81, 28, 37, 63, 52, 55, 13, 56, 51, 65, 38, 55, 73, 45, 64, 36, 51, 39, 72, 34, 52, 49, 76, 54, 28, 57, 57, 76, 52, 73, 41, 62, 39, 12, 52, 27, 83, 13, 71, 48, 62, 36, 33, 63, 64, 50, 49, 34, 73, 33, 43, 87, 40, 51, -3, 41, 61, 41, 42, 62, 39, 65, 112, 63, 32, 64, 25, 35, 52, 65, 48, 63, 68, 66, 38, 68, 77, 58, 44, 76, 75, 28, 54, 54, 22, 61, 50, 49, 65, 36, 19, 73, 59, 10, 45, 18, 57, 48, 33, 82, 83, 79, 62, 57, 75, 39, 23, 62, 66, 18, 25, -13, 20, 49, 4, 100, 38, 43, 41, 20, 58, 92, 65, 33, 26, 53, 4, 38, 48, 39, 108, 46, 34, 35, 104, 98, 63, 69, 61, 74, 88, 65, 50, 26, 50, 46, 40, 63, 40, 49, 41, 53, 56, 14, 70, 58, 17, 57, 52, 48, 19, 47, 43, 41, 19, 39, 55, 69, 33, 42, 62, 62, 36, 31, 56, 51, 40, 33, 44, 44, 53, 45, 23, 83, 17, 90, 47, 57, 43, 56, 74, 35, 51, 33, 51, 66, 44, 90, 50, 40, 24, 43, 28, 56, 60, 47, 37, 90, 49, 85, 43, 32, 74, 67, 50, 35, 46, 28, -7, 38, 43, 58, 3, 67, 43, 16, 33, 44, 43, 76, 28, 66, 61, 46, 62, 68, 37, 31, 73, 45, 49, 47, 13, 63, 69, 86, 47, 87, 56, 70, 44, 35, 76, 33, 47, 32, 58, 31, 58, 44, 26, 53, 63, 69, 10, 44, 71, 51, 47, 73, 66, 20, 54, 41, 37, 50, 37, 43, 52, 49, 56, 43, 58, 41, 67, 29, 24, 46, 33, 47, 47, 39, 49, 60, 59, 17, 40, 49, 23, 23, 41, 38, 53, 10, 12, 58, 54, 67, 54, 45, 30, 16, 67, 74, 35, 23, 16, 64, 72, 19, 61, 79, 65, 32, 55, 62, 42, 41, -6, 70, 52, 82, 41, 41, 19, 17, 67, 90, 85, 33, 33, 62, 49, 67, 34, 71, 38, 41, 30, 58, 79, 25, 40, 45, 65, 32, 31, 60, 71, 60, 53, 60, 40, 52, 54, 31, 63, 48, 64, 86, 52, 27, 47, 54, 41, 46, 37, 62, 57, 76, 89, 62, 37, 73, 81, 68, 28, 33, 51, 30, 25, 42, 44, 11, 21, 39, 40, 48, 39, 25, 36, 33, 21, 44, 77, -12, 79, 33, 56, 69, 73, 68, 67, 59, 56, 55, 43, 46, 57, 33, 44, 65, 22, 50, 14, 79, 49, 35, 56, 45, 34, 55, 50, 63, 37, 77, 60, 40, 48, 69, 45, 63, 52, 23, 35, 62, 28, 77, 98, 57, 50, 48, 59, 36, 25, 58, 60, 65, 48, 81, 55, 62, 55, 68, 27, 52, 69, 69, 66, 16, 50, 54, 39, 76, 18, 63, 82, 49, 114, 26, 48, 65, 33, 6, 98, 67, 43, 43, 50, 37, 20, 48, 27, 79, 69, 60, 46, 32, 35, 46, 6, 69, 18, 77, 40, 8, 43, 43, 55, 72, 62, 38, 39, 36, 14, 48, 80, 18, 29, 11, 37, 63, 44, 30, 47, 73, 64, 52, 65, 54, 14, 60, 84, 61, 43, 81, 40, 40, 38, 62, 65, 45, 82, 51, 60, 74, 38, 56, 58, 0, 37, 41, 23, 25, 58, 59, 49, 58, 66, 38, 57, 44, 60, 59, 33, 81, 53, 70, 55, 36, 45, 33, 16, 32, 68, 21, 64, 77, 46, 27, 66, 58, 1, 32, 58, 73, 42, 56, 43, 96, 63, 45, 54, 59, 34, 76, 40, 63, 84, 36, 2, 41, 44, 72, 58, 78, 39, 67, 94, 54, 67, 37, 58, 82, 24, 58, 31, 61, 31, 45, 28, 51, 8, 57, 56, 44, 49, 66, 58, 56, 53, 46, 33, 53, 46, 44, 60, 76, 85, 41, 57, 52, 28, 59, 65, 32, 43, 58, 66, 31, 40, 37, 48, 40, 45, 41, 42, 55, 47, 52, 55, 37, -7, 44, 50, 21, 56, 52, 74, 31, 71, 52, 95, 28, 77, 27, 56, 16, 54, 72, 33, 64, 68, 40, 65, 47, 46, 25, 59, 11, 60, 59, 52, 58, 49, 61, 95, 28, 67, 38, 37, 73, 47, 45, 61, 26, 65, 46, 23, 63, 30, 43, 42, 117, 45, 50, 74, 35, 73, 48, 70, 78, 71, 43, 92, 40, 45, 88, 35, 78, 66, 67, 47, 53, 24, 52, 33, 61, 32, 26, 89, 12, 18, 20, 69, 18, 41, 39, 38, 10, 34, 38, 42, 49, 16, 49, 37, 45, 31, 51, 31, 71, 81, 67, 56, 83, 48, 63, 41, 54, 12, 54, 41, 50, 23, 77, 47, 91, 73, 23, 39, 67, 52, 83, 65, 83, 37, 54, 38, 26, 23, 93, 58, 61, 71, 59, 73, 58, 17, 47, 61, 26, 52, 77, 89, 28, 78, 52, 60, 16, 55, 38, 53, 32, 21, 67, 37, 46, 42, 55, 66, 50, 60, 78, 46, 1, 88, 43, 86, 36, -4, 46, 53, 70, 46, 45, 66, 61, 49, 37, 46, 47, 45, 32, 18, 57, 24, 38, 58, 47, 30, 31, 37, 89, 7, 53, 65, 54, 34, 84, 45, 43, 68, 78, 87, 87, 87, 60, 38, 60, 98, 70, 73, 30, 37, 45, 57, 60, 51, 40, 70, 28, 32, 71, 58, 44, 55, 54, 55, 40, 60, 85, 43, 23, 17, 49, 21, 73, 26, 31, 50, 57, 23, 34, 68, 48, -10, 53, 36, 35, 47, 54, 56, 15, 53, 52, 58, 30, 63, 20, 67, 20, 30, 63, 56, 63, 12, 64, 16, 60, 64, 66, 60, 72, 53, 41, 25, 27, 77, 32, 55, 32, 32, 54, 90, 40, 61, 81, 20, 56, 30, 29, 53, 53, 70, 42, 52, 61, 76, 35, 49, 30, 70, 27, 77, 57, 43, 73, 49, 38, 75, 48, 46, 43, 54, 65, 42, 61, 58, 46, 35, 37, 66, 1, 62, 68, 84, 72, 18, 51, 39, 21, 61, 26, 56, 84, 62, 77, 72, 63, 34, 47, 46, 53, 57, 64, 68, 80, 55, 40, 39, -3, 35, 81, 46, 40, 46, 70, 40, 47, 51, 89, 87, 49, 58, 63, 64, 42, 89, 45, 45, 37, 46, 26, 62, 68, 30, 58, 37, 37, 4, 48, 31, 73, 5, 55, 65, 42, 96, 42, 67, 79, 58, 34, 36, 38, 41, 41, 49, 76, 44, 61, 28, 56, 13, 90, 42, 30, 71, 68, 34, 32, 59, 28, 55, 31, 51, 67, 46, 60, 89, 37, 35, 56, 57, 27, 61, 70, 35, 73, 53, 69, 31, 65, 67, 63, 67, 63, 54, 70, 93, 53, 48, 8, 42, 56, 47, 21, 28, 42, 31, 57, 42, 48, 57, 54, 45, 47, 60, 55, 67, 66, 45, 32, 55, 4, 38, 52, 30, 65, 30, 34, 16, 30, 76, 43, 38, 29, 23, 69, 80, 30, 41, 31, 51, 44, 65, 16, 67, 23, 55, 18, 30, 72, 46, 61, 45, 45, 54, 74, 29, 44, 71, 31, 39, 69, 14, 59, 37, 33, 75, 41, 77, 49, 58, 50, 17, 45, 73, 51, 26, 43, 52, 76, 4, 64, 51, 62, 59, 19, 99, 63, 29, 19, 37, 34, 36, 36, 68, 57, 70, 87, 81, 64, 29, 58, 76, 69, 10, 30, 79, 44, -5, 56, 68, 64, 35, 53, 68, 78, 61, 1, 63, 45, 46, 39, 5, 33, 30, 48, 37, 45, 58, 47, 44, 51, 56, 64, 12, 66, 55, 36, 45, 51, 15, 37, 65, 32, 59, 48, 55, 40, 28, 42, 75, 66, 63, 39, 62, 108, 57, 69, 81, 50, 87, 32, 68, 44, 4, 48, 58, 23, 59, 65, 66, 60, 71, 45, 34, 39, 77, 54, 33, 60, 72, 60, 71, 31, 92, 45, 38, 67, 59, 33, 47, 24, 49, 48, 28, 58, 55, 39, 91, 14, 61, 54, 46, 75, 42, 57, 23, 30, 20, 26, -2, 65, 63, 51, 71, 75, 32, 45, 50, 73, 47, 65, 45, 39, 65, 55, 38, 47, 48, 8, 12, 51, 43, 62, 40, 1, 42, 89, 60, 55, 48, 3, 53, 53, 69, 76, 72, 13, 29, 50, 79, 45, 6, 11, 53, 12, 38, 63, 46, 97, 18, 39, 59, 44, 35, 51, 37, 71, 87, 92, 63, 49, 65, 50, 53, 37, 32, 88, 64, 55, 30, -12, 60, 50, 29, 49, 65, 65, 27, 37, 27, 59, 64, 72, 54, 16, 70, 33, 56, 73, 62, 22, 62, 52, 53, 81, 83, 44, 47, 36, 85, 44, 42, 32, 44, 63, 58, 52, 34, 66, 41, 66, 53, 16, 50, 12, 32, 26, 49, 12, 22, 46, 68, 48, 58, 44, 50, 80, 30, 48, 85, 68, 69, 74, 86, 32, 28, 78, 45, 32, 31, 35, 70, 40, 62, 97, 34, 75, 67, 92, 79, 19, 22, 36, 30, 34, 55, 35, 36, 50, 76, 5, 45, 69, 41, 50, 64, 89, 43, 23, 72, 69, 25, 62, 59, 34, 52, 52, 47, 57, 36, 85, 105, 28, 18, 5, 69, 69, 87, 58, 42, 43, 76, 52, 50, 75, 34, 57, 66, 50, 49, 75, 22, 11, 54, 22, 49, 17, 66, 62, 51, 46, 71, 73, 54, 41, 59, 92, 69, 56, 52, 48, 52, 54, 31, 42, 46, 20, 59, 33, 25, 80, 40, 26, 62, 74, 64, 56, 19, 62, 66, 43, 59, 35, 51, 62, 37, 45, 65, 68, 47, 53, 40, 55, 62, 60, 92, 19, 47, 33, 38, 40, 38, 46, 18, 60, 29, 59, 41, 50, 32, 35, 39, 32, 110, 44, 48, 35, 30, 42, 54, 37, 56, 20, 84, 39, 68, 57, 73, 78, 31, 58, 56, 26, 45, 40, 48, 35, 64, 59, 48, 62, 26, 42, 22, 30, 87, 47, 62, 59, 66, 64, 67, 32, 80, 48, 12, 34, 41, 54, 89, 49, 37, 36, 46, 22, 52, 61, 42, 26, 45, 85, 52, 30, 64, 94, 71, 14, 32, 29, 40, 53, 20, 69, 64, 46, 73, 67, 45, 24, 70, 83, 29, 41, 66, 26, 53, 75, 51, 60, 27, 73, 50, 41, 38, 25, 65, 67, 76, 33, 9, 52, 39, 65, 21, 14, 42, 24, 89, 56, 33, 65, 59, 53, 53, 43, 33, 47, 48, 51, 39, 77, 10, 59, 41, 25, 89, 44, 46, 34, 36, 27, 26, 32, 40, 63, 37, 63, 36, 57, 21, 65, 27, 35, 46, 107, 104, 67, 15, 34, 40, 95, 56, 41, 47, 66, 62, 47, 35, 63, 53, 46, 24, 30, 31, 52, 43, 83, 98, 82, 70, 65, 77, 33, 79, 22, 57, 14, 65, 45, 61, -5, 47, 62, 34, 48, 47, 42, 75, 57, 37, 34, 27, 21, 62, 65, 39, 70, 31, 48, 43, 28, 74, 26, 76, 57, 28, 56, 42, 63, 56, 54, 66, 24, 89, 83, 59, 67, 58, 30, 82, 64, 26, 37, 44, 58, 27, 46, 48, 60, 37, 65, 41, 46, 78, 52, 42, 51, 41, 30, 42, 75, 44, 22, 54, 46, 53, 22, 36, 69, 52, 52, 54, 45, 70, 33, 49, 44, 40, 45, 79, 40, 66, 17, 48, 49, 56, 81, 74, 67, 73, 40, 55, 30, 74, 80, 62, 68, 51, 72, 51, 55, 43, 69, 62, 43, 57, 46, 21, 77, 84, 51, 34, 16, 67, 21, 50, 99, 41, 16, 66, 67, 62, 56, 61, -13, 91, 58, 37, 20, 46, 49, 85, 57, 64, 53, 30, 68, 22, 29, 49, 41, 53, 47, 35, 49, 34, 95, 56, 50, 59, 51, 60, 67, 78, 66, 18, 46, 54, 57, 82, 45, 73, 73, 61, 40, 46, 55, 64, 15, 71, 9, 49, 33, 37, 29, 85, 58, 47, 47, 48, 33, 64, 39, 13, 41, 84, 65, 62, 47, 41, 91, 72, 70, 45, 61, 77, 55, 29, 54, 31, 59, 55, 37, 67, 50, 39, 88, 68, 74, 66, 42, 33, 50, 53, 21, 51, 54, 30, 41, 90, 82, 41, 11, 52, 30, 70, 46, 42, 53, 38, 49, 20, 89, 47, 31, 57, 57, 64, 73, 58, 50, 71, 69, 59, 69, 31, 61, 21, 37, 63, 56, 39, 58, 7, 86, 36, 61, 74, 43, 20, 34, 32, 64, 23, 24, 32, 23, 37, 62, 33, 42, 60, 37, 59, 40, 62, 47, 95, 62, 31, 52, 36, 38, 80, 73, 114, 80, 34, 36, 51, 55, 70, 52, 33, 67, 39, 44, 22, 53, 83, 8, 50, 93, 46, 32, 57, 39, 45, 47, 67, 73, 84, 63, 33, 73, 44, 80, 44, 40, 74, 78, 98, 45, 32, 52, 110, 47, 35, 79, 60, 42, 50, 43, 27, 51, 46, 15, 49, 51, 8, 32, 51, 51, 58, 64, 26, 42, 58, 27, 70, 90, 43, 31, 43, 58, 96, 48, 64, 46, 52, 56, 74, 46, 15, 38, 83, 32, 61, 73, 68, 56, 67, 39, 82, 33, 89, 64, 52, 25, 41, 26, 75, 55, 82, 70, 24, 67, 84, 49, 40, 27, 31, 70, 86, 83, 56, 41, 65, 42, 29, 31, 44, 71, 89, 75, 22, 33, 52, 27, 48, 31, 28, 37, 77, 60, 35, 79, 40, 46, 60, 32, 45, 93, 50, 55, 38, 54, 9, 29, 49, 38, 44, 26, 56, 45, 38, 60, 43, 34, 39, 73, 44, 59, 94, 60, 19, 47, 27, 73, 48, 34, 10, 56, 10, 0, 65, 29, 87, 48, 49, 90, 45, 67, 57, 66, 61, 52, 78, 47, 67, 41, 46, 38, 35, 50, 53, 37, 41, 48, 38, 45, 39, 18, 77, 49, 40, 61, 61, 38, 10, 51, 31, 111, 63, 50, 67, 60, 50, 53, 24, 43, 44, 27, 37, 33, 51, 40, 46, 56, 45, 37, 61, 56, 27, 61, 36, 54, 25, 84, 24, 42, 58, 69, 41, 10, 42, 69, 30, 74, 52, 62, -2, 67, 11, 66, 59, 42, 55, 51, 52, 60, 52, 56, 43, 11, 44, 63, 57, 17, 57, -15, 29, 77, 56, 46, 57, 48, 55, 40, 43, 23, 35, 43, -7, 60, 71, 44, 59, 38, 33, 20, 86, 60, 32, 54, 54, 61, 50, 63, 55, 55, 48, 81, 80, 63, 48, 35, 39, 59, 51, 14, 43, 35, 50, 94, 34, 36, 18, 74, 84, 33, 45, -13, 26, 35, 40, 48, 69, 62, 55, 42, 74, 78, 91, 107, 30, 53, 20, 49, 33, 45, 43, 57, 35, 88, 64, 18, 44, -30, 57, 63, 63, 67, 53, 58, 63, 55, 32, 84, 27, 73, 58, 68, 34, 73, 76, 51, 17, 41, 59, 56, 64, 41, 31, 68, 76, 62, 89, 41, 55, 48, 73, 90, 67, 52, 41, 54, 49, 78, 13, 59, 73, 49, 55, 74, 83, 44, 48, 38, 28, 70, 72, 57, 68, 46, 60, 40, 25, 62, 62, 75, 36, 20, 50, 93, 61, 52, 64, 50, 41, 66, 59, 51, 31, 59, 71, 78, 60, 62, 19, 33, 57, 25, 31, 45, 89, 61, 27, 99, 60, 32, 53, 26, 68, 84, 6, -2, 18, 68, 62, 44, 93, 42, 60, 27, 54, 47, 43, 78, 33, 75, 47, 48, 42, 46, 22, 50, 111, 36, 57, 66, 35, 59, 13, 40, 41, 42, 56, 62, 80, 32, 28, 47, 64, 44, 50, 57, 52, 23, 58, 47, 44, 43, 38, 20, 16, 45, 29, 31, 47, 41, 67, 32, 59, 56, 27, 77, 46, 15, 78, 82, 58, 39, 58, 69, 25
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Ven 21 Fév - 18:54
Oui, j'ai bien vu ta liste de 10191 nombres compris entre -30 et 119.
Que veux-tu que j'en fasse ?
avatar
beagle
Messages : 3701
Date d'inscription : 29/06/2019

Un générateur qui triche Empty Re: Un générateur qui triche

Ven 21 Fév - 19:14
cela suit les lois des probabilités ou bien ce sont des données fausses?
Dlzlogic
Dlzlogic
Admin
Messages : 9536
Date d'inscription : 26/04/2019
Age : 80
Localisation : Proville
http://www.dlzlogic.com

Un générateur qui triche Empty Re: Un générateur qui triche

Ven 21 Fév - 19:31
Disons, en gros, ça a l'air d'une loi exponentielle, mais comme il y a des valeurs négatives, je dirai plutôt que c'est n'importe quoi.
Donc,je donne ma langue au chat.
avatar
beagle
Messages : 3701
Date d'inscription : 29/06/2019

Un générateur qui triche Empty Re: Un générateur qui triche

Ven 21 Fév - 19:37
tu veux dire que la frequence observée de ces nombres ne suit pas une loi normale?
Contenu sponsorisé

Un générateur qui triche Empty Re: Un générateur qui triche

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum