<prompt> Kuandika programu ya C ya thread nyingi kwa ajili ya kuhesabu idadi ya kwanza.  <response>: Heres an example multi-threaded C application for computing the prime numbers using the Sieve of Eratosthenes algorithm:cinclude include include include void sievestd::vector primes, int start, int end int n primes.size; int limit sqrtend; for int i 2; i limit; i if primesi for int j i i; j end; j i primesj false; int main int num_threads 4; int n 1000000; std::vector threadsnum_threads; std::vector primesnum_threads, std::vectorn 1, true; int chunk n num_threads; for int i 0; i num_threads; i int start i chunk; int end i 1 chunk - 1; threadsi std::threadsieve, std::refprimesi, start, end; for auto thread : threads thread.join; Combine results std::vector is_primen 1, true; for int i 0; i num_threads; i for int j 2; j n; j if primesij is_primej true; Print primes for int i 2; i n; i if is_primei std::cout i ; return 0;This program creates a vector of bools to represent whether each number is prime or not. It then divides the range of numbers to check into equal chunks according to the number of threads. Each thread runs the sieve function on its assigned chunk of numbers. After all threads complete, the results are combined into a single vector to determine which numbers are prime. The program then prints all of the prime numbers it found. 