package com.javarush.task.task18.task1808;

/*
Разделение файла
*/

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;

public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        FileInputStream f = new FileInputStream(bf.readLine());    //создаём поток чтения
        FileOutputStream f1 = new FileOutputStream(bf.readLine()); //создаём первый поток записи
        FileOutputStream f2 = new FileOutputStream(bf.readLine()); //создаём второй поток записи
        bf.close();

        int k = (int) f.getChannel().size();                             //узнаём количество байтов
        byte[] buffer = new byte[f.available() / 2];                     //задаём буфер в 2 раза меньший количеству байтов

        if (k % 2 == 0) {                                    // если чётное количество

            int count = f.read(buffer);                                  //заполняем буфер для первого файла записи
            f1.write(buffer, 0, count);                              //записываем

            count = f.read(buffer);                                      //заполняем буфер для второго файла записи
            f2.write(buffer, 0, count);                              //записываем

        } else {                                            // если нечётное количество

            int count = f.read(buffer);                                  //заполняем буфер для первого файла записи
            f1.write(buffer, 0, count);                              //записываем
            f1.write(f.read());                                          //дозаписываем один "серединный" байт

            count = f.read(buffer);                                      //заполняем буфер для второго файла записи
            f2.write(buffer, 0, count);                              //записываем

        }

        f.close();                                                                                                   //закрываем поток чтения
        f1.close();                                                                                                  //закрываем первый поток записи
        f2.close();                                                                                                  //закрываем второй поток записи

    }
}