por que esse fork () produz 8 em vez de 5?

Então, eu tenho que encontrar a saída desse código que está usando ofork() método. Eu pensei que a saída era de 5 "olá", mas em vez disso, obtive 8. Por que isso? Este é o código:

#include "csapp.h"

void doit()
{
    Fork();
    Fork();
    printf("hello\n");
    return;
}

int main()
{
    doit();
    printf("hello\n");
    exit(0);
}