using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace Aoj.ALDS.Chapter12A
{
    enum Color
    {
        WHITE, GRAY, BLACK
    }

    class Program
    {
        /// <summary>
        /// ??????????????¢?????´???????????§????°???¨?????¨????±??????????
        /// </summary>
        /// <param name="m">???????????£??\?????????</param>
        /// <param name="n">??????????????°???</param>
        /// <returns></returns>
        public static int Prim(List<List<int>> m, int n)
        {
            // ??£??\????????????????????????????°?????????????????´??????????
            var d = new List<int>();
            // ????±?????????????????????????????´???????(?§?????????????-1)???
            var p = new List<int>();
            // ??¢?´¢????????¶??????BLACK??§??¢?´¢?????????
            var color = new List<Color>();

            // ???????´??????????????????????
            for (int i = 0; i < n; i++)
            {
                d.Add(Int32.MaxValue);
                p.Add(-1);
                color.Add(Color.WHITE);
            }

            // ????????????????????????????????¢?´¢????§????????????????d[0]???0????????????
            d[0] = 0;

            int u;
            int minV;
            while (true)
            {
                u = -1;
                minV = Int32.MaxValue;

                // ??°??¬????????????????????????d[i]??????????°?????????????????±??????????
                for (int i = 0; i < n; i++)
                {
                    if (minV > d[i] && color[i] != Color.BLACK) {
                        u = i;
                        minV = d[i];
                    }
                }

                // ??¨?????????????????¢?´¢???????????£???????????§break???
                if (u == -1) break;

                // ??£??\???????????????????°??????¢??¨??????????????´??°???????????????
                for (int i = 0; i < n; i++)
                {
                    if (color[i] != Color.BLACK && m[u][i] != -1) {
                        if (d[i] > m[u][i]){
                            d[i] = m[u][i];
                            p[i] = u;
                            color[i] = Color.GRAY;
                        }
                    }
                }

                // ????????????????????¢?´¢????????????????????????
                color[u] = Color.BLACK;
            }

            // ????¨?????±??????????
            int sum = 0;
            for (int i = 0; i < n; i++)
            {
                if (p[i] != -1) sum += m[i][p[i]];
            }
            return sum;
        }

        public static void Solve()
        {
            int n = int.Parse(Console.ReadLine());

            var m  = new List<List<int>>();

            for (int i = 0; i < n; i++)
            {
                m.Add(new List<int>());
                string line = Console.ReadLine();
                line = line.Substring(1, line.Length - 1);
                m[i] = Array.ConvertAll(line.Split(' '), int.Parse).ToList();
            }

            int answer = Prim(m, n);
            Console.WriteLine(answer);
        }

        public static void Main()
        {
            // Console.SetIn(new System.IO.StreamReader("Aoj/AlgorithmsAndDataStructures/Input/12_Graph_A_01.txt"));
            // var sw = new Stopwatch();
            // sw.Start();

            Solve();

            // Console.WriteLine("{0}ms", sw.ElapsedMilliseconds);
        }
    }
}

Measured memory_bytes: 9720