/* 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+CgoKI2RlZmluZSBNRURJTkEobikJCQkJCQkJCQkJCQlcCmRvIHsJCQkJCQkJCQkJCQkJCQlcCglpbnQgaTsJCQkJCQkJCQkJCQkJCVwKCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsJCQkJCQkJCQlcCgkJKHJhbmQoKSUoc2l6ZW9mIGZ1bmNzIC8gc2l6ZW9mIGZ1bmNzWzBdKSlbZnVuY3NdKG4gLSAxKTtcCgl9CQkJCQkJCQkJCQkJCQkJXAp9IHdoaWxlICgwKTsKCnZvaWQgZnVuYzAwMShpbnQgbik7CnZvaWQgZnVuYzAwMihpbnQgbik7CnZvaWQgZnVuYzAwMyhpbnQgbik7CnZvaWQgZnVuYzAwNChpbnQgbik7CnZvaWQgZnVuYzAwNShpbnQgbik7CnZvaWQgZnVuYzAwNihpbnQgbik7CnZvaWQgZnVuYzAwNyhpbnQgbik7CnZvaWQgZnVuYzAwOChpbnQgbik7CnZvaWQgZnVuYzAwOShpbnQgbik7Cgp0eXBlZGVmIHZvaWQgKCpmdW5reSkoaW50KTsKCmZ1bmt5IGZ1bmNzW10gPSB7CglmdW5jMDAxLAoJZnVuYzAwMiwKCWZ1bmMwMDMsCglmdW5jMDA0LAoJZnVuYzAwNSwKCWZ1bmMwMDYsCglmdW5jMDA3LAoJZnVuYzAwOCwKCWZ1bmMwMDkKfTsKCnZvaWQgZnVuYzAwMShpbnQgbikKewoJcHV0cygidGhlIik7CglNRURJTkEobik7Cn0Kdm9pZCBmdW5jMDAyKGludCBuKQp7CglwdXRzKCJxdWljayIpOwoJTUVESU5BKG4pOwp9CnZvaWQgZnVuYzAwMyhpbnQgbikKewoJcHV0cygiYnJvd24iKTsKCU1FRElOQShuKTsKfQp2b2lkIGZ1bmMwMDQoaW50IG4pCnsKCXB1dHMoImZveCIpOwoJTUVESU5BKG4pOwp9CnZvaWQgZnVuYzAwNShpbnQgbikKewoJcHV0cygianVtcGVkIik7CglNRURJTkEobik7Cn0Kdm9pZCBmdW5jMDA2KGludCBuKQp7CglwdXRzKCJvdmVyIik7CglNRURJTkEobik7Cn0Kdm9pZCBmdW5jMDA3KGludCBuKQp7CglwdXRzKCJ0aGUiKTsKCU1FRElOQShuKTsKfQp2b2lkIGZ1bmMwMDgoaW50IG4pCnsKCXB1dHMoImxhenkiKTsKCU1FRElOQShuKTsKfQp2b2lkIGZ1bmMwMDkoaW50IG4pCnsKCXB1dHMoImRvZyIpOwoJTUVESU5BKG4pOwp9CgppbnQgbWFpbih2b2lkKQp7CglpbnQgaTsKCXNyYW5kKHRpbWUoTlVMTCkpOwoJZm9yIChpID0gMDsgaSA8IDIwOyBpKyspIHsKCQkocmFuZCgpJShzaXplb2YgZnVuY3MgLyBzaXplb2YgZnVuY3NbMF0pKVtmdW5jc10oMik7Cgl9Cn0K