using
System;
using
System.Collections.Generic;
public
class
GFG {
static
void
printMapping(
int
[] A,
int
[] B,
int
N,
int
M)
{
Dictionary<
int
, List<
int
> > m
=
new
Dictionary<
int
, List<
int
> >();
for
(
int
i = 0; i < A.Length; i++) {
if
(!m.ContainsKey(A[i]))
m.Add(A[i],
new
List<
int
>());
}
for
(
int
i = 0; i < N; i++)
m[A[i]].Add(i);
for
(
int
i = 0; i < M; i++) {
if
(m.ContainsKey(B[i]) && m[B[i]].Count > 0) {
Console.Write(m[B[i]][0] +
" "
);
m[B[i]].RemoveAt(0);
}
else
{
Console.Write(
"NA"
+
" "
);
}
}
}
static
public
void
Main()
{
int
[] A = { 2, 1, 2, 3, 3, 4, 2, 4, 1 };
int
N = A.Length;
int
[] B = { 1, 2, 5, 1, 2, 4, 2, 3, 2, 1 };
int
M = B.Length;
printMapping(A, B, N, M);
}
}