using System.Collections.Generic;
public static int FindNetworkEndpoint(int startingNode, int[] fromIds, int[] toIds)
if((toIds.Length<= 0)||(toIds.Length > 10000))
List<int> toIdsList = toIds.get.;
List<int> fromIdsList = fromIds;
int indexNode = int.MinValue;
int oldIndex = int.MinValue;
while (!endFound && !lapEnded)
if(!startSearch && (node == startingNode))
if(fromIdsList.Contains(node))
indexNode = fromIdsList.IndexOf(node);
node = toIdsList[indexNode];
static void initTestSaisi(int n, ref int[] fromIds, ref int[] toIds)
inputs = Console.ReadLine().Split(' ');
for (int i = 0; i < n; i++)
fromIds[i] = int.Parse(inputs[i]);
inputs = Console.ReadLine().Split(' ');
for (int i = 0; i < n; i++)
toIds[i] = int.Parse(inputs[i]);
static void initTestRandom(int n, ref int[] fromIds, ref int[] toIds)
Random rand = new Random();
for (int i = 0; i < n; i++)
int purRand = rand.Next(1, n+1);
for (int i = 0; i < n; i++)
toIds[i] = rand.Next(1,n+1);
public static void Main()
int[] fromIds = new int[]{4,9,6,1};
int[] toIds = new int[]{9,5,1,4};
Console.WriteLine(startNodeId);
Console.WriteLine("from : " +fromIds[i]+ " -> " +toIds[i]);
int endPointId = FindNetworkEndpoint(startNodeId, fromIds, toIds);
Console.WriteLine(endPointId);