diff --git a/src/question_5.cpp b/src/question_5.cpp
index 22309a1c7b8d6f9c4b426e76b178946db4b14718..d115c4f10ef7b94ba980c80779d31fd44505b0f8 100644
--- a/src/question_5.cpp
+++ b/src/question_5.cpp
@@ -40,7 +40,10 @@ int main(int argc, char** argv) {
   assert(argc == 2);
   long n = strtol(argv[1], NULL, 10);
 
-  mpz_class a(n);
+  gmp_randclass state(gmp_randinit_default);
+  state.seed(time(NULL));
+
+  mpz_class a = state.get_z_bits(n * 8 * sizeof(mp_limb_t));
   mpz_class res;
   time_t t;