Работа с файлами, как разбить файл на 5 частей?

У меня в файле F1 есть какие-то значения. Как мне эти значения раскидать по пяти файлам кроме 6? То есть как разбить файл на 5 частей?

#include<iostream>
#include<fstream>
#include <iterator>
#include<string>
using namespace std;


int main()
{
	  string str;
	int n=0,a=0;
	int i;
	int A;
	int p=5;// Количество файлов
	int level;//Уровень

	setlocale(LC_ALL,"rus");
	
	ofstream file1("F1.txt");
	ofstream file2("F2.txt");
	ofstream file3("F3.txt");
	ofstream file4("F4.txt");
	ofstream file5("F5.txt");
	ofstream file6("F6.txt");
	
	if(file1.is_open()&&file2.is_open()&&file3.is_open()&&file4.is_open()&&file5.is_open()&&file6.is_open())// Проверка на открытие файлов
		cout<<"Все файлы успешно открыты!!!"<<endl;
	else
		cout<<"Какой-то из файлов не удалось открыть:("<<endl;

	ofstream f;//Создаем файловую переменную для записи в файл
	f.open("F1.txt",ios::trunc);// Открытие файла на запись, режим "очистить файл"
	
	cout<<"Введите количество чисел n=";
	cin>>n;
	for( i=0;i<n;i++)
	{
		a=1+rand()%100;
		f<<a<<' ';
	}
	f.close();
	
	int *mas=new int[n];//Создание динамического массива для данных из файла
		ifstream f1("F1.txt");// Создаем файловую переменную, поток для чтения из файла
	

		for( i=0;i<n;i++)
		{
f1>>mas[i];
		}
		
		cout<<"Вывод содержимого файла"<<endl;
		for(i=0;i<n;i++)// Вывод на экран содержимого массива
		{
			f<<mas[i]<<' ';
			cout<<mas[i]<<endl;
		}

		
		

	system("pause");
	return 0;

}

А проблема в чем именно?
Читать нужную часть из файла, писать в первый файл, читать дальше и т.д.

В теории я знаю, как это работает, а вот реализовать проблема…
Хотелось бы увидеть пример хотя бы для одного файла

Так если данные это просто числа, и они все в массиве (либо изначально сгенерированы, тогда и первый файл не нужен, либо прочитаны из файла), то надо просто 5 циклов с соотв. индексами начала/конца.