import java.util.*;
import java.io.*;

public class UolevinLahjat {
    public static final int KOKO = 100+2;
    public static int[][] verkko = new int[KOKO][KOKO];
    public static int alku = 100;
    public static int loppu = 101;
    public static int virtaus = 0;

    public static LinkedList<Integer> reitti;
    public static TreeSet<Integer> mukana;
    public static int lisays;

    public static void etsiReitti(int solmu, int pienin) {
        if (lisays > 0) return;
        if (mukana.contains(solmu)) return;
        reitti.addLast(solmu);
        mukana.add(solmu);
        if (solmu == loppu) {
            lisays = pienin;
        }
        for (int uusi = 0; uusi < KOKO; uusi++) {
            if (verkko[solmu][uusi] > 0) {
                int uusiPienin = pienin;
                if (pienin == 0 || verkko[solmu][uusi] < pienin) {
                    uusiPienin = verkko[solmu][uusi];
                }
                etsiReitti(uusi, uusiPienin);
            }
        }
        if (lisays == 0) reitti.removeLast();
    }

    public static void main(String[] args) throws Exception {
        for (int i = 0; i <= 98; i += 2) {
            for (int j = 1; j <= 99; j += 2) {
                int a = (i+j)%100;
                if (a == 11 || a == 33 || a == 55 || a == 77 || a == 99) {
                    verkko[i][j] = Integer.MAX_VALUE;
                }
            }
        }
        Scanner lukija = new Scanner(new File("ostos.txt"));
        int laskuri = 0;
        while (lukija.hasNextLine()) {
            String rivi = lukija.nextLine();
            String[] osat = rivi.split("\\.");
            int sentit = Integer.parseInt(osat[1]);
            if (sentit%2 == 0) verkko[100][sentit]++;
            else verkko[sentit][101]++;
        }
        while (true) {
            reitti = new LinkedList<Integer>();
            mukana = new TreeSet<Integer>();
            lisays = 0;
            etsiReitti(alku, 0);
            if (lisays == 0) break;
            virtaus += lisays;
            for (int i = 0; i < reitti.size()-1; i++) {
                verkko[reitti.get(i)][reitti.get(i+1)] -= lisays;
                verkko[reitti.get(i+1)][reitti.get(i)] += lisays;
            }
        }
        System.out.println("Lahjamäärä: " + virtaus);
    }
}
