#include #include int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); int pthread_join(pthread_t thread, void **retval); typedef unsigned data; static inline data powM(data x, unsigned e) { data y = 1; for(unsigned i=0; i