#include <cstdlib>
#include <string>
#include <iostream>
using namespace std;
struct Reference {
int refnum;
string text;
};
int main () {
const int numRefs = 50;
const int textlen = 1024*1024*4;
Reference *refs = new Reference [numRefs];
for (int i=0; i<numRefs; ++i) {
refs [i].refnum = rand() % 1024;
const int len = rand() % 20 + 5;
for (int c=0; c<len; ++c)
refs [i].text += static_cast <char> (rand()%26+'a');
}
for (int i=0; i<textlen; ++i) {
const int wordLen = rand() % 40;
for (int c=0; c<wordLen && i<textlen; ++i, ++c) {
cout << static_cast <char> (rand()%26+'a');
}
cout << "[" << refs [rand()%numRefs].refnum << "]";
}
cout << "\n@footnote:\n";
for (int i=0; i<numRefs; ++i) {
const Reference &ref = refs [i];
cout << "[" << ref.refnum << "] " << ref.text << "\n";
}
delete [] refs;
}