/* COPYRIGHT 2015
* ALL RIGHTS RESERVED!
* NO COPYING!
* NONE!
*/
#include <stdio.h>
#include <stdlib.h>
#define MEDINA(n) \
do { \
int i; \
for (i = 0; i < (n); i++) { \
(rand()%(sizeof funcs / sizeof funcs[0]))[funcs]((n) - 1);\
} \
} while (0);
void func001( int n) ;
void func002( int n) ;
void func003( int n) ;
void func004( int n) ;
void func005( int n) ;
void func006( int n) ;
void func007( int n) ;
void func008( int n) ;
void func009( int n) ;
typedef void ( * funky) ( int ) ;
funky funcs[ ] = {
func001,
func002,
func003,
func004,
func005,
func006,
func007,
func008,
func009
} ;
void func001( int n)
{
MEDINA( n) ;
}
void func002( int n)
{
MEDINA( n) ;
}
void func003( int n)
{
MEDINA( n) ;
}
void func004( int n)
{
MEDINA( n) ;
}
void func005( int n)
{
MEDINA( n) ;
}
void func006( int n)
{
MEDINA( n) ;
}
void func007( int n)
{
MEDINA( n) ;
}
void func008( int n)
{
MEDINA( n) ;
}
void func009( int n)
{
MEDINA( n) ;
}
int main( void )
{
int i;
for ( i = 0 ; i < 20 ; i++ ) {
( rand ( ) % ( sizeof funcs
/ sizeof funcs
[ 0 ] ) ) [ funcs
] ( 2 ) ; }
}
LyogQ09QWVJJR0hUIDIwMTUKICogQUxMIFJJR0hUUyBSRVNFUlZFRCEKICogTk8gQ09QWUlORyEKICogTk9ORSEKICovCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+CgoKI2RlZmluZSBNRURJTkEobikJCQkJCQkJCQkJCQlcCmRvIHsJCQkJCQkJCQkJCQkJCQlcCglpbnQgaTsJCQkJCQkJCQkJCQkJCVwKCWZvciAoaSA9IDA7IGkgPCAobik7IGkrKykgewkJCQkJCQkJCVwKCQkocmFuZCgpJShzaXplb2YgZnVuY3MgLyBzaXplb2YgZnVuY3NbMF0pKVtmdW5jc10oKG4pIC0gMSk7XAoJfQkJCQkJCQkJCQkJCQkJCVwKfSB3aGlsZSAoMCk7Cgp2b2lkIGZ1bmMwMDEoaW50IG4pOwp2b2lkIGZ1bmMwMDIoaW50IG4pOwp2b2lkIGZ1bmMwMDMoaW50IG4pOwp2b2lkIGZ1bmMwMDQoaW50IG4pOwp2b2lkIGZ1bmMwMDUoaW50IG4pOwp2b2lkIGZ1bmMwMDYoaW50IG4pOwp2b2lkIGZ1bmMwMDcoaW50IG4pOwp2b2lkIGZ1bmMwMDgoaW50IG4pOwp2b2lkIGZ1bmMwMDkoaW50IG4pOwoKdHlwZWRlZiB2b2lkICgqZnVua3kpKGludCk7CgpmdW5reSBmdW5jc1tdID0gewoJZnVuYzAwMSwKCWZ1bmMwMDIsCglmdW5jMDAzLAoJZnVuYzAwNCwKCWZ1bmMwMDUsCglmdW5jMDA2LAoJZnVuYzAwNywKCWZ1bmMwMDgsCglmdW5jMDA5Cn07Cgp2b2lkIGZ1bmMwMDEoaW50IG4pCnsKCXB1dHMoInRoZSIpOwoJTUVESU5BKG4pOwp9CnZvaWQgZnVuYzAwMihpbnQgbikKewoJcHV0cygicXVpY2siKTsKCU1FRElOQShuKTsKfQp2b2lkIGZ1bmMwMDMoaW50IG4pCnsKCXB1dHMoImJyb3duIik7CglNRURJTkEobik7Cn0Kdm9pZCBmdW5jMDA0KGludCBuKQp7CglwdXRzKCJmb3giKTsKCU1FRElOQShuKTsKfQp2b2lkIGZ1bmMwMDUoaW50IG4pCnsKCXB1dHMoImp1bXBlZCIpOwoJTUVESU5BKG4pOwp9CnZvaWQgZnVuYzAwNihpbnQgbikKewoJcHV0cygib3ZlciIpOwoJTUVESU5BKG4pOwp9CnZvaWQgZnVuYzAwNyhpbnQgbikKewoJcHV0cygidGhlIik7CglNRURJTkEobik7Cn0Kdm9pZCBmdW5jMDA4KGludCBuKQp7CglwdXRzKCJsYXp5Iik7CglNRURJTkEobik7Cn0Kdm9pZCBmdW5jMDA5KGludCBuKQp7CglwdXRzKCJkb2ciKTsKCU1FRElOQShuKTsKfQoKaW50IG1haW4odm9pZCkKewoJaW50IGk7CglzcmFuZCh0aW1lKE5VTEwpKTsKCWZvciAoaSA9IDA7IGkgPCAyMDsgaSsrKSB7CgkJKHJhbmQoKSUoc2l6ZW9mIGZ1bmNzIC8gc2l6ZW9mIGZ1bmNzWzBdKSlbZnVuY3NdKDIpOwoJfQp9Cg==