map容器 嵌套 输出 问题,怎么解决?

map容器 嵌套 输出 问题
代码如下;

int main()
{
map<string, string> m1;
map<int, map<string, string>> m;

string nameseed  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string A, B;
for (int i = 0; i < 10; i++)
{ 
    A = nameseed[i];
    B = nameseed[i + 1];
    m1.insert(make_pair(A,B));
    m.insert(make_pair(i, m1));
}
    
for (map<int, map<string, string>>::iterator it = m.begin(); it != m.end(); it++)
{
    cout << it->first << " : ";
    for (map<string, string>::iterator mit = it->second.begin(); mit != it->second.end(); mit++)
        cout << mit->first << "  " << mit->second  ;
    cout << endl;
}
      
return 0;

}

本意输出格式是:
1:A B
2: C D
3: E F

可实际输出的却不是,怎么解决呢?

显然的,第一个for循环 第一次 从0开始。插入A,B
for循环 第二次 从1开始。插入B,C

把m1定义放在这个位置,或者在这里先清空

img