一、测试环境

名称
cpu 12th Gen Intel® Core™ i7-12700H
操作系统 CentOS Linux release 7.9.2009 (Core)
内存 3G
逻辑核数 2
Gbase-8a数据库版本 9.5.3.27

二、C UDF-结构体介绍

参考《MySQL 8.0.31官方文档》、《Gbase8a-UDF&UDAF使用手册》。

1、GB_UDF_INIT

(1)结构体定义

typedef struct GB_st_udf_init
{gs_bool maybe_null;          unsigned int decimals;       unsigned long max_length;    char *ptr;                   gs_bool const_item;          void *extension;
} GB_UDF_INIT;

(2)参数介绍

参数名 描述 备注
maybe_null 如果 func()能返回 NULL,func_init()应该设置 maybe_null 为 1。如果任何一个参数被声明为 maybe_null,缺省值是 1。
decimals 小数位数目。缺省值是在被传给主函数的参数中小数位的最大数目。(例如,如果函数传递 1.11、1.111 和 1.1,缺省值将是 3,因为 1.111 有 3 个小数位。
max_length 返回结果的最大长度。缺省值不同,取决于函数的结果类型。对字符串函数,缺省是最长的参数的长度。对整数函数,缺省是 21 位。对实数函数,缺省是 13 加上由 initid->decimals 指出的小数位数。(对数字函数,长度包括任何符号位或小数点字符。)
ptr 函数可以自己使用的一个指针。例如,函数能使用 initid->ptr 在函数之间传递分配的内存。在 func_init()中,分配内存并将它赋给这个指针:initid->ptr = allocated_memory;在 func()和 func_deinit()中,使用 initid->ptr 并释放内存。
const_item 释放函数数据指针。 free pointer for function data
extension 如果函数始终返回相同的值,则为 1。 1 if function always returns the same value

2、GB_UDF_ARGS

(1)结构体定义

typedef struct GB_st_udf_args
{unsigned int arg_count;        enum GB_Item_result *arg_type;      char **args;                unsigned long *lengths;     char *maybe_null;           char **attributes;                    unsigned long *attribute_lengths;     void *extension;
} GB_UDF_ARGS;

(2)参数介绍

参数名 描述 备注
arg_count 参数个数。如果函数有固定数量的参数,在初始化函数中检查这个值。
arg_type 每个参数的类型。可能的类型值是 STRING_RESULT、INT_RESULT 和REAL_RESULT。确保参数是所需类型,如果不是,返回错误,在初始化函数中检查 arg_type 数组。
args args 将函数的参数传递给初始化函数和主函数。
一个 STRING_RESULT 类型的参数由一个字符串指针加一个长度给出,允许处理任意的长度的数据。字符串内容可由 args->args[i]得到并且字符串长度是 args->lengths[i]。不用考虑字符串是否以空(null)结束 。
对于一个 INT_RESULT 类型的参数,必须强制转换 args->args[i]为一个long long 值:long long int_val = *((long long*) args->args[i]);
对一个 REAL_RESULT 类型的参数,必须强制转换 args->args[i]为一个double 值:double real_val = *((double*) args->args[i]);
对一个 DECIMAL_RESULT 类型的参数,处理方式同 STRING_RESULT 一样。
lengths 在初始化函数中,lengths 数组指出每个参数的最大字符串长度。对于主函数调用,lengths 为当前正在处理的行的任何字符串参数的实际长度对INT_RESULT 或 REAL_RESULT 类型的参数,lengths 仍然包含参数的最大长度。
maybe_null 在初始化函数中,maybe_null 指出每个参数是否允许为空(NULL)(1表示允许,0 表示不允许);
attributes 每个参数的别名,如果不存在别名,就是参数实际名称,如:select 1 from t1 group by udf_func(1+2);则 args->attributes[0]为”1+2”,select 1+2 as plus from t1 group by udf_func(plus);则args->attributes[0]为‚plus‛。
attribute_lengths 每个 attributes 的长度
extension 都没有解释哦

3、GB_Item_result

(1)结构体定义

enum GB_Item_result
{GB_STRING_RESULT=0, GB_REAL_RESULT, GB_INT_RESULT, GB_ROW_RESULT, GB_DECIMAL_RESULT
#ifdef GBASE_SERVER,IMPOSSIBLE_RESULT  ,MAX_NO_ITEM_RESULTS = IMPOSSIBLE_RESULT
#endif
};

三、C UDF-函数接口介绍

1、func()

此函数必须有。

(1)函数原型

返回 STRING 的函数原型

char *func(GB_UDF_INIT   *initid,GB_UDF_ARGS   *args,char          *result,unsigned long *length,char          *is_null,char          *error);

注意:length参数不给,执行函数时会提示:ERROR 1756 (HY000): Function UDF or UDAF overflow。

返回 INTEGER 函数原型

long long func(UDF_INIT *initid, UDF_ARGS *args,char *is_null, char *error);

返回 REAL 的函数原型

double func(UDF_INIT *initid, UDF_ARGS *args,char *is_null, char *error);

(2)函数介绍

主函数。这是计算函数结果的地方,每行调用一次。

2、func_init()

此函数必须有。

(1)函数原型

my_bool func_init( UDF_INIT* initid, UDF_ARGS* args, char*
message );

(2)函数介绍

func()的初始化函数,只在开始调用一次。

编号 用途
1 检查传到 func()的参数个数。
2 检查参数类型是否正确或者当主函数被调用时将参数强制转换成需要的类型。
3 分配主函数所需的内存。
4 指定返回结果的最大长度。
5 指定返回 REAL 类型的函数的最大小数位。
6 指定结果是否允许为 NULL。

3、func_deinit()

(1)函数原型

void func_deinit(UDF_INIT *initid);

(2)函数介绍

func()的结束函数,只在所有行结束后调用一次,它可用于释放初始化函数分配的内存。

四、C UDF-小实验

1、源码(实现:整数转罗马数字)

gbase.h头文件我记得是和CAPI接口包一块的,需要和官方申请一下。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gbase.h>#define CHAR_ARRAY_SIZE 16
#define INT_ARRAY_SIZE 4
#define MAX_RES_LEN 255gs_bool IntToRoman_init(GB_UDF_INIT *initid, GB_UDF_ARGS *args, char *message)
{if (args->arg_count != 1) {strcpy(message, "IntToRoman Function Accepts Only One Argument.");return 1;}if (args->arg_type[0] != GB_INT_RESULT) {strcpy(message, "IntToRoman Function Input Parameter Data Type Need Int.");return 1;}long long x = *((long long*) args->args[0]);if (x < 1 || x > 3999){strcpy(message, "IntToRoman Function Input Parameter must between 1 and 3999.");  return 1;}   initid->maybe_null = 1;initid->decimals   = 0;initid->max_length = MAX_RES_LEN;//initid->ptr        = malloc(sizeof(char) * CHAR_ARRAY_SIZE);initid->extension  = NULL;return 0;
}char* IntToRoman(GB_UDF_INIT   *initid, GB_UDF_ARGS   *args,char          *result, unsigned long *length,char          *is_null, char          *error)
{long long x = *((long long*) args->args[0]);char arr[][10][5] = {{"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"},{"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"},{"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"},{"", "M", "MM", "MMM"}};long long TmpArr[INT_ARRAY_SIZE];int i;long long y;int cnt = 0;for(i=0; i<INT_ARRAY_SIZE; i++){TmpArr[i] = -1;}//strcpy(initid->ptr,"");//strcpy(result,"");memset(result,0,MAX_RES_LEN);while(x / 10 != 0){y = x % 10;TmpArr[cnt] = y;x = x / 10;cnt++;}TmpArr[cnt] = x;cnt++;for(i=INT_ARRAY_SIZE-1; i>=0; i--){if(TmpArr[i] != -1){//strcat(initid->ptr,arr[i][TmpArr[i]]);strcat(result,arr[i][TmpArr[i]]);}}//*length= strlen(initid->ptr);//return initid->ptr; *length= strlen(result);return result;
}void IntToRoman_deinit(GB_UDF_INIT *initid)
{//free(initid->ptr);
}

2、编译成动态库

[gbase@czg0 Int2Roman]$ gcc -fPIC IntToRoman.c -shared -Wall -o IntToRoman.so -I /opt/Developer/DataMigrationTool/C/Gbase8a-C-API/include/Gbase8a/

3、拷贝动态库

[gbase@czg0 Int2Roman]$ cp IntToRoman.so /opt/gbase/192.168.142.10/gcluster/server/lib/gbase/plugin/
[gbase@czg0 Int2Roman]$ cp IntToRoman.so /opt/gbase/192.168.142.10/gnode/server/lib/gbase/plugin/
[gbase@czg0 Int2Roman]$ scp IntToRoman.so czg1:/opt/gbase/192.168.142.11/gcluster/server/lib/gbase/plugin/
IntToRoman.so                                                                                                                            100%   12KB   4.3MB/s   00:00
[gbase@czg0 Int2Roman]$ scp IntToRoman.so czg1:/opt/gbase/192.168.142.11/gnode/server/lib/gbase/plugin/
IntToRoman.so                                                                                                                            100%   12KB   3.6MB/s   00:00

4、创建UDF自定义函数

gbase> drop function IntToRoman;
Query OK, 0 rows affected (Elapsed: 00:00:00.02)gbase> create function IntToRoman returns string soname 'IntToRoman.so';
Query OK, 0 rows affected (Elapsed: 00:00:00.02)

5、测试验证

gbase> select IntToRoman(1);
+---------------+
| IntToRoman(1) |
+---------------+
| I             |
+---------------+
1 row in set (Elapsed: 00:00:00.00)gbase> select IntToRoman(3999);
+------------------+
| IntToRoman(3999) |
+------------------+
| MMMCMXCIX        |
+------------------+
1 row in set (Elapsed: 00:00:00.00)gbase> select IntToRoman(888);
+-----------------+
| IntToRoman(888) |
+-----------------+
| DCCCLXXXVIII    |
+-----------------+
1 row in set (Elapsed: 00:00:00.00)gbase> select IntToRoman(3888);
+------------------+
| IntToRoman(3888) |
+------------------+
| MMMDCCCLXXXVIII  |
+------------------+
1 row in set (Elapsed: 00:00:00.00)

五、Python UDF

1、语法

CREATE FUNCTION <func_name>([<parameter_1>[,…] [,parameter_n]])
RETURNS type
$$
<Python 函数定义>
$$ LANGUAGE plpythonu

2、类型映射

Gbase8a Python2
TINYINT/SMALLINT/INT/BIGINT long
FLOAT/DOUBLE float
VARCHAR str(数据库编码)
NULL None

3、限制

编号 描述
1 支持 Python2,不支持 Python3;
2 不支持 python UDF 函数间共享变量;
3 不支持 Python UDF 作为触发器使用;
4 不支持 Python 语法检查,语法错误时,自定义函数可成功创建。若存在语法错误,在执行时可明确提示报错信息;
5 数据类型只支持列表中的 GBase 数据类型,不支持 DECIMAL、CHAR、TEXT类型;
6 参数列表不支持 OUT 类型定义,不支持从参数列表返回值。

六、Python UDF-小实验

1、源码(实现:整数转罗马数字)

create function PythonInt2Roman(InputParamter int)
returns varchar
$$
if(type(InputParamter)!= type(1l)):return "Error: PythonInt2Roman Function Input Parameter Type Must TINYINT,SMALLINT,INT,BIGINT."
if(InputParamter < 1 or InputParamter > 3999):return "Error: PythonInt2Roman Function Input Parameter Must Between 1 and 3999."arr = [["", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"],\["", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"],\["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"],\["", "M", "MM", "MMM"]]    TmpArr = [-1,-1,-1,-1]
y      = 0cnt    = 0
res    = ""
x      = InputParamter
while(x / 10 != 0):y = x % 10TmpArr[cnt] = yx = x / 10cnt = cnt + 1TmpArr[cnt] = x
cnt = cnt + 1for i in [3,2,1,0]:if(TmpArr[i] != -1):res = res + arr[i][TmpArr[i]]return res$$ LANGUAGE plpythonu;

2、测试验证

gbase> use czg;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)gbase> select PythonInt2Roman(1);
+--------------------+
| PythonInt2Roman(1) |
+--------------------+
| I                  |
+--------------------+
1 row in set (Elapsed: 00:00:00.01)gbase> select PythonInt2Roman(3999);
+-----------------------+
| PythonInt2Roman(3999) |
+-----------------------+
| MMMCMXCIX             |
+-----------------------+
1 row in set (Elapsed: 00:00:00.01)gbase> select PythonInt2Roman(888);
+----------------------+
| PythonInt2Roman(888) |
+----------------------+
| DCCCLXXXVIII         |
+----------------------+
1 row in set (Elapsed: 00:00:00.01)gbase> select PythonInt2Roman(3888);
+-----------------------+
| PythonInt2Roman(3888) |
+-----------------------+
| MMMDCCCLXXXVIII       |
+-----------------------+
1 row in set (Elapsed: 00:00:00.01)

七、C UDF和Python UDF效率对比一

我这边不用表做实验是因为C UDF套用到表字段时,会一直卡住不动,直到断开连接,后续我也再学习一下,看是不是哪里写的有问题,如果有大佬知道的,也麻烦提点一下。

已经解决,排查思路和解决方法请看第八节。

1、C.txt

select IntToRoman(1);
select IntToRoman(2);
select IntToRoman(3);
select IntToRoman(4);
select IntToRoman(5);
select IntToRoman(6);
select IntToRoman(7);
select IntToRoman(8);
select IntToRoman(9);
select IntToRoman(10);
select IntToRoman(11);
select IntToRoman(12);
select IntToRoman(13);
select IntToRoman(14);
select IntToRoman(15);
select IntToRoman(16);
select IntToRoman(17);
select IntToRoman(18);
select IntToRoman(19);
select IntToRoman(20);
select IntToRoman(21);
select IntToRoman(22);
select IntToRoman(23);
select IntToRoman(24);
select IntToRoman(25);
select IntToRoman(26);
select IntToRoman(27);
select IntToRoman(28);
select IntToRoman(29);
select IntToRoman(30);
select IntToRoman(31);
select IntToRoman(32);
select IntToRoman(33);
select IntToRoman(34);
select IntToRoman(35);
select IntToRoman(36);
select IntToRoman(37);
select IntToRoman(38);
select IntToRoman(39);
select IntToRoman(40);
select IntToRoman(41);
select IntToRoman(42);
select IntToRoman(43);
select IntToRoman(44);
select IntToRoman(45);
select IntToRoman(46);
select IntToRoman(47);
select IntToRoman(48);
select IntToRoman(49);
select IntToRoman(50);
select IntToRoman(51);
select IntToRoman(52);
select IntToRoman(53);
select IntToRoman(54);
select IntToRoman(55);
select IntToRoman(56);
select IntToRoman(57);
select IntToRoman(58);
select IntToRoman(59);
select IntToRoman(60);
select IntToRoman(61);
select IntToRoman(62);
select IntToRoman(63);
select IntToRoman(64);
select IntToRoman(65);
select IntToRoman(66);
select IntToRoman(67);
select IntToRoman(68);
select IntToRoman(69);
select IntToRoman(70);
select IntToRoman(71);
select IntToRoman(72);
select IntToRoman(73);
select IntToRoman(74);
select IntToRoman(75);
select IntToRoman(76);
select IntToRoman(77);
select IntToRoman(78);
select IntToRoman(79);
select IntToRoman(80);
select IntToRoman(81);
select IntToRoman(82);
select IntToRoman(83);
select IntToRoman(84);
select IntToRoman(85);
select IntToRoman(86);
select IntToRoman(87);
select IntToRoman(88);
select IntToRoman(89);
select IntToRoman(90);
select IntToRoman(91);
select IntToRoman(92);
select IntToRoman(93);
select IntToRoman(94);
select IntToRoman(95);
select IntToRoman(96);
select IntToRoman(97);
select IntToRoman(98);
select IntToRoman(99);
select IntToRoman(100);

2、Python.txt

select PythonInt2Roman(1);
select PythonInt2Roman(2);
select PythonInt2Roman(3);
select PythonInt2Roman(4);
select PythonInt2Roman(5);
select PythonInt2Roman(6);
select PythonInt2Roman(7);
select PythonInt2Roman(8);
select PythonInt2Roman(9);
select PythonInt2Roman(10);
select PythonInt2Roman(11);
select PythonInt2Roman(12);
select PythonInt2Roman(13);
select PythonInt2Roman(14);
select PythonInt2Roman(15);
select PythonInt2Roman(16);
select PythonInt2Roman(17);
select PythonInt2Roman(18);
select PythonInt2Roman(19);
select PythonInt2Roman(20);
select PythonInt2Roman(21);
select PythonInt2Roman(22);
select PythonInt2Roman(23);
select PythonInt2Roman(24);
select PythonInt2Roman(25);
select PythonInt2Roman(26);
select PythonInt2Roman(27);
select PythonInt2Roman(28);
select PythonInt2Roman(29);
select PythonInt2Roman(30);
select PythonInt2Roman(31);
select PythonInt2Roman(32);
select PythonInt2Roman(33);
select PythonInt2Roman(34);
select PythonInt2Roman(35);
select PythonInt2Roman(36);
select PythonInt2Roman(37);
select PythonInt2Roman(38);
select PythonInt2Roman(39);
select PythonInt2Roman(40);
select PythonInt2Roman(41);
select PythonInt2Roman(42);
select PythonInt2Roman(43);
select PythonInt2Roman(44);
select PythonInt2Roman(45);
select PythonInt2Roman(46);
select PythonInt2Roman(47);
select PythonInt2Roman(48);
select PythonInt2Roman(49);
select PythonInt2Roman(50);
select PythonInt2Roman(51);
select PythonInt2Roman(52);
select PythonInt2Roman(53);
select PythonInt2Roman(54);
select PythonInt2Roman(55);
select PythonInt2Roman(56);
select PythonInt2Roman(57);
select PythonInt2Roman(58);
select PythonInt2Roman(59);
select PythonInt2Roman(60);
select PythonInt2Roman(61);
select PythonInt2Roman(62);
select PythonInt2Roman(63);
select PythonInt2Roman(64);
select PythonInt2Roman(65);
select PythonInt2Roman(66);
select PythonInt2Roman(67);
select PythonInt2Roman(68);
select PythonInt2Roman(69);
select PythonInt2Roman(70);
select PythonInt2Roman(71);
select PythonInt2Roman(72);
select PythonInt2Roman(73);
select PythonInt2Roman(74);
select PythonInt2Roman(75);
select PythonInt2Roman(76);
select PythonInt2Roman(77);
select PythonInt2Roman(78);
select PythonInt2Roman(79);
select PythonInt2Roman(80);
select PythonInt2Roman(81);
select PythonInt2Roman(82);
select PythonInt2Roman(83);
select PythonInt2Roman(84);
select PythonInt2Roman(85);
select PythonInt2Roman(86);
select PythonInt2Roman(87);
select PythonInt2Roman(88);
select PythonInt2Roman(89);
select PythonInt2Roman(90);
select PythonInt2Roman(91);
select PythonInt2Roman(92);
select PythonInt2Roman(93);
select PythonInt2Roman(94);
select PythonInt2Roman(95);
select PythonInt2Roman(96);
select PythonInt2Roman(97);
select PythonInt2Roman(98);
select PythonInt2Roman(99);
select PythonInt2Roman(100);

3、对比结果

(1)执行1-100

[gbase@czg0 Int2Roman]$ time gccli -uroot -pqwer1234 -Dczg <C.txt > 1.logreal 0m0.026s
user    0m0.009s
sys 0m0.009s[gbase@czg0 Int2Roman]$ time gccli -uroot -pqwer1234 -Dczg <Python.txt > 2.logreal   0m0.654s
user    0m0.007s
sys 0m0.016s

(2)执行1-3999

[gbase@czg0 Int2Roman]$ time gccli -uroot -pqwer1234 -Dczg <C.txt > 1.logreal 0m0.556s
user    0m0.045s
sys 0m0.292s
[gbase@czg0 Int2Roman]$ time gccli -uroot -pqwer1234 -Dczg <C.txt > 1.logreal    0m2.523s
user    0m0.052s
sys 0m0.277s
[gbase@czg0 Int2Roman]$ time gccli -uroot -pqwer1234 -Dczg <C.txt > 1.logreal    0m1.962s
user    0m0.043s
sys 0m0.287s
[gbase@czg0 Int2Roman]$ time gccli -uroot -pqwer1234 -Dczg <Python.txt > 2.logreal   0m28.790s
user    0m0.065s
sys 0m0.552s
[gbase@czg0 Int2Roman]$ time gccli -uroot -pqwer1234 -Dczg <Python.txt > 2.logreal   0m34.996s
user    0m0.093s
sys 0m0.593s
[gbase@czg0 Int2Roman]$ time gccli -uroot -pqwer1234 -Dczg <Python.txt > 2.logreal   0m30.192s
user    0m0.074s
sys 0m0.577s

八、C UDF在表中执行断开连接排查及解决

1、分析

基于上面的问题进行调试,编译时加上-g

[gbase@czg2 IntToRoman]$ gcc -fPIC IntToRoman.c -shared -Wall -g -o IntToRoman.so -I /opt/Developer/DataMigrationTool/C/Gbase8a-C-API/include/Gbase8a/
[gbase@czg2 IntToRoman]$ cp IntToRoman.so /opt/gnode/server/lib/gbase/plugin/
[gbase@czg2 IntToRoman]$ cp IntToRoman.so /opt/gcluster/server/lib/gbase/plugin/

执行sql

gbase> select IntToRoman(1);
+---------------+
| IntToRoman(1) |
+---------------+
| I             |
+---------------+
1 row in set (Elapsed: 00:00:00.00)gbase> select * from czg.sun;
+------+
| a    |
+------+
|    1 |
+------+
1 row in set (Elapsed: 00:00:00.00)gbase> select IntToRoman(a) from czg.sun;ERROR 2013 (HY000): Lost connection to GBase server during query

gdb调试

[gbase@czg2 gcluster]$ gdb /opt/gcluster/server/bin/gclusterd core.91041
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /opt/gcluster/server/bin/gclusterd...(no debugging symbols found)...done.
[New LWP 91041]
[New LWP 91089]
[New LWP 91088]
[New LWP 91059]
[New LWP 91085]
[New LWP 91145]
[New LWP 91084]
[New LWP 91064]
[New LWP 91063]
[New LWP 93296]
[New LWP 91043]
[New LWP 91086]
[New LWP 91060]
[New LWP 91143]
[New LWP 91152]
[New LWP 91141]
[New LWP 91087]
[New LWP 91061]
[New LWP 91066]
[New LWP 91065]
[New LWP 91067]
[New LWP 91046]
[New LWP 91045]
[New LWP 91058]
[New LWP 91144]
[New LWP 93274]
[New LWP 91042]
[New LWP 91047]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/opt/gcluster/server/bin/gclusterd'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f8cc0961b43 in select () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install glibc-2.17-326.el7_9.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-54.el7_9.x86_64 libcom_err-1.42.9-19.el7.x86_64 libdb-5.3.21-25.el7.x86_64 libgcc-4.8.5-44.el7.x86_64 libgcrypt-1.5.3-14.el7.x86_64 libgpg-error-1.12-3.el7.x86_64 libidn-1.28-4.el7.x86_64 libselinux-2.5-15.el7.x86_64 libstdc++-4.8.5-44.el7.x86_64 nss-softokn-freebl-3.67.0-3.el7_9.x86_64 pcre-8.32-17.el7.x86_64 python-libs-2.7.5-92.el7_9.x86_64 sssd-client-1.16.5-10.el7_9.13.x86_64
(gdb) bt
#0  0x00007f8cc0961b43 in select () from /lib64/libc.so.6
#1  0x0000000000ff1780 in handle_connections_sockets ()
#2  0x000000000083abfa in main ()
(gdb) thread apply all btThread 28 (Thread 0x7f8cbe3b5700 (LWP 91047)):
#0  0x00007f8cc095fddd in poll () from /lib64/libc.so.6
#1  0x00007f8cc2088a1b in coroipcc_dispatch_get (handle=1631631794845515778, data=data@entry=0x7f8cbe3b2108, timeout=timeout@entry=1000) at coroipcc.c:958
#2  0x00007f8cc26b4aad in gcClmDispatch (clmHandle=<optimized out>, dispatchFlags=<optimized out>) at clm.c:313
#3  0x00000000019f06a9 in ?? ()
#4  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 27 (Thread 0x7f8cc549e700 (LWP 91042)):
#0  0x00007f8cc50a13c1 in sigwait () from /lib64/libpthread.so.0
#1  0x0000000000fec5df in signal_hand ()
#2  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 26 (Thread 0x7f8c675cd700 (LWP 93274)):
#0  0x00007f8cc0931b12 in fork () from /lib64/libc.so.6
#1  0x00007f8cc08dc3dc in _IO_proc_open@@GLIBC_2.2.5 () from /lib64/libc.so.6
#2  0x00007f8cc08dc66c in popen@@GLIBC_2.2.5 () from /lib64/libc.so.6
#3  0x00000000010618d6 in gbase_print_trace() ()
#4  0x0000000000fec2cd in handle_segfault ()
#5  <signal handler called>
#6  0x00007f8c64ec989e in IntToRoman_init (initid=0x74f03c0, args=0x74f0360, message=0x7f8c675c5ce0 "") at IntToRoman.c:22
#7  0x000000000094dbb6 in udf_handler::fix_fields(THD*, Item_result_field*, unsigned int, Item**) ()
#8  0x0000000000955fc6 in Item_udf_func::fix_fields(THD*, Item**) ()
---Type <return> to continue, or q <return> to quit---
#9  0x0000000000ad42c8 in setup_fields(THD*, Item**, List<Item>&, enum_mark_columns, List<Item>*, bool) ()
#10 0x0000000000b0306c in JOIN::prepare(Item***, TABLE_LIST*, unsigned int, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, st_select_lex*, st_select_lex_unit*, List<st_order>*, List<st_order>*, unsigned int) ()
#11 0x000000000117f781 in optimize_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long, select_result*, st_select_lex_unit*, st_select_lex*, int&, int&) ()
#12 0x0000000001187951 in ExpressEngine::HandleSelect(THD*, st_lex*, select_result*&, unsigned long, int&, int&, int&, int) ()
#13 0x00000000013e61c9 in Express_HandleSelect(THD*, st_lex*, select_result*&, unsigned long, int&, int&, int&, int) ()
#14 0x0000000000a24297 in execute_sqlcom_select(THD*, TABLE_LIST*) ()
#15 0x0000000000a26d5a in gbase_execute_command(THD*) ()
#16 0x0000000000a4c190 in gbase_parse(THD*, char const*, unsigned int, char const**) ()
#17 0x0000000000a4da02 in dispatch_command(enum_server_command, THD*, char*, unsigned int) ()
#18 0x0000000000a4e990 in do_command(THD*) ()
#19 0x0000000000a09b61 in handle_one_connection ()
#20 0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#21 0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 25 (Thread 0x7f8c686cf700 (LWP 91144)):
#0  0x00007f8cc509dde2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000000ec8e21 in ?? ()
#2  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 24 (Thread 0x7f8c7be8b700 (LWP 91058)):
#0  0x00007f8cc09319fd in nanosleep () from /lib64/libc.so.6
#1  0x00007f8cc09622d4 in usleep () from /lib64/libc.so.6
---Type <return> to continue, or q <return> to quit---
#2  0x000000000104d64f in ExpressThread::SleepNow(int) ()
#3  0x0000000001310507 in prioritylist_manager(void*) ()
#4  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 23 (Thread 0x7f8cbf3b7700 (LWP 91045)):
#0  0x00007f8cc095fddd in poll () from /lib64/libc.so.6
#1  0x00007f8cc2088a1b in coroipcc_dispatch_get (handle=9017564810417537024, data=data@entry=0x7f8cbf3b4128, timeout=timeout@entry=1000) at coroipcc.c:958
#2  0x00007f8cc229038e in gcLckDispatch (ullLckHandle=6800117579684773888, ullDispatchFlags=GC_DISPATCH_ALL) at lck.c:496
#3  0x00000000019f0ba9 in ?? ()
#4  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 22 (Thread 0x7f8cbebb6700 (LWP 91046)):
#0  0x00007f8cc095fddd in poll () from /lib64/libc.so.6
#1  0x00007f8cc2088a1b in coroipcc_dispatch_get (handle=959793133296549889, data=data@entry=0x7f8cbebb3108, timeout=timeout@entry=1000) at coroipcc.c:958
#2  0x00007f8cc24aea31 in gcCrmDispatch (crmHandle=9065066478696398848, dispatchFlags=GC_DISPATCH_ALL) at crm.c:9378
#3  0x00000000019eff4c in ?? ()
#4  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 21 (Thread 0x7f8c78883700 (LWP 91067)):
#0  0x00007f8cc509da35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000001062224 in ExpressThreadInPool::run() ()
#2  0x000000000106195f in _run_thread ()
---Type <return> to continue, or q <return> to quit---
#3  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 20 (Thread 0x7f8c79885700 (LWP 91065)):
#0  0x00007f8cc509da35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000001062224 in ExpressThreadInPool::run() ()
#2  0x000000000106195f in _run_thread ()
#3  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 19 (Thread 0x7f8c79084700 (LWP 91066)):
#0  0x00007f8cc509da35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000001062224 in ExpressThreadInPool::run() ()
#2  0x000000000106195f in _run_thread ()
#3  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 18 (Thread 0x7f8c7b488700 (LWP 91061)):
#0  0x00007f8cc0961b43 in select () from /lib64/libc.so.6
#1  0x000000000174bb1f in my_sleep ()
#2  0x0000000000d28cdc in HAEventHandler::HaLeftEventHandleThreadProc(void*) ()
#3  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 17 (Thread 0x7f8c6afd5700 (LWP 91087)):
---Type <return> to continue, or q <return> to quit---
#0  0x00007f8cc509dde2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000000c748cb in Event_queue::get_top_for_execution_if_time(THD*, Event_queue_element_for_exec**) ()
#2  0x0000000000c6c70d in Event_gc_scheduler::run_in_leader(THD*) ()
#3  0x0000000000c6cb7b in Event_gc_scheduler::wrapper_run(THD*) ()
#4  0x0000000000c6f48b in Event_gc_scheduler::run(THD*) ()
#5  0x0000000000c6ad5e in event_scheduler_thread ()
#6  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#7  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 16 (Thread 0x7f8c69ed2700 (LWP 91141)):
#0  0x00007f8cc509dde2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000000de3e07 in Detect_fn(void*) ()
#2  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 15 (Thread 0x7f8c66fcc700 (LWP 91152)):
#0  0x00007f8cc095fddd in poll () from /lib64/libc.so.6
#1  0x00007f8cc2088a1b in coroipcc_dispatch_get (handle=1111233366620897286, data=data@entry=0x7f8c66fc7f08, timeout=timeout@entry=1000) at coroipcc.c:958
#2  0x00007f8cc229038e in gcLckDispatch (ullLckHandle=6144432023848091650, ullDispatchFlags=GC_DISPATCH_ALL) at lck.c:496
#3  0x0000000000c6e860 in LeaderMonitor(void*) ()
#4  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 14 (Thread 0x7f8c68ed0700 (LWP 91143)):
#0  0x00007f8cc095fddd in poll () from /lib64/libc.so.6
---Type <return> to continue, or q <return> to quit---
#1  0x00007f8cc2088a1b in coroipcc_dispatch_get (handle=7610763919178596357, data=data@entry=0x7f8c68eca428, timeout=timeout@entry=1000) at coroipcc.c:958
#2  0x00007f8cc229038e in gcLckDispatch (ullLckHandle=6248749946174963713, ullDispatchFlags=GC_DISPATCH_ALL) at lck.c:496
#3  0x0000000000e30507 in ?? ()
#4  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 13 (Thread 0x7f8c7bc89700 (LWP 91060)):
#0  0x00007f8cc095fddd in poll () from /lib64/libc.so.6
#1  0x0000000000d27263 in HAEventHandler::HaEventMonitorThreadProc(void*) ()
#2  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 12 (Thread 0x7f8c6b7d6700 (LWP 91086)):
#0  0x00007f8cc09319fd in nanosleep () from /lib64/libc.so.6
#1  0x00007f8cc0931894 in sleep () from /lib64/libc.so.6
#2  0x0000000000d38a9a in flush_fn ()
#3  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 11 (Thread 0x7f8cbfdcb700 (LWP 91043)):
#0  0x00007f8cc509dde2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000000ef69f4 in async_detect_fn(void*) ()
#2  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6---Type <return> to continue, or q <return> to quit---
Thread 10 (Thread 0x7f8c659cb700 (LWP 93296)):
#0  0x00007f8cc50a075d in read () from /lib64/libpthread.so.0
#1  0x00000000009f7526 in ?? ()
#2  0x00000000009f89f1 in my_net_read ()
#3  0x0000000000a4e8b5 in do_command(THD*) ()
#4  0x0000000000a09b61 in handle_one_connection ()
#5  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#6  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 9 (Thread 0x7f8c7a887700 (LWP 91063)):
#0  0x00007f8cc09319fd in nanosleep () from /lib64/libc.so.6
#1  0x00007f8cc0931894 in sleep () from /lib64/libc.so.6
#2  0x0000000001324032 in ExpressEngine::TrashManager::TrashManagerThread(void*) ()
#3  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 8 (Thread 0x7f8c7a086700 (LWP 91064)):
#0  0x00007f8cc509da35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000001062224 in ExpressThreadInPool::run() ()
#2  0x000000000106195f in _run_thread ()
#3  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 7 (Thread 0x7f8c74081700 (LWP 91084)):
#0  0x00007f8cc09319fd in nanosleep () from /lib64/libc.so.6
---Type <return> to continue, or q <return> to quit---
#1  0x00007f8cc0931894 in sleep () from /lib64/libc.so.6
#2  0x000000000104412d in CpuUsageManager::run() ()
#3  0x000000000106195f in _run_thread ()
#4  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 6 (Thread 0x7f8c67dce700 (LWP 91145)):
#0  0x00007f8cc509dde2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x000000000104d41b in ExpressCond::TimedWait(long) ()
#2  0x00000000010aa20a in HdfsTokenManager::RenewTokenLoop() ()
#3  0x00000000010aa2c1 in HdfsTokenManager::RenewThread(void*) ()
#4  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 5 (Thread 0x7f8c73880700 (LWP 91085)):
#0  0x00007f8cc509dde2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00000000010084d6 in CDiskSpaceManager::FlushToUserTableThread(void*) ()
#2  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 4 (Thread 0x7f8c7bd8a700 (LWP 91059)):
#0  0x00007f8cc09319fd in nanosleep () from /lib64/libc.so.6
#1  0x00007f8cc09622d4 in usleep () from /lib64/libc.so.6
#2  0x000000000104d64f in ExpressThread::SleepNow(int) ()
#3  0x000000000131026e in locklist_manager(void*) ()
---Type <return> to continue, or q <return> to quit---
#4  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 3 (Thread 0x7f8c6a7d4700 (LWP 91088)):
#0  0x00007f8cc509dde2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000000c748cb in Event_queue::get_top_for_execution_if_time(THD*, Event_queue_element_for_exec**) ()
#2  0x0000000000c6bb64 in Event_scheduler::run_internal(THD*) ()
#3  0x0000000000c6bbd6 in Event_scheduler::run(THD*) ()
#4  0x0000000000c6ad5e in event_scheduler_thread ()
#5  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#6  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 2 (Thread 0x7f8c6a6d3700 (LWP 91089)):
#0  0x00007f8cc509dde2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000000fed116 in connection_status_monitor ()
#2  0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f8cc096ab0d in clone () from /lib64/libc.so.6Thread 1 (Thread 0x7f8cc54a4480 (LWP 91041)):
#0  0x00007f8cc0961b43 in select () from /lib64/libc.so.6
#1  0x0000000000ff1780 in handle_connections_sockets ()
#2  0x000000000083abfa in main ()
(gdb)
(gdb) t 26
[Switching to thread 26 (Thread 0x7f8c675cd700 (LWP 93274))]
#0  0x00007f8cc0931b12 in fork () from /lib64/libc.so.6
(gdb) bt
#0  0x00007f8cc0931b12 in fork () from /lib64/libc.so.6
#1  0x00007f8cc08dc3dc in _IO_proc_open@@GLIBC_2.2.5 () from /lib64/libc.so.6
#2  0x00007f8cc08dc66c in popen@@GLIBC_2.2.5 () from /lib64/libc.so.6
#3  0x00000000010618d6 in gbase_print_trace() ()
#4  0x0000000000fec2cd in handle_segfault ()
#5  <signal handler called>
#6  0x00007f8c64ec989e in IntToRoman_init (initid=0x74f03c0, args=0x74f0360, message=0x7f8c675c5ce0 "") at IntToRoman.c:22
#7  0x000000000094dbb6 in udf_handler::fix_fields(THD*, Item_result_field*, unsigned int, Item**) ()
#8  0x0000000000955fc6 in Item_udf_func::fix_fields(THD*, Item**) ()
#9  0x0000000000ad42c8 in setup_fields(THD*, Item**, List<Item>&, enum_mark_columns, List<Item>*, bool) ()
#10 0x0000000000b0306c in JOIN::prepare(Item***, TABLE_LIST*, unsigned int, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, st_select_lex*, st_select_lex_unit*, List<st_order>*, List<st_order>*, unsigned int) ()
#11 0x000000000117f781 in optimize_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long, select_result*, st_select_lex_unit*, st_select_lex*, int&, int&) ()
#12 0x0000000001187951 in ExpressEngine::HandleSelect(THD*, st_lex*, select_result*&, unsigned long, int&, int&, int&, int) ()
#13 0x00000000013e61c9 in Express_HandleSelect(THD*, st_lex*, select_result*&, unsigned long, int&, int&, int&, int) ()
#14 0x0000000000a24297 in execute_sqlcom_select(THD*, TABLE_LIST*) ()
#15 0x0000000000a26d5a in gbase_execute_command(THD*) ()
#16 0x0000000000a4c190 in gbase_parse(THD*, char const*, unsigned int, char const**) ()
#17 0x0000000000a4da02 in dispatch_command(enum_server_command, THD*, char*, unsigned int) ()
#18 0x0000000000a4e990 in do_command(THD*) ()
#19 0x0000000000a09b61 in handle_one_connection ()
#20 0x00007f8cc5099ea5 in start_thread () from /lib64/libpthread.so.0
#21 0x00007f8cc096ab0d in clone () from /lib64/libc.so.6
(gdb) f 6
#6  0x00007f8c64ec989e in IntToRoman_init (initid=0x74f03c0, args=0x74f0360, message=0x7f8c675c5ce0 "") at IntToRoman.c:22
22          long long x = *((long long*) args->args[0]);
(gdb) i locals
x = 140241006254608
(gdb) i args
initid = 0x74f03c0
args = 0x74f0360
message = 0x7f8c675c5ce0 ""
(gdb) p  args->args[0]
$1 = 0x0
(gdb) p  args
$2 = (GB_UDF_ARGS *) 0x74f0360
(gdb) p  args->args
$3 = (char **) 0x74f0b28
(gdb) p  args->args[0]
$4 = 0x0

地址0x0(表示空指针NULL)由char*变为long long*再取值是有问题的,所以我想着在IntToRoman_init里面加一个判断args->args[0]==0x0,如果相等直接返回错误信息。

    if (args->args[0] == 0x0){strcpy(message, "IntToRoman Function Input Parameter Data Error : 0x0.");return 1;}
gbase> select int_to_roman(a) from czg.sun;
ERROR 1123 (HY000): Can't initialize function 'int_to_roman'; int_to_roman Function Input Parameter Data Error : 0x0.

编译执行SQL,发现逻辑确实对了,但a明明是1,为什么会变成0x0,会不会是在init函数的时候,还没有传入数据,在主函数时才会传入,前提是表数据的情况。如果只是放一个常量在init的时候就能拿到数据。所以我就把init函数中对于args的操作注释了,改在了主函数中。这回就可以了。

2、源码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gbase.h>#define CHAR_ARRAY_SIZE 16
#define INT_ARRAY_SIZE 4
#define MAX_RES_LEN 255gs_bool IntToRoman_init(GB_UDF_INIT *initid, GB_UDF_ARGS *args, char *message)
{if (args->arg_count != 1) {strcpy(message, "IntToRoman Function Accepts Only One Argument.");return 1;}if (args->arg_type[0] != GB_INT_RESULT) {strcpy(message, "IntToRoman Function Input Parameter Data Type Need Int.");return 1;}//if (args->args[0] == 0x0)//{//    strcpy(message, "IntToRoman Function Input Parameter Data Error : 0x0.");//    return 1;//}//long long x = *((long long*) args->args[0]);//if (x < 1 || x > 3999)//{//    strcpy(message, "IntToRoman Function Input Parameter must between 1 and 3999.");  //    return 1;//} initid->maybe_null = 1;initid->decimals   = 0;initid->max_length = MAX_RES_LEN;initid->extension  = NULL;return 0;
}char* IntToRoman(GB_UDF_INIT   *initid, GB_UDF_ARGS   *args,char          *result, unsigned long *length,char          *is_null, char          *error)
{memset(result,0,MAX_RES_LEN);if(args->args[0]==NULL){strncpy(result, "N",1);*length= strlen(result);return result;}long long x = *((long long*) args->args[0]);if (x < 1 || x > 3999){result[0] = 'N';*length= strlen(result);return result;    }char arr[][10][5] = {{"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"},{"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"},{"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"},{"", "M", "MM", "MMM"}};long long TmpArr[INT_ARRAY_SIZE];int i;long long y;int cnt = 0;for(i=0; i<INT_ARRAY_SIZE; i++){TmpArr[i] = -1;}//memset(result,0,MAX_RES_LEN);while(x / 10 != 0){y = x % 10;TmpArr[cnt] = y;x = x / 10;cnt++;}TmpArr[cnt] = x;cnt++;for(i=INT_ARRAY_SIZE-1; i>=0; i--){if(TmpArr[i] != -1){strcat(result,arr[i][TmpArr[i]]);}}*length= strlen(result);return result;
}void IntToRoman_deinit(GB_UDF_INIT *initid)
{}

3、编译

[gbase@czg2 IntToRoman]$ gcc -fPIC IntToRoman.c -shared -Wall -O3 -o IntToRoman.so -I /opt/Developer/DataMigrationTool/C/Gbase8a-C-API/include/Gbase8a/

4、拷贝动态库

每个节点都需要拷贝。

[gbase@czg2 IntToRoman]$ cp IntToRoman.so /opt/gnode/server/lib/gbase/plugin/[gbase@czg2 IntToRoman]$ cp IntToRoman.so /opt/gcluster/server/lib/gbase/plugin/

5、执行SQL

gbase> drop function IntToRoman;
Query OK, 0 rows affected (Elapsed: 00:00:00.09)gbase> create function IntToRoman returns string soname 'IntToRoman.so';
Query OK, 0 rows affected (Elapsed: 00:00:00.01)gbase> select * from czg.sun;
+------+
| a    |
+------+
|    1 |
| NULL |
+------+
2 rows in set (Elapsed: 00:00:00.04)gbase> select IntToRoman(a) from czg.sun;
+---------------+
| IntToRoman(a) |
+---------------+
| I             |
| N             |
+---------------+
2 rows in set (Elapsed: 00:00:00.01)

6、总结

(1)不要在初始化函数中对args进行操作,因为给的是空指针,最好在主函数中对args进行相关操作。

(2)在主函数中需要对NULL进行判断。

九、C UDF和Python UDF效率对比二

1、准备测试环境

gbase> CREATE TABLE "czg" ("a" int(11));
Query OK, 0 rows affected (Elapsed: 00:00:01.12)gbase> drop procedure if exists "GenerateTestData";
Query OK, 0 rows affected (Elapsed: 00:00:00.10)gbase> DELIMITER //
gbase> CREATE PROCEDURE "GenerateTestData"(num int)-> begin->     declare tempval int;->     ->     set tempval = 1;->     set autocommit = off;->     label: loop->         insert into czg values(tempval);->         if tempval >= num then ->             leave label;->         else->             set tempval = tempval + 1;->         end if;->     end loop label;->     commit;-> end;-> //
Query OK, 0 rows affected (Elapsed: 00:00:00.18)gbase> call "GenerateTestData"(3999);//
Query OK, 0 rows affected (Elapsed: 00:00:13.46)gbase> select count(*) from czg;//
+----------+
| count(*) |
+----------+
|     3999 |
+----------+
1 row in set (Elapsed: 00:00:00.00)

2、Python UDF执行情况

gbase> select PythonInt2Roman(a) from czg;;
+--------------------+
| PythonInt2Roman(a) |
+--------------------+
| I                  |
| II                 |
| III                |
| IV                 |
| V                  |
| VI                 |
| VII                |
| VIII               |
| IX                 |
| X                  |
| XI                 |
| XII                |
| XIII               |
| XIV                |
| XV                 |
| XVI                |
| XVII               |
| XVIII              |
| XIX                |
| XX                 |
| XXI                |
| XXII               |
| XXIII              |
| XXIV               |
| XXV                |
| XXVI               |
| XXVII              |
| XXVIII             |
| XXIX               |
| XXX                |
| XXXI               |
| XXXII              |
| XXXIII             |
| XXXIV              |
| XXXV               |
| XXXVI              |
| XXXVII             |
| XXXVIII            |
| XXXIX              |
| XL                 |
| XLI                |
| XLII               |
| XLIII              |
| XLIV               |
| XLV                |
| XLVI               |
| XLVII              |
| XLVIII             |
| XLIX               |
| L                  |
| LI                 |
| LII                |
| LIII               |
| LIV                |
| LV                 |
| LVI                |
| LVII               |
| LVIII              |
| LIX                |
| LX                 |
| LXI                |
| LXII               |
| LXIII              |
| LXIV               |
| LXV                |
| LXVI               |
| LXVII              |
| LXVIII             |
| LXIX               |
| LXX                |
| LXXI               |
| LXXII              |
| LXXIII             |
| LXXIV              |
| LXXV               |
| LXXVI              |
| LXXVII             |
| LXXVIII            |
| LXXIX              |
| LXXX               |
| LXXXI              |
| LXXXII             |
| LXXXIII            |
| LXXXIV             |
| LXXXV              |
| LXXXVI             |
| LXXXVII            |
| LXXXVIII           |
| LXXXIX             |
| XC                 |
| XCI                |
| XCII               |
| XCIII              |
| XCIV               |
| XCV                |
| XCVI               |
| XCVII              |
| XCVIII             |
| XCIX               |
| C                  |
| CI                 |
| CII                |
| CIII               |
| CIV                |
| CV                 |
| CVI                |
| CVII               |
| CVIII              |
| CIX                |
| CX                 |
| CXI                |
| CXII               |
| CXIII              |
| CXIV               |
| CXV                |
| CXVI               |
| CXVII              |
| CXVIII             |
| CXIX               |
| CXX                |
| CXXI               |
| CXXII              |
| CXXIII             |
| CXXIV              |
| CXXV               |
| CXXVI              |
| CXXVII             |
| CXXVIII            |
| CXXIX              |
| CXXX               |
| CXXXI              |
| CXXXII             |
| CXXXIII            |
| CXXXIV             |
| CXXXV              |
| CXXXVI             |
| CXXXVII            |
| CXXXVIII           |
| CXXXIX             |
| CXL                |
| CXLI               |
| CXLII              |
| CXLIII             |
| CXLIV              |
| CXLV               |
| CXLVI              |
| CXLVII             |
| CXLVIII            |
| CXLIX              |
| CL                 |
| CLI                |
| CLII               |
| CLIII              |
| CLIV               |
| CLV                |
| CLVI               |
| CLVII              |
| CLVIII             |
| CLIX               |
| CLX                |
| CLXI               |
| CLXII              |
| CLXIII             |
| CLXIV              |
| CLXV               |
| CLXVI              |
| CLXVII             |
| CLXVIII            |
| CLXIX              |
| CLXX               |
| CLXXI              |
| CLXXII             |
| CLXXIII            |
| CLXXIV             |
| CLXXV              |
| CLXXVI             |
| CLXXVII            |
| CLXXVIII           |
| CLXXIX             |
| CLXXX              |
| CLXXXI             |
| CLXXXII            |
| CLXXXIII           |
| CLXXXIV            |
| CLXXXV             |
| CLXXXVI            |
| CLXXXVII           |
| CLXXXVIII          |
| CLXXXIX            |
| CXC                |
| CXCI               |
| CXCII              |
| CXCIII             |
| CXCIV              |
| CXCV               |
| CXCVI              |
| CXCVII             |
| CXCVIII            |
| CXCIX              |
| CC                 |
| CCI                |
| CCII               |
| CCIII              |
| CCIV               |
| CCV                |
| CCVI               |
| CCVII              |
| CCVIII             |
| CCIX               |
| CCX                |
| CCXI               |
| CCXII              |
| CCXIII             |
| CCXIV              |
| CCXV               |
| CCXVI              |
| CCXVII             |
| CCXVIII            |
| CCXIX              |
| CCXX               |
| CCXXI              |
| CCXXII             |
| CCXXIII            |
| CCXXIV             |
| CCXXV              |
| CCXXVI             |
| CCXXVII            |
| CCXXVIII           |
| CCXXIX             |
| CCXXX              |
| CCXXXI             |
| CCXXXII            |
| CCXXXIII           |
| CCXXXIV            |
| CCXXXV             |
| CCXXXVI            |
| CCXXXVII           |
| CCXXXVIII          |
| CCXXXIX            |
| CCXL               |
| CCXLI              |
| CCXLII             |
| CCXLIII            |
| CCXLIV             |
| CCXLV              |
| CCXLVI             |
| CCXLVII            |
| CCXLVIII           |
| CCXLIX             |
| CCL                |
| CCLI               |
| CCLII              |
| CCLIII             |
| CCLIV              |
| CCLV               |
| CCLVI              |
| CCLVII             |
| CCLVIII            |
| CCLIX              |
| CCLX               |
| CCLXI              |
| CCLXII             |
| CCLXIII            |
| CCLXIV             |
| CCLXV              |
| CCLXVI             |
| CCLXVII            |
| CCLXVIII           |
| CCLXIX             |
| CCLXX              |
| CCLXXI             |
| CCLXXII            |
| CCLXXIII           |
| CCLXXIV            |
| CCLXXV             |
| CCLXXVI            |
| CCLXXVII           |
| CCLXXVIII          |
| CCLXXIX            |
| CCLXXX             |
| CCLXXXI            |
| CCLXXXII           |
| CCLXXXIII          |
| CCLXXXIV           |
| CCLXXXV            |
| CCLXXXVI           |
| CCLXXXVII          |
| CCLXXXVIII         |
| CCLXXXIX           |
| CCXC               |
| CCXCI              |
| CCXCII             |
| CCXCIII            |
| CCXCIV             |
| CCXCV              |
| CCXCVI             |
| CCXCVII            |
| CCXCVIII           |
| CCXCIX             |
| CCC                |
| CCCI               |
| CCCII              |
| CCCIII             |
| CCCIV              |
| CCCV               |
| CCCVI              |
| CCCVII             |
| CCCVIII            |
| CCCIX              |
| CCCX               |
| CCCXI              |
| CCCXII             |
| CCCXIII            |
| CCCXIV             |
| CCCXV              |
| CCCXVI             |
| CCCXVII            |
| CCCXVIII           |
| CCCXIX             |
| CCCXX              |
| CCCXXI             |
| CCCXXII            |
| CCCXXIII           |
| CCCXXIV            |
| CCCXXV             |
| CCCXXVI            |
| CCCXXVII           |
| CCCXXVIII          |
| CCCXXIX            |
| CCCXXX             |
| CCCXXXI            |
| CCCXXXII           |
| CCCXXXIII          |
| CCCXXXIV           |
| CCCXXXV            |
| CCCXXXVI           |
| CCCXXXVII          |
| CCCXXXVIII         |
| CCCXXXIX           |
| CCCXL              |
| CCCXLI             |
| CCCXLII            |
| CCCXLIII           |
| CCCXLIV            |
| CCCXLV             |
| CCCXLVI            |
| CCCXLVII           |
| CCCXLVIII          |
| CCCXLIX            |
| CCCL               |
| CCCLI              |
| CCCLII             |
| CCCLIII            |
| CCCLIV             |
| CCCLV              |
| CCCLVI             |
| CCCLVII            |
| CCCLVIII           |
| CCCLIX             |
| CCCLX              |
| CCCLXI             |
| CCCLXII            |
| CCCLXIII           |
| CCCLXIV            |
| CCCLXV             |
| CCCLXVI            |
| CCCLXVII           |
| CCCLXVIII          |
| CCCLXIX            |
| CCCLXX             |
| CCCLXXI            |
| CCCLXXII           |
| CCCLXXIII          |
| CCCLXXIV           |
| CCCLXXV            |
| CCCLXXVI           |
| CCCLXXVII          |
| CCCLXXVIII         |
| CCCLXXIX           |
| CCCLXXX            |
| CCCLXXXI           |
| CCCLXXXII          |
| CCCLXXXIII         |
| CCCLXXXIV          |
| CCCLXXXV           |
| CCCLXXXVI          |
| CCCLXXXVII         |
| CCCLXXXVIII        |
| CCCLXXXIX          |
| CCCXC              |
| CCCXCI             |
| CCCXCII            |
| CCCXCIII           |
| CCCXCIV            |
| CCCXCV             |
| CCCXCVI            |
| CCCXCVII           |
| CCCXCVIII          |
| CCCXCIX            |
| CD                 |
| CDI                |
| CDII               |
| CDIII              |
| CDIV               |
| CDV                |
| CDVI               |
| CDVII              |
| CDVIII             |
| CDIX               |
| CDX                |
| CDXI               |
| CDXII              |
| CDXIII             |
| CDXIV              |
| CDXV               |
| CDXVI              |
| CDXVII             |
| CDXVIII            |
| CDXIX              |
| CDXX               |
| CDXXI              |
| CDXXII             |
| CDXXIII            |
| CDXXIV             |
| CDXXV              |
| CDXXVI             |
| CDXXVII            |
| CDXXVIII           |
| CDXXIX             |
| CDXXX              |
| CDXXXI             |
| CDXXXII            |
| CDXXXIII           |
| CDXXXIV            |
| CDXXXV             |
| CDXXXVI            |
| CDXXXVII           |
| CDXXXVIII          |
| CDXXXIX            |
| CDXL               |
| CDXLI              |
| CDXLII             |
| CDXLIII            |
| CDXLIV             |
| CDXLV              |
| CDXLVI             |
| CDXLVII            |
| CDXLVIII           |
| CDXLIX             |
| CDL                |
| CDLI               |
| CDLII              |
| CDLIII             |
| CDLIV              |
| CDLV               |
| CDLVI              |
| CDLVII             |
| CDLVIII            |
| CDLIX              |
| CDLX               |
| CDLXI              |
| CDLXII             |
| CDLXIII            |
| CDLXIV             |
| CDLXV              |
| CDLXVI             |
| CDLXVII            |
| CDLXVIII           |
| CDLXIX             |
| CDLXX              |
| CDLXXI             |
| CDLXXII            |
| CDLXXIII           |
| CDLXXIV            |
| CDLXXV             |
| CDLXXVI            |
| CDLXXVII           |
| CDLXXVIII          |
| CDLXXIX            |
| CDLXXX             |
| CDLXXXI            |
| CDLXXXII           |
| CDLXXXIII          |
| CDLXXXIV           |
| CDLXXXV            |
| CDLXXXVI           |
| CDLXXXVII          |
| CDLXXXVIII         |
| CDLXXXIX           |
| CDXC               |
| CDXCI              |
| CDXCII             |
| CDXCIII            |
| CDXCIV             |
| CDXCV              |
| CDXCVI             |
| CDXCVII            |
| CDXCVIII           |
| CDXCIX             |
| D                  |
| DI                 |
| DII                |
| DIII               |
| DIV                |
| DV                 |
| DVI                |
| DVII               |
| DVIII              |
| DIX                |
| DX                 |
| DXI                |
| DXII               |
| DXIII              |
| DXIV               |
| DXV                |
| DXVI               |
| DXVII              |
| DXVIII             |
| DXIX               |
| DXX                |
| DXXI               |
| DXXII              |
| DXXIII             |
| DXXIV              |
| DXXV               |
| DXXVI              |
| DXXVII             |
| DXXVIII            |
| DXXIX              |
| DXXX               |
| DXXXI              |
| DXXXII             |
| DXXXIII            |
| DXXXIV             |
| DXXXV              |
| DXXXVI             |
| DXXXVII            |
| DXXXVIII           |
| DXXXIX             |
| DXL                |
| DXLI               |
| DXLII              |
| DXLIII             |
| DXLIV              |
| DXLV               |
| DXLVI              |
| DXLVII             |
| DXLVIII            |
| DXLIX              |
| DL                 |
| DLI                |
| DLII               |
| DLIII              |
| DLIV               |
| DLV                |
| DLVI               |
| DLVII              |
| DLVIII             |
| DLIX               |
| DLX                |
| DLXI               |
| DLXII              |
| DLXIII             |
| DLXIV              |
| DLXV               |
| DLXVI              |
| DLXVII             |
| DLXVIII            |
| DLXIX              |
| DLXX               |
| DLXXI              |
| DLXXII             |
| DLXXIII            |
| DLXXIV             |
| DLXXV              |
| DLXXVI             |
| DLXXVII            |
| DLXXVIII           |
| DLXXIX             |
| DLXXX              |
| DLXXXI             |
| DLXXXII            |
| DLXXXIII           |
| DLXXXIV            |
| DLXXXV             |
| DLXXXVI            |
| DLXXXVII           |
| DLXXXVIII          |
| DLXXXIX            |
| DXC                |
| DXCI               |
| DXCII              |
| DXCIII             |
| DXCIV              |
| DXCV               |
| DXCVI              |
| DXCVII             |
| DXCVIII            |
| DXCIX              |
| DC                 |
| DCI                |
| DCII               |
| DCIII              |
| DCIV               |
| DCV                |
| DCVI               |
| DCVII              |
| DCVIII             |
| DCIX               |
| DCX                |
| DCXI               |
| DCXII              |
| DCXIII             |
| DCXIV              |
| DCXV               |
| DCXVI              |
| DCXVII             |
| DCXVIII            |
| DCXIX              |
| DCXX               |
| DCXXI              |
| DCXXII             |
| DCXXIII            |
| DCXXIV             |
| DCXXV              |
| DCXXVI             |
| DCXXVII            |
| DCXXVIII           |
| DCXXIX             |
| DCXXX              |
| DCXXXI             |
| DCXXXII            |
| DCXXXIII           |
| DCXXXIV            |
| DCXXXV             |
| DCXXXVI            |
| DCXXXVII           |
| DCXXXVIII          |
| DCXXXIX            |
| DCXL               |
| DCXLI              |
| DCXLII             |
| DCXLIII            |
| DCXLIV             |
| DCXLV              |
| DCXLVI             |
| DCXLVII            |
| DCXLVIII           |
| DCXLIX             |
| DCL                |
| DCLI               |
| DCLII              |
| DCLIII             |
| DCLIV              |
| DCLV               |
| DCLVI              |
| DCLVII             |
| DCLVIII            |
| DCLIX              |
| DCLX               |
| DCLXI              |
| DCLXII             |
| DCLXIII            |
| DCLXIV             |
| DCLXV              |
| DCLXVI             |
| DCLXVII            |
| DCLXVIII           |
| DCLXIX             |
| DCLXX              |
| DCLXXI             |
| DCLXXII            |
| DCLXXIII           |
| DCLXXIV            |
| DCLXXV             |
| DCLXXVI            |
| DCLXXVII           |
| DCLXXVIII          |
| DCLXXIX            |
| DCLXXX             |
| DCLXXXI            |
| DCLXXXII           |
| DCLXXXIII          |
| DCLXXXIV           |
| DCLXXXV            |
| DCLXXXVI           |
| DCLXXXVII          |
| DCLXXXVIII         |
| DCLXXXIX           |
| DCXC               |
| DCXCI              |
| DCXCII             |
| DCXCIII            |
| DCXCIV             |
| DCXCV              |
| DCXCVI             |
| DCXCVII            |
| DCXCVIII           |
| DCXCIX             |
| DCC                |
| DCCI               |
| DCCII              |
| DCCIII             |
| DCCIV              |
| DCCV               |
| DCCVI              |
| DCCVII             |
| DCCVIII            |
| DCCIX              |
| DCCX               |
| DCCXI              |
| DCCXII             |
| DCCXIII            |
| DCCXIV             |
| DCCXV              |
| DCCXVI             |
| DCCXVII            |
| DCCXVIII           |
| DCCXIX             |
| DCCXX              |
| DCCXXI             |
| DCCXXII            |
| DCCXXIII           |
| DCCXXIV            |
| DCCXXV             |
| DCCXXVI            |
| DCCXXVII           |
| DCCXXVIII          |
| DCCXXIX            |
| DCCXXX             |
| DCCXXXI            |
| DCCXXXII           |
| DCCXXXIII          |
| DCCXXXIV           |
| DCCXXXV            |
| DCCXXXVI           |
| DCCXXXVII          |
| DCCXXXVIII         |
| DCCXXXIX           |
| DCCXL              |
| DCCXLI             |
| DCCXLII            |
| DCCXLIII           |
| DCCXLIV            |
| DCCXLV             |
| DCCXLVI            |
| DCCXLVII           |
| DCCXLVIII          |
| DCCXLIX            |
| DCCL               |
| DCCLI              |
| DCCLII             |
| DCCLIII            |
| DCCLIV             |
| DCCLV              |
| DCCLVI             |
| DCCLVII            |
| DCCLVIII           |
| DCCLIX             |
| DCCLX              |
| DCCLXI             |
| DCCLXII            |
| DCCLXIII           |
| DCCLXIV            |
| DCCLXV             |
| DCCLXVI            |
| DCCLXVII           |
| DCCLXVIII          |
| DCCLXIX            |
| DCCLXX             |
| DCCLXXI            |
| DCCLXXII           |
| DCCLXXIII          |
| DCCLXXIV           |
| DCCLXXV            |
| DCCLXXVI           |
| DCCLXXVII          |
| DCCLXXVIII         |
| DCCLXXIX           |
| DCCLXXX            |
| DCCLXXXI           |
| DCCLXXXII          |
| DCCLXXXIII         |
| DCCLXXXIV          |
| DCCLXXXV           |
| DCCLXXXVI          |
| DCCLXXXVII         |
| DCCLXXXVIII        |
| DCCLXXXIX          |
| DCCXC              |
| DCCXCI             |
| DCCXCII            |
| DCCXCIII           |
| DCCXCIV            |
| DCCXCV             |
| DCCXCVI            |
| DCCXCVII           |
| DCCXCVIII          |
| DCCXCIX            |
| DCCC               |
| DCCCI              |
| DCCCII             |
| DCCCIII            |
| DCCCIV             |
| DCCCV              |
| DCCCVI             |
| DCCCVII            |
| DCCCVIII           |
| DCCCIX             |
| DCCCX              |
| DCCCXI             |
| DCCCXII            |
| DCCCXIII           |
| DCCCXIV            |
| DCCCXV             |
| DCCCXVI            |
| DCCCXVII           |
| DCCCXVIII          |
| DCCCXIX            |
| DCCCXX             |
| DCCCXXI            |
| DCCCXXII           |
| DCCCXXIII          |
| DCCCXXIV           |
| DCCCXXV            |
| DCCCXXVI           |
| DCCCXXVII          |
| DCCCXXVIII         |
| DCCCXXIX           |
| DCCCXXX            |
| DCCCXXXI           |
| DCCCXXXII          |
| DCCCXXXIII         |
| DCCCXXXIV          |
| DCCCXXXV           |
| DCCCXXXVI          |
| DCCCXXXVII         |
| DCCCXXXVIII        |
| DCCCXXXIX          |
| DCCCXL             |
| DCCCXLI            |
| DCCCXLII           |
| DCCCXLIII          |
| DCCCXLIV           |
| DCCCXLV            |
| DCCCXLVI           |
| DCCCXLVII          |
| DCCCXLVIII         |
| DCCCXLIX           |
| DCCCL              |
| DCCCLI             |
| DCCCLII            |
| DCCCLIII           |
| DCCCLIV            |
| DCCCLV             |
| DCCCLVI            |
| DCCCLVII           |
| DCCCLVIII          |
| DCCCLIX            |
| DCCCLX             |
| DCCCLXI            |
| DCCCLXII           |
| DCCCLXIII          |
| DCCCLXIV           |
| DCCCLXV            |
| DCCCLXVI           |
| DCCCLXVII          |
| DCCCLXVIII         |
| DCCCLXIX           |
| DCCCLXX            |
| DCCCLXXI           |
| DCCCLXXII          |
| DCCCLXXIII         |
| DCCCLXXIV          |
| DCCCLXXV           |
| DCCCLXXVI          |
| DCCCLXXVII         |
| DCCCLXXVIII        |
| DCCCLXXIX          |
| DCCCLXXX           |
| DCCCLXXXI          |
| DCCCLXXXII         |
| DCCCLXXXIII        |
| DCCCLXXXIV         |
| DCCCLXXXV          |
| DCCCLXXXVI         |
| DCCCLXXXVII        |
| DCCCLXXXVIII       |
| DCCCLXXXIX         |
| DCCCXC             |
| DCCCXCI            |
| DCCCXCII           |
| DCCCXCIII          |
| DCCCXCIV           |
| DCCCXCV            |
| DCCCXCVI           |
| DCCCXCVII          |
| DCCCXCVIII         |
| DCCCXCIX           |
| CM                 |
| CMI                |
| CMII               |
| CMIII              |
| CMIV               |
| CMV                |
| CMVI               |
| CMVII              |
| CMVIII             |
| CMIX               |
| CMX                |
| CMXI               |
| CMXII              |
| CMXIII             |
| CMXIV              |
| CMXV               |
| CMXVI              |
| CMXVII             |
| CMXVIII            |
| CMXIX              |
| CMXX               |
| CMXXI              |
| CMXXII             |
| CMXXIII            |
| CMXXIV             |
| CMXXV              |
| CMXXVI             |
| CMXXVII            |
| CMXXVIII           |
| CMXXIX             |
| CMXXX              |
| CMXXXI             |
| CMXXXII            |
| CMXXXIII           |
| CMXXXIV            |
| CMXXXV             |
| CMXXXVI            |
| CMXXXVII           |
| CMXXXVIII          |
| CMXXXIX            |
| CMXL               |
| CMXLI              |
| CMXLII             |
| CMXLIII            |
| CMXLIV             |
| CMXLV              |
| CMXLVI             |
| CMXLVII            |
| CMXLVIII           |
| CMXLIX             |
| CML                |
| CMLI               |
| CMLII              |
| CMLIII             |
| CMLIV              |
| CMLV               |
| CMLVI              |
| CMLVII             |
| CMLVIII            |
| CMLIX              |
| CMLX               |
| CMLXI              |
| CMLXII             |
| CMLXIII            |
| CMLXIV             |
| CMLXV              |
| CMLXVI             |
| CMLXVII            |
| CMLXVIII           |
| CMLXIX             |
| CMLXX              |
| CMLXXI             |
| CMLXXII            |
| CMLXXIII           |
| CMLXXIV            |
| CMLXXV             |
| CMLXXVI            |
| CMLXXVII           |
| CMLXXVIII          |
| CMLXXIX            |
| CMLXXX             |
| CMLXXXI            |
| CMLXXXII           |
| CMLXXXIII          |
| CMLXXXIV           |
| CMLXXXV            |
| CMLXXXVI           |
| CMLXXXVII          |
| CMLXXXVIII         |
| CMLXXXIX           |
| CMXC               |
| CMXCI              |
| CMXCII             |
| CMXCIII            |
| CMXCIV             |
| CMXCV              |
| CMXCVI             |
| CMXCVII            |
| CMXCVIII           |
| CMXCIX             |
| M                  |
| MI                 |
| MII                |
| MIII               |
| MIV                |
| MV                 |
| MVI                |
| MVII               |
| MVIII              |
| MIX                |
| MX                 |
| MXI                |
| MXII               |
| MXIII              |
| MXIV               |
| MXV                |
| MXVI               |
| MXVII              |
| MXVIII             |
| MXIX               |
| MXX                |
| MXXI               |
| MXXII              |
| MXXIII             |
| MXXIV              |
| MXXV               |
| MXXVI              |
| MXXVII             |
| MXXVIII            |
| MXXIX              |
| MXXX               |
| MXXXI              |
| MXXXII             |
| MXXXIII            |
| MXXXIV             |
| MXXXV              |
| MXXXVI             |
| MXXXVII            |
| MXXXVIII           |
| MXXXIX             |
| MXL                |
| MXLI               |
| MXLII              |
| MXLIII             |
| MXLIV              |
| MXLV               |
| MXLVI              |
| MXLVII             |
| MXLVIII            |
| MXLIX              |
| ML                 |
| MLI                |
| MLII               |
| MLIII              |
| MLIV               |
| MLV                |
| MLVI               |
| MLVII              |
| MLVIII             |
| MLIX               |
| MLX                |
| MLXI               |
| MLXII              |
| MLXIII             |
| MLXIV              |
| MLXV               |
| MLXVI              |
| MLXVII             |
| MLXVIII            |
| MLXIX              |
| MLXX               |
| MLXXI              |
| MLXXII             |
| MLXXIII            |
| MLXXIV             |
| MLXXV              |
| MLXXVI             |
| MLXXVII            |
| MLXXVIII           |
| MLXXIX             |
| MLXXX              |
| MLXXXI             |
| MLXXXII            |
| MLXXXIII           |
| MLXXXIV            |
| MLXXXV             |
| MLXXXVI            |
| MLXXXVII           |
| MLXXXVIII          |
| MLXXXIX            |
| MXC                |
| MXCI               |
| MXCII              |
| MXCIII             |
| MXCIV              |
| MXCV               |
| MXCVI              |
| MXCVII             |
| MXCVIII            |
| MXCIX              |
| MC                 |
| MCI                |
| MCII               |
| MCIII              |
| MCIV               |
| MCV                |
| MCVI               |
| MCVII              |
| MCVIII             |
| MCIX               |
| MCX                |
| MCXI               |
| MCXII              |
| MCXIII             |
| MCXIV              |
| MCXV               |
| MCXVI              |
| MCXVII             |
| MCXVIII            |
| MCXIX              |
| MCXX               |
| MCXXI              |
| MCXXII             |
| MCXXIII            |
| MCXXIV             |
| MCXXV              |
| MCXXVI             |
| MCXXVII            |
| MCXXVIII           |
| MCXXIX             |
| MCXXX              |
| MCXXXI             |
| MCXXXII            |
| MCXXXIII           |
| MCXXXIV            |
| MCXXXV             |
| MCXXXVI            |
| MCXXXVII           |
| MCXXXVIII          |
| MCXXXIX            |
| MCXL               |
| MCXLI              |
| MCXLII             |
| MCXLIII            |
| MCXLIV             |
| MCXLV              |
| MCXLVI             |
| MCXLVII            |
| MCXLVIII           |
| MCXLIX             |
| MCL                |
| MCLI               |
| MCLII              |
| MCLIII             |
| MCLIV              |
| MCLV               |
| MCLVI              |
| MCLVII             |
| MCLVIII            |
| MCLIX              |
| MCLX               |
| MCLXI              |
| MCLXII             |
| MCLXIII            |
| MCLXIV             |
| MCLXV              |
| MCLXVI             |
| MCLXVII            |
| MCLXVIII           |
| MCLXIX             |
| MCLXX              |
| MCLXXI             |
| MCLXXII            |
| MCLXXIII           |
| MCLXXIV            |
| MCLXXV             |
| MCLXXVI            |
| MCLXXVII           |
| MCLXXVIII          |
| MCLXXIX            |
| MCLXXX             |
| MCLXXXI            |
| MCLXXXII           |
| MCLXXXIII          |
| MCLXXXIV           |
| MCLXXXV            |
| MCLXXXVI           |
| MCLXXXVII          |
| MCLXXXVIII         |
| MCLXXXIX           |
| MCXC               |
| MCXCI              |
| MCXCII             |
| MCXCIII            |
| MCXCIV             |
| MCXCV              |
| MCXCVI             |
| MCXCVII            |
| MCXCVIII           |
| MCXCIX             |
| MCC                |
| MCCI               |
| MCCII              |
| MCCIII             |
| MCCIV              |
| MCCV               |
| MCCVI              |
| MCCVII             |
| MCCVIII            |
| MCCIX              |
| MCCX               |
| MCCXI              |
| MCCXII             |
| MCCXIII            |
| MCCXIV             |
| MCCXV              |
| MCCXVI             |
| MCCXVII            |
| MCCXVIII           |
| MCCXIX             |
| MCCXX              |
| MCCXXI             |
| MCCXXII            |
| MCCXXIII           |
| MCCXXIV            |
| MCCXXV             |
| MCCXXVI            |
| MCCXXVII           |
| MCCXXVIII          |
| MCCXXIX            |
| MCCXXX             |
| MCCXXXI            |
| MCCXXXII           |
| MCCXXXIII          |
| MCCXXXIV           |
| MCCXXXV            |
| MCCXXXVI           |
| MCCXXXVII          |
| MCCXXXVIII         |
| MCCXXXIX           |
| MCCXL              |
| MCCXLI             |
| MCCXLII            |
| MCCXLIII           |
| MCCXLIV            |
| MCCXLV             |
| MCCXLVI            |
| MCCXLVII           |
| MCCXLVIII          |
| MCCXLIX            |
| MCCL               |
| MCCLI              |
| MCCLII             |
| MCCLIII            |
| MCCLIV             |
| MCCLV              |
| MCCLVI             |
| MCCLVII            |
| MCCLVIII           |
| MCCLIX             |
| MCCLX              |
| MCCLXI             |
| MCCLXII            |
| MCCLXIII           |
| MCCLXIV            |
| MCCLXV             |
| MCCLXVI            |
| MCCLXVII           |
| MCCLXVIII          |
| MCCLXIX            |
| MCCLXX             |
| MCCLXXI            |
| MCCLXXII           |
| MCCLXXIII          |
| MCCLXXIV           |
| MCCLXXV            |
| MCCLXXVI           |
| MCCLXXVII          |
| MCCLXXVIII         |
| MCCLXXIX           |
| MCCLXXX            |
| MCCLXXXI           |
| MCCLXXXII          |
| MCCLXXXIII         |
| MCCLXXXIV          |
| MCCLXXXV           |
| MCCLXXXVI          |
| MCCLXXXVII         |
| MCCLXXXVIII        |
| MCCLXXXIX          |
| MCCXC              |
| MCCXCI             |
| MCCXCII            |
| MCCXCIII           |
| MCCXCIV            |
| MCCXCV             |
| MCCXCVI            |
| MCCXCVII           |
| MCCXCVIII          |
| MCCXCIX            |
| MCCC               |
| MCCCI              |
| MCCCII             |
| MCCCIII            |
| MCCCIV             |
| MCCCV              |
| MCCCVI             |
| MCCCVII            |
| MCCCVIII           |
| MCCCIX             |
| MCCCX              |
| MCCCXI             |
| MCCCXII            |
| MCCCXIII           |
| MCCCXIV            |
| MCCCXV             |
| MCCCXVI            |
| MCCCXVII           |
| MCCCXVIII          |
| MCCCXIX            |
| MCCCXX             |
| MCCCXXI            |
| MCCCXXII           |
| MCCCXXIII          |
| MCCCXXIV           |
| MCCCXXV            |
| MCCCXXVI           |
| MCCCXXVII          |
| MCCCXXVIII         |
| MCCCXXIX           |
| MCCCXXX            |
| MCCCXXXI           |
| MCCCXXXII          |
| MCCCXXXIII         |
| MCCCXXXIV          |
| MCCCXXXV           |
| MCCCXXXVI          |
| MCCCXXXVII         |
| MCCCXXXVIII        |
| MCCCXXXIX          |
| MCCCXL             |
| MCCCXLI            |
| MCCCXLII           |
| MCCCXLIII          |
| MCCCXLIV           |
| MCCCXLV            |
| MCCCXLVI           |
| MCCCXLVII          |
| MCCCXLVIII         |
| MCCCXLIX           |
| MCCCL              |
| MCCCLI             |
| MCCCLII            |
| MCCCLIII           |
| MCCCLIV            |
| MCCCLV             |
| MCCCLVI            |
| MCCCLVII           |
| MCCCLVIII          |
| MCCCLIX            |
| MCCCLX             |
| MCCCLXI            |
| MCCCLXII           |
| MCCCLXIII          |
| MCCCLXIV           |
| MCCCLXV            |
| MCCCLXVI           |
| MCCCLXVII          |
| MCCCLXVIII         |
| MCCCLXIX           |
| MCCCLXX            |
| MCCCLXXI           |
| MCCCLXXII          |
| MCCCLXXIII         |
| MCCCLXXIV          |
| MCCCLXXV           |
| MCCCLXXVI          |
| MCCCLXXVII         |
| MCCCLXXVIII        |
| MCCCLXXIX          |
| MCCCLXXX           |
| MCCCLXXXI          |
| MCCCLXXXII         |
| MCCCLXXXIII        |
| MCCCLXXXIV         |
| MCCCLXXXV          |
| MCCCLXXXVI         |
| MCCCLXXXVII        |
| MCCCLXXXVIII       |
| MCCCLXXXIX         |
| MCCCXC             |
| MCCCXCI            |
| MCCCXCII           |
| MCCCXCIII          |
| MCCCXCIV           |
| MCCCXCV            |
| MCCCXCVI           |
| MCCCXCVII          |
| MCCCXCVIII         |
| MCCCXCIX           |
| MCD                |
| MCDI               |
| MCDII              |
| MCDIII             |
| MCDIV              |
| MCDV               |
| MCDVI              |
| MCDVII             |
| MCDVIII            |
| MCDIX              |
| MCDX               |
| MCDXI              |
| MCDXII             |
| MCDXIII            |
| MCDXIV             |
| MCDXV              |
| MCDXVI             |
| MCDXVII            |
| MCDXVIII           |
| MCDXIX             |
| MCDXX              |
| MCDXXI             |
| MCDXXII            |
| MCDXXIII           |
| MCDXXIV            |
| MCDXXV             |
| MCDXXVI            |
| MCDXXVII           |
| MCDXXVIII          |
| MCDXXIX            |
| MCDXXX             |
| MCDXXXI            |
| MCDXXXII           |
| MCDXXXIII          |
| MCDXXXIV           |
| MCDXXXV            |
| MCDXXXVI           |
| MCDXXXVII          |
| MCDXXXVIII         |
| MCDXXXIX           |
| MCDXL              |
| MCDXLI             |
| MCDXLII            |
| MCDXLIII           |
| MCDXLIV            |
| MCDXLV             |
| MCDXLVI            |
| MCDXLVII           |
| MCDXLVIII          |
| MCDXLIX            |
| MCDL               |
| MCDLI              |
| MCDLII             |
| MCDLIII            |
| MCDLIV             |
| MCDLV              |
| MCDLVI             |
| MCDLVII            |
| MCDLVIII           |
| MCDLIX             |
| MCDLX              |
| MCDLXI             |
| MCDLXII            |
| MCDLXIII           |
| MCDLXIV            |
| MCDLXV             |
| MCDLXVI            |
| MCDLXVII           |
| MCDLXVIII          |
| MCDLXIX            |
| MCDLXX             |
| MCDLXXI            |
| MCDLXXII           |
| MCDLXXIII          |
| MCDLXXIV           |
| MCDLXXV            |
| MCDLXXVI           |
| MCDLXXVII          |
| MCDLXXVIII         |
| MCDLXXIX           |
| MCDLXXX            |
| MCDLXXXI           |
| MCDLXXXII          |
| MCDLXXXIII         |
| MCDLXXXIV          |
| MCDLXXXV           |
| MCDLXXXVI          |
| MCDLXXXVII         |
| MCDLXXXVIII        |
| MCDLXXXIX          |
| MCDXC              |
| MCDXCI             |
| MCDXCII            |
| MCDXCIII           |
| MCDXCIV            |
| MCDXCV             |
| MCDXCVI            |
| MCDXCVII           |
| MCDXCVIII          |
| MCDXCIX            |
| MD                 |
| MDI                |
| MDII               |
| MDIII              |
| MDIV               |
| MDV                |
| MDVI               |
| MDVII              |
| MDVIII             |
| MDIX               |
| MDX                |
| MDXI               |
| MDXII              |
| MDXIII             |
| MDXIV              |
| MDXV               |
| MDXVI              |
| MDXVII             |
| MDXVIII            |
| MDXIX              |
| MDXX               |
| MDXXI              |
| MDXXII             |
| MDXXIII            |
| MDXXIV             |
| MDXXV              |
| MDXXVI             |
| MDXXVII            |
| MDXXVIII           |
| MDXXIX             |
| MDXXX              |
| MDXXXI             |
| MDXXXII            |
| MDXXXIII           |
| MDXXXIV            |
| MDXXXV             |
| MDXXXVI            |
| MDXXXVII           |
| MDXXXVIII          |
| MDXXXIX            |
| MDXL               |
| MDXLI              |
| MDXLII             |
| MDXLIII            |
| MDXLIV             |
| MDXLV              |
| MDXLVI             |
| MDXLVII            |
| MDXLVIII           |
| MDXLIX             |
| MDL                |
| MDLI               |
| MDLII              |
| MDLIII             |
| MDLIV              |
| MDLV               |
| MDLVI              |
| MDLVII             |
| MDLVIII            |
| MDLIX              |
| MDLX               |
| MDLXI              |
| MDLXII             |
| MDLXIII            |
| MDLXIV             |
| MDLXV              |
| MDLXVI             |
| MDLXVII            |
| MDLXVIII           |
| MDLXIX             |
| MDLXX              |
| MDLXXI             |
| MDLXXII            |
| MDLXXIII           |
| MDLXXIV            |
| MDLXXV             |
| MDLXXVI            |
| MDLXXVII           |
| MDLXXVIII          |
| MDLXXIX            |
| MDLXXX             |
| MDLXXXI            |
| MDLXXXII           |
| MDLXXXIII          |
| MDLXXXIV           |
| MDLXXXV            |
| MDLXXXVI           |
| MDLXXXVII          |
| MDLXXXVIII         |
| MDLXXXIX           |
| MDXC               |
| MDXCI              |
| MDXCII             |
| MDXCIII            |
| MDXCIV             |
| MDXCV              |
| MDXCVI             |
| MDXCVII            |
| MDXCVIII           |
| MDXCIX             |
| MDC                |
| MDCI               |
| MDCII              |
| MDCIII             |
| MDCIV              |
| MDCV               |
| MDCVI              |
| MDCVII             |
| MDCVIII            |
| MDCIX              |
| MDCX               |
| MDCXI              |
| MDCXII             |
| MDCXIII            |
| MDCXIV             |
| MDCXV              |
| MDCXVI             |
| MDCXVII            |
| MDCXVIII           |
| MDCXIX             |
| MDCXX              |
| MDCXXI             |
| MDCXXII            |
| MDCXXIII           |
| MDCXXIV            |
| MDCXXV             |
| MDCXXVI            |
| MDCXXVII           |
| MDCXXVIII          |
| MDCXXIX            |
| MDCXXX             |
| MDCXXXI            |
| MDCXXXII           |
| MDCXXXIII          |
| MDCXXXIV           |
| MDCXXXV            |
| MDCXXXVI           |
| MDCXXXVII          |
| MDCXXXVIII         |
| MDCXXXIX           |
| MDCXL              |
| MDCXLI             |
| MDCXLII            |
| MDCXLIII           |
| MDCXLIV            |
| MDCXLV             |
| MDCXLVI            |
| MDCXLVII           |
| MDCXLVIII          |
| MDCXLIX            |
| MDCL               |
| MDCLI              |
| MDCLII             |
| MDCLIII            |
| MDCLIV             |
| MDCLV              |
| MDCLVI             |
| MDCLVII            |
| MDCLVIII           |
| MDCLIX             |
| MDCLX              |
| MDCLXI             |
| MDCLXII            |
| MDCLXIII           |
| MDCLXIV            |
| MDCLXV             |
| MDCLXVI            |
| MDCLXVII           |
| MDCLXVIII          |
| MDCLXIX            |
| MDCLXX             |
| MDCLXXI            |
| MDCLXXII           |
| MDCLXXIII          |
| MDCLXXIV           |
| MDCLXXV            |
| MDCLXXVI           |
| MDCLXXVII          |
| MDCLXXVIII         |
| MDCLXXIX           |
| MDCLXXX            |
| MDCLXXXI           |
| MDCLXXXII          |
| MDCLXXXIII         |
| MDCLXXXIV          |
| MDCLXXXV           |
| MDCLXXXVI          |
| MDCLXXXVII         |
| MDCLXXXVIII        |
| MDCLXXXIX          |
| MDCXC              |
| MDCXCI             |
| MDCXCII            |
| MDCXCIII           |
| MDCXCIV            |
| MDCXCV             |
| MDCXCVI            |
| MDCXCVII           |
| MDCXCVIII          |
| MDCXCIX            |
| MDCC               |
| MDCCI              |
| MDCCII             |
| MDCCIII            |
| MDCCIV             |
| MDCCV              |
| MDCCVI             |
| MDCCVII            |
| MDCCVIII           |
| MDCCIX             |
| MDCCX              |
| MDCCXI             |
| MDCCXII            |
| MDCCXIII           |
| MDCCXIV            |
| MDCCXV             |
| MDCCXVI            |
| MDCCXVII           |
| MDCCXVIII          |
| MDCCXIX            |
| MDCCXX             |
| MDCCXXI            |
| MDCCXXII           |
| MDCCXXIII          |
| MDCCXXIV           |
| MDCCXXV            |
| MDCCXXVI           |
| MDCCXXVII          |
| MDCCXXVIII         |
| MDCCXXIX           |
| MDCCXXX            |
| MDCCXXXI           |
| MDCCXXXII          |
| MDCCXXXIII         |
| MDCCXXXIV          |
| MDCCXXXV           |
| MDCCXXXVI          |
| MDCCXXXVII         |
| MDCCXXXVIII        |
| MDCCXXXIX          |
| MDCCXL             |
| MDCCXLI            |
| MDCCXLII           |
| MDCCXLIII          |
| MDCCXLIV           |
| MDCCXLV            |
| MDCCXLVI           |
| MDCCXLVII          |
| MDCCXLVIII         |
| MDCCXLIX           |
| MDCCL              |
| MDCCLI             |
| MDCCLII            |
| MDCCLIII           |
| MDCCLIV            |
| MDCCLV             |
| MDCCLVI            |
| MDCCLVII           |
| MDCCLVIII          |
| MDCCLIX            |
| MDCCLX             |
| MDCCLXI            |
| MDCCLXII           |
| MDCCLXIII          |
| MDCCLXIV           |
| MDCCLXV            |
| MDCCLXVI           |
| MDCCLXVII          |
| MDCCLXVIII         |
| MDCCLXIX           |
| MDCCLXX            |
| MDCCLXXI           |
| MDCCLXXII          |
| MDCCLXXIII         |
| MDCCLXXIV          |
| MDCCLXXV           |
| MDCCLXXVI          |
| MDCCLXXVII         |
| MDCCLXXVIII        |
| MDCCLXXIX          |
| MDCCLXXX           |
| MDCCLXXXI          |
| MDCCLXXXII         |
| MDCCLXXXIII        |
| MDCCLXXXIV         |
| MDCCLXXXV          |
| MDCCLXXXVI         |
| MDCCLXXXVII        |
| MDCCLXXXVIII       |
| MDCCLXXXIX         |
| MDCCXC             |
| MDCCXCI            |
| MDCCXCII           |
| MDCCXCIII          |
| MDCCXCIV           |
| MDCCXCV            |
| MDCCXCVI           |
| MDCCXCVII          |
| MDCCXCVIII         |
| MDCCXCIX           |
| MDCCC              |
| MDCCCI             |
| MDCCCII            |
| MDCCCIII           |
| MDCCCIV            |
| MDCCCV             |
| MDCCCVI            |
| MDCCCVII           |
| MDCCCVIII          |
| MDCCCIX            |
| MDCCCX             |
| MDCCCXI            |
| MDCCCXII           |
| MDCCCXIII          |
| MDCCCXIV           |
| MDCCCXV            |
| MDCCCXVI           |
| MDCCCXVII          |
| MDCCCXVIII         |
| MDCCCXIX           |
| MDCCCXX            |
| MDCCCXXI           |
| MDCCCXXII          |
| MDCCCXXIII         |
| MDCCCXXIV          |
| MDCCCXXV           |
| MDCCCXXVI          |
| MDCCCXXVII         |
| MDCCCXXVIII        |
| MDCCCXXIX          |
| MDCCCXXX           |
| MDCCCXXXI          |
| MDCCCXXXII         |
| MDCCCXXXIII        |
| MDCCCXXXIV         |
| MDCCCXXXV          |
| MDCCCXXXVI         |
| MDCCCXXXVII        |
| MDCCCXXXVIII       |
| MDCCCXXXIX         |
| MDCCCXL            |
| MDCCCXLI           |
| MDCCCXLII          |
| MDCCCXLIII         |
| MDCCCXLIV          |
| MDCCCXLV           |
| MDCCCXLVI          |
| MDCCCXLVII         |
| MDCCCXLVIII        |
| MDCCCXLIX          |
| MDCCCL             |
| MDCCCLI            |
| MDCCCLII           |
| MDCCCLIII          |
| MDCCCLIV           |
| MDCCCLV            |
| MDCCCLVI           |
| MDCCCLVII          |
| MDCCCLVIII         |
| MDCCCLIX           |
| MDCCCLX            |
| MDCCCLXI           |
| MDCCCLXII          |
| MDCCCLXIII         |
| MDCCCLXIV          |
| MDCCCLXV           |
| MDCCCLXVI          |
| MDCCCLXVII         |
| MDCCCLXVIII        |
| MDCCCLXIX          |
| MDCCCLXX           |
| MDCCCLXXI          |
| MDCCCLXXII         |
| MDCCCLXXIII        |
| MDCCCLXXIV         |
| MDCCCLXXV          |
| MDCCCLXXVI         |
| MDCCCLXXVII        |
| MDCCCLXXVIII       |
| MDCCCLXXIX         |
| MDCCCLXXX          |
| MDCCCLXXXI         |
| MDCCCLXXXII        |
| MDCCCLXXXIII       |
| MDCCCLXXXIV        |
| MDCCCLXXXV         |
| MDCCCLXXXVI        |
| MDCCCLXXXVII       |
| MDCCCLXXXVIII      |
| MDCCCLXXXIX        |
| MDCCCXC            |
| MDCCCXCI           |
| MDCCCXCII          |
| MDCCCXCIII         |
| MDCCCXCIV          |
| MDCCCXCV           |
| MDCCCXCVI          |
| MDCCCXCVII         |
| MDCCCXCVIII        |
| MDCCCXCIX          |
| MCM                |
| MCMI               |
| MCMII              |
| MCMIII             |
| MCMIV              |
| MCMV               |
| MCMVI              |
| MCMVII             |
| MCMVIII            |
| MCMIX              |
| MCMX               |
| MCMXI              |
| MCMXII             |
| MCMXIII            |
| MCMXIV             |
| MCMXV              |
| MCMXVI             |
| MCMXVII            |
| MCMXVIII           |
| MCMXIX             |
| MCMXX              |
| MCMXXI             |
| MCMXXII            |
| MCMXXIII           |
| MCMXXIV            |
| MCMXXV             |
| MCMXXVI            |
| MCMXXVII           |
| MCMXXVIII          |
| MCMXXIX            |
| MCMXXX             |
| MCMXXXI            |
| MCMXXXII           |
| MCMXXXIII          |
| MCMXXXIV           |
| MCMXXXV            |
| MCMXXXVI           |
| MCMXXXVII          |
| MCMXXXVIII         |
| MCMXXXIX           |
| MCMXL              |
| MCMXLI             |
| MCMXLII            |
| MCMXLIII           |
| MCMXLIV            |
| MCMXLV             |
| MCMXLVI            |
| MCMXLVII           |
| MCMXLVIII          |
| MCMXLIX            |
| MCML               |
| MCMLI              |
| MCMLII             |
| MCMLIII            |
| MCMLIV             |
| MCMLV              |
| MCMLVI             |
| MCMLVII            |
| MCMLVIII           |
| MCMLIX             |
| MCMLX              |
| MCMLXI             |
| MCMLXII            |
| MCMLXIII           |
| MCMLXIV            |
| MCMLXV             |
| MCMLXVI            |
| MCMLXVII           |
| MCMLXVIII          |
| MCMLXIX            |
| MCMLXX             |
| MCMLXXI            |
| MCMLXXII           |
| MCMLXXIII          |
| MCMLXXIV           |
| MCMLXXV            |
| MCMLXXVI           |
| MCMLXXVII          |
| MCMLXXVIII         |
| MCMLXXIX           |
| MCMLXXX            |
| MCMLXXXI           |
| MCMLXXXII          |
| MCMLXXXIII         |
| MCMLXXXIV          |
| MCMLXXXV           |
| MCMLXXXVI          |
| MCMLXXXVII         |
| MCMLXXXVIII        |
| MCMLXXXIX          |
| MCMXC              |
| MCMXCI             |
| MCMXCII            |
| MCMXCIII           |
| MCMXCIV            |
| MCMXCV             |
| MCMXCVI            |
| MCMXCVII           |
| MCMXCVIII          |
| MCMXCIX            |
| MM                 |
| MMI                |
| MMII               |
| MMIII              |
| MMIV               |
| MMV                |
| MMVI               |
| MMVII              |
| MMVIII             |
| MMIX               |
| MMX                |
| MMXI               |
| MMXII              |
| MMXIII             |
| MMXIV              |
| MMXV               |
| MMXVI              |
| MMXVII             |
| MMXVIII            |
| MMXIX              |
| MMXX               |
| MMXXI              |
| MMXXII             |
| MMXXIII            |
| MMXXIV             |
| MMXXV              |
| MMXXVI             |
| MMXXVII            |
| MMXXVIII           |
| MMXXIX             |
| MMXXX              |
| MMXXXI             |
| MMXXXII            |
| MMXXXIII           |
| MMXXXIV            |
| MMXXXV             |
| MMXXXVI            |
| MMXXXVII           |
| MMXXXVIII          |
| MMXXXIX            |
| MMXL               |
| MMXLI              |
| MMXLII             |
| MMXLIII            |
| MMXLIV             |
| MMXLV              |
| MMXLVI             |
| MMXLVII            |
| MMXLVIII           |
| MMXLIX             |
| MML                |
| MMLI               |
| MMLII              |
| MMLIII             |
| MMLIV              |
| MMLV               |
| MMLVI              |
| MMLVII             |
| MMLVIII            |
| MMLIX              |
| MMLX               |
| MMLXI              |
| MMLXII             |
| MMLXIII            |
| MMLXIV             |
| MMLXV              |
| MMLXVI             |
| MMLXVII            |
| MMLXVIII           |
| MMLXIX             |
| MMLXX              |
| MMLXXI             |
| MMLXXII            |
| MMLXXIII           |
| MMLXXIV            |
| MMLXXV             |
| MMLXXVI            |
| MMLXXVII           |
| MMLXXVIII          |
| MMLXXIX            |
| MMLXXX             |
| MMLXXXI            |
| MMLXXXII           |
| MMLXXXIII          |
| MMLXXXIV           |
| MMLXXXV            |
| MMLXXXVI           |
| MMLXXXVII          |
| MMLXXXVIII         |
| MMLXXXIX           |
| MMXC               |
| MMXCI              |
| MMXCII             |
| MMXCIII            |
| MMXCIV             |
| MMXCV              |
| MMXCVI             |
| MMXCVII            |
| MMXCVIII           |
| MMXCIX             |
| MMC                |
| MMCI               |
| MMCII              |
| MMCIII             |
| MMCIV              |
| MMCV               |
| MMCVI              |
| MMCVII             |
| MMCVIII            |
| MMCIX              |
| MMCX               |
| MMCXI              |
| MMCXII             |
| MMCXIII            |
| MMCXIV             |
| MMCXV              |
| MMCXVI             |
| MMCXVII            |
| MMCXVIII           |
| MMCXIX             |
| MMCXX              |
| MMCXXI             |
| MMCXXII            |
| MMCXXIII           |
| MMCXXIV            |
| MMCXXV             |
| MMCXXVI            |
| MMCXXVII           |
| MMCXXVIII          |
| MMCXXIX            |
| MMCXXX             |
| MMCXXXI            |
| MMCXXXII           |
| MMCXXXIII          |
| MMCXXXIV           |
| MMCXXXV            |
| MMCXXXVI           |
| MMCXXXVII          |
| MMCXXXVIII         |
| MMCXXXIX           |
| MMCXL              |
| MMCXLI             |
| MMCXLII            |
| MMCXLIII           |
| MMCXLIV            |
| MMCXLV             |
| MMCXLVI            |
| MMCXLVII           |
| MMCXLVIII          |
| MMCXLIX            |
| MMCL               |
| MMCLI              |
| MMCLII             |
| MMCLIII            |
| MMCLIV             |
| MMCLV              |
| MMCLVI             |
| MMCLVII            |
| MMCLVIII           |
| MMCLIX             |
| MMCLX              |
| MMCLXI             |
| MMCLXII            |
| MMCLXIII           |
| MMCLXIV            |
| MMCLXV             |
| MMCLXVI            |
| MMCLXVII           |
| MMCLXVIII          |
| MMCLXIX            |
| MMCLXX             |
| MMCLXXI            |
| MMCLXXII           |
| MMCLXXIII          |
| MMCLXXIV           |
| MMCLXXV            |
| MMCLXXVI           |
| MMCLXXVII          |
| MMCLXXVIII         |
| MMCLXXIX           |
| MMCLXXX            |
| MMCLXXXI           |
| MMCLXXXII          |
| MMCLXXXIII         |
| MMCLXXXIV          |
| MMCLXXXV           |
| MMCLXXXVI          |
| MMCLXXXVII         |
| MMCLXXXVIII        |
| MMCLXXXIX          |
| MMCXC              |
| MMCXCI             |
| MMCXCII            |
| MMCXCIII           |
| MMCXCIV            |
| MMCXCV             |
| MMCXCVI            |
| MMCXCVII           |
| MMCXCVIII          |
| MMCXCIX            |
| MMCC               |
| MMCCI              |
| MMCCII             |
| MMCCIII            |
| MMCCIV             |
| MMCCV              |
| MMCCVI             |
| MMCCVII            |
| MMCCVIII           |
| MMCCIX             |
| MMCCX              |
| MMCCXI             |
| MMCCXII            |
| MMCCXIII           |
| MMCCXIV            |
| MMCCXV             |
| MMCCXVI            |
| MMCCXVII           |
| MMCCXVIII          |
| MMCCXIX            |
| MMCCXX             |
| MMCCXXI            |
| MMCCXXII           |
| MMCCXXIII          |
| MMCCXXIV           |
| MMCCXXV            |
| MMCCXXVI           |
| MMCCXXVII          |
| MMCCXXVIII         |
| MMCCXXIX           |
| MMCCXXX            |
| MMCCXXXI           |
| MMCCXXXII          |
| MMCCXXXIII         |
| MMCCXXXIV          |
| MMCCXXXV           |
| MMCCXXXVI          |
| MMCCXXXVII         |
| MMCCXXXVIII        |
| MMCCXXXIX          |
| MMCCXL             |
| MMCCXLI            |
| MMCCXLII           |
| MMCCXLIII          |
| MMCCXLIV           |
| MMCCXLV            |
| MMCCXLVI           |
| MMCCXLVII          |
| MMCCXLVIII         |
| MMCCXLIX           |
| MMCCL              |
| MMCCLI             |
| MMCCLII            |
| MMCCLIII           |
| MMCCLIV            |
| MMCCLV             |
| MMCCLVI            |
| MMCCLVII           |
| MMCCLVIII          |
| MMCCLIX            |
| MMCCLX             |
| MMCCLXI            |
| MMCCLXII           |
| MMCCLXIII          |
| MMCCLXIV           |
| MMCCLXV            |
| MMCCLXVI           |
| MMCCLXVII          |
| MMCCLXVIII         |
| MMCCLXIX           |
| MMCCLXX            |
| MMCCLXXI           |
| MMCCLXXII          |
| MMCCLXXIII         |
| MMCCLXXIV          |
| MMCCLXXV           |
| MMCCLXXVI          |
| MMCCLXXVII         |
| MMCCLXXVIII        |
| MMCCLXXIX          |
| MMCCLXXX           |
| MMCCLXXXI          |
| MMCCLXXXII         |
| MMCCLXXXIII        |
| MMCCLXXXIV         |
| MMCCLXXXV          |
| MMCCLXXXVI         |
| MMCCLXXXVII        |
| MMCCLXXXVIII       |
| MMCCLXXXIX         |
| MMCCXC             |
| MMCCXCI            |
| MMCCXCII           |
| MMCCXCIII          |
| MMCCXCIV           |
| MMCCXCV            |
| MMCCXCVI           |
| MMCCXCVII          |
| MMCCXCVIII         |
| MMCCXCIX           |
| MMCCC              |
| MMCCCI             |
| MMCCCII            |
| MMCCCIII           |
| MMCCCIV            |
| MMCCCV             |
| MMCCCVI            |
| MMCCCVII           |
| MMCCCVIII          |
| MMCCCIX            |
| MMCCCX             |
| MMCCCXI            |
| MMCCCXII           |
| MMCCCXIII          |
| MMCCCXIV           |
| MMCCCXV            |
| MMCCCXVI           |
| MMCCCXVII          |
| MMCCCXVIII         |
| MMCCCXIX           |
| MMCCCXX            |
| MMCCCXXI           |
| MMCCCXXII          |
| MMCCCXXIII         |
| MMCCCXXIV          |
| MMCCCXXV           |
| MMCCCXXVI          |
| MMCCCXXVII         |
| MMCCCXXVIII        |
| MMCCCXXIX          |
| MMCCCXXX           |
| MMCCCXXXI          |
| MMCCCXXXII         |
| MMCCCXXXIII        |
| MMCCCXXXIV         |
| MMCCCXXXV          |
| MMCCCXXXVI         |
| MMCCCXXXVII        |
| MMCCCXXXVIII       |
| MMCCCXXXIX         |
| MMCCCXL            |
| MMCCCXLI           |
| MMCCCXLII          |
| MMCCCXLIII         |
| MMCCCXLIV          |
| MMCCCXLV           |
| MMCCCXLVI          |
| MMCCCXLVII         |
| MMCCCXLVIII        |
| MMCCCXLIX          |
| MMCCCL             |
| MMCCCLI            |
| MMCCCLII           |
| MMCCCLIII          |
| MMCCCLIV           |
| MMCCCLV            |
| MMCCCLVI           |
| MMCCCLVII          |
| MMCCCLVIII         |
| MMCCCLIX           |
| MMCCCLX            |
| MMCCCLXI           |
| MMCCCLXII          |
| MMCCCLXIII         |
| MMCCCLXIV          |
| MMCCCLXV           |
| MMCCCLXVI          |
| MMCCCLXVII         |
| MMCCCLXVIII        |
| MMCCCLXIX          |
| MMCCCLXX           |
| MMCCCLXXI          |
| MMCCCLXXII         |
| MMCCCLXXIII        |
| MMCCCLXXIV         |
| MMCCCLXXV          |
| MMCCCLXXVI         |
| MMCCCLXXVII        |
| MMCCCLXXVIII       |
| MMCCCLXXIX         |
| MMCCCLXXX          |
| MMCCCLXXXI         |
| MMCCCLXXXII        |
| MMCCCLXXXIII       |
| MMCCCLXXXIV        |
| MMCCCLXXXV         |
| MMCCCLXXXVI        |
| MMCCCLXXXVII       |
| MMCCCLXXXVIII      |
| MMCCCLXXXIX        |
| MMCCCXC            |
| MMCCCXCI           |
| MMCCCXCII          |
| MMCCCXCIII         |
| MMCCCXCIV          |
| MMCCCXCV           |
| MMCCCXCVI          |
| MMCCCXCVII         |
| MMCCCXCVIII        |
| MMCCCXCIX          |
| MMCD               |
| MMCDI              |
| MMCDII             |
| MMCDIII            |
| MMCDIV             |
| MMCDV              |
| MMCDVI             |
| MMCDVII            |
| MMCDVIII           |
| MMCDIX             |
| MMCDX              |
| MMCDXI             |
| MMCDXII            |
| MMCDXIII           |
| MMCDXIV            |
| MMCDXV             |
| MMCDXVI            |
| MMCDXVII           |
| MMCDXVIII          |
| MMCDXIX            |
| MMCDXX             |
| MMCDXXI            |
| MMCDXXII           |
| MMCDXXIII          |
| MMCDXXIV           |
| MMCDXXV            |
| MMCDXXVI           |
| MMCDXXVII          |
| MMCDXXVIII         |
| MMCDXXIX           |
| MMCDXXX            |
| MMCDXXXI           |
| MMCDXXXII          |
| MMCDXXXIII         |
| MMCDXXXIV          |
| MMCDXXXV           |
| MMCDXXXVI          |
| MMCDXXXVII         |
| MMCDXXXVIII        |
| MMCDXXXIX          |
| MMCDXL             |
| MMCDXLI            |
| MMCDXLII           |
| MMCDXLIII          |
| MMCDXLIV           |
| MMCDXLV            |
| MMCDXLVI           |
| MMCDXLVII          |
| MMCDXLVIII         |
| MMCDXLIX           |
| MMCDL              |
| MMCDLI             |
| MMCDLII            |
| MMCDLIII           |
| MMCDLIV            |
| MMCDLV             |
| MMCDLVI            |
| MMCDLVII           |
| MMCDLVIII          |
| MMCDLIX            |
| MMCDLX             |
| MMCDLXI            |
| MMCDLXII           |
| MMCDLXIII          |
| MMCDLXIV           |
| MMCDLXV            |
| MMCDLXVI           |
| MMCDLXVII          |
| MMCDLXVIII         |
| MMCDLXIX           |
| MMCDLXX            |
| MMCDLXXI           |
| MMCDLXXII          |
| MMCDLXXIII         |
| MMCDLXXIV          |
| MMCDLXXV           |
| MMCDLXXVI          |
| MMCDLXXVII         |
| MMCDLXXVIII        |
| MMCDLXXIX          |
| MMCDLXXX           |
| MMCDLXXXI          |
| MMCDLXXXII         |
| MMCDLXXXIII        |
| MMCDLXXXIV         |
| MMCDLXXXV          |
| MMCDLXXXVI         |
| MMCDLXXXVII        |
| MMCDLXXXVIII       |
| MMCDLXXXIX         |
| MMCDXC             |
| MMCDXCI            |
| MMCDXCII           |
| MMCDXCIII          |
| MMCDXCIV           |
| MMCDXCV            |
| MMCDXCVI           |
| MMCDXCVII          |
| MMCDXCVIII         |
| MMCDXCIX           |
| MMD                |
| MMDI               |
| MMDII              |
| MMDIII             |
| MMDIV              |
| MMDV               |
| MMDVI              |
| MMDVII             |
| MMDVIII            |
| MMDIX              |
| MMDX               |
| MMDXI              |
| MMDXII             |
| MMDXIII            |
| MMDXIV             |
| MMDXV              |
| MMDXVI             |
| MMDXVII            |
| MMDXVIII           |
| MMDXIX             |
| MMDXX              |
| MMDXXI             |
| MMDXXII            |
| MMDXXIII           |
| MMDXXIV            |
| MMDXXV             |
| MMDXXVI            |
| MMDXXVII           |
| MMDXXVIII          |
| MMDXXIX            |
| MMDXXX             |
| MMDXXXI            |
| MMDXXXII           |
| MMDXXXIII          |
| MMDXXXIV           |
| MMDXXXV            |
| MMDXXXVI           |
| MMDXXXVII          |
| MMDXXXVIII         |
| MMDXXXIX           |
| MMDXL              |
| MMDXLI             |
| MMDXLII            |
| MMDXLIII           |
| MMDXLIV            |
| MMDXLV             |
| MMDXLVI            |
| MMDXLVII           |
| MMDXLVIII          |
| MMDXLIX            |
| MMDL               |
| MMDLI              |
| MMDLII             |
| MMDLIII            |
| MMDLIV             |
| MMDLV              |
| MMDLVI             |
| MMDLVII            |
| MMDLVIII           |
| MMDLIX             |
| MMDLX              |
| MMDLXI             |
| MMDLXII            |
| MMDLXIII           |
| MMDLXIV            |
| MMDLXV             |
| MMDLXVI            |
| MMDLXVII           |
| MMDLXVIII          |
| MMDLXIX            |
| MMDLXX             |
| MMDLXXI            |
| MMDLXXII           |
| MMDLXXIII          |
| MMDLXXIV           |
| MMDLXXV            |
| MMDLXXVI           |
| MMDLXXVII          |
| MMDLXXVIII         |
| MMDLXXIX           |
| MMDLXXX            |
| MMDLXXXI           |
| MMDLXXXII          |
| MMDLXXXIII         |
| MMDLXXXIV          |
| MMDLXXXV           |
| MMDLXXXVI          |
| MMDLXXXVII         |
| MMDLXXXVIII        |
| MMDLXXXIX          |
| MMDXC              |
| MMDXCI             |
| MMDXCII            |
| MMDXCIII           |
| MMDXCIV            |
| MMDXCV             |
| MMDXCVI            |
| MMDXCVII           |
| MMDXCVIII          |
| MMDXCIX            |
| MMDC               |
| MMDCI              |
| MMDCII             |
| MMDCIII            |
| MMDCIV             |
| MMDCV              |
| MMDCVI             |
| MMDCVII            |
| MMDCVIII           |
| MMDCIX             |
| MMDCX              |
| MMDCXI             |
| MMDCXII            |
| MMDCXIII           |
| MMDCXIV            |
| MMDCXV             |
| MMDCXVI            |
| MMDCXVII           |
| MMDCXVIII          |
| MMDCXIX            |
| MMDCXX             |
| MMDCXXI            |
| MMDCXXII           |
| MMDCXXIII          |
| MMDCXXIV           |
| MMDCXXV            |
| MMDCXXVI           |
| MMDCXXVII          |
| MMDCXXVIII         |
| MMDCXXIX           |
| MMDCXXX            |
| MMDCXXXI           |
| MMDCXXXII          |
| MMDCXXXIII         |
| MMDCXXXIV          |
| MMDCXXXV           |
| MMDCXXXVI          |
| MMDCXXXVII         |
| MMDCXXXVIII        |
| MMDCXXXIX          |
| MMDCXL             |
| MMDCXLI            |
| MMDCXLII           |
| MMDCXLIII          |
| MMDCXLIV           |
| MMDCXLV            |
| MMDCXLVI           |
| MMDCXLVII          |
| MMDCXLVIII         |
| MMDCXLIX           |
| MMDCL              |
| MMDCLI             |
| MMDCLII            |
| MMDCLIII           |
| MMDCLIV            |
| MMDCLV             |
| MMDCLVI            |
| MMDCLVII           |
| MMDCLVIII          |
| MMDCLIX            |
| MMDCLX             |
| MMDCLXI            |
| MMDCLXII           |
| MMDCLXIII          |
| MMDCLXIV           |
| MMDCLXV            |
| MMDCLXVI           |
| MMDCLXVII          |
| MMDCLXVIII         |
| MMDCLXIX           |
| MMDCLXX            |
| MMDCLXXI           |
| MMDCLXXII          |
| MMDCLXXIII         |
| MMDCLXXIV          |
| MMDCLXXV           |
| MMDCLXXVI          |
| MMDCLXXVII         |
| MMDCLXXVIII        |
| MMDCLXXIX          |
| MMDCLXXX           |
| MMDCLXXXI          |
| MMDCLXXXII         |
| MMDCLXXXIII        |
| MMDCLXXXIV         |
| MMDCLXXXV          |
| MMDCLXXXVI         |
| MMDCLXXXVII        |
| MMDCLXXXVIII       |
| MMDCLXXXIX         |
| MMDCXC             |
| MMDCXCI            |
| MMDCXCII           |
| MMDCXCIII          |
| MMDCXCIV           |
| MMDCXCV            |
| MMDCXCVI           |
| MMDCXCVII          |
| MMDCXCVIII         |
| MMDCXCIX           |
| MMDCC              |
| MMDCCI             |
| MMDCCII            |
| MMDCCIII           |
| MMDCCIV            |
| MMDCCV             |
| MMDCCVI            |
| MMDCCVII           |
| MMDCCVIII          |
| MMDCCIX            |
| MMDCCX             |
| MMDCCXI            |
| MMDCCXII           |
| MMDCCXIII          |
| MMDCCXIV           |
| MMDCCXV            |
| MMDCCXVI           |
| MMDCCXVII          |
| MMDCCXVIII         |
| MMDCCXIX           |
| MMDCCXX            |
| MMDCCXXI           |
| MMDCCXXII          |
| MMDCCXXIII         |
| MMDCCXXIV          |
| MMDCCXXV           |
| MMDCCXXVI          |
| MMDCCXXVII         |
| MMDCCXXVIII        |
| MMDCCXXIX          |
| MMDCCXXX           |
| MMDCCXXXI          |
| MMDCCXXXII         |
| MMDCCXXXIII        |
| MMDCCXXXIV         |
| MMDCCXXXV          |
| MMDCCXXXVI         |
| MMDCCXXXVII        |
| MMDCCXXXVIII       |
| MMDCCXXXIX         |
| MMDCCXL            |
| MMDCCXLI           |
| MMDCCXLII          |
| MMDCCXLIII         |
| MMDCCXLIV          |
| MMDCCXLV           |
| MMDCCXLVI          |
| MMDCCXLVII         |
| MMDCCXLVIII        |
| MMDCCXLIX          |
| MMDCCL             |
| MMDCCLI            |
| MMDCCLII           |
| MMDCCLIII          |
| MMDCCLIV           |
| MMDCCLV            |
| MMDCCLVI           |
| MMDCCLVII          |
| MMDCCLVIII         |
| MMDCCLIX           |
| MMDCCLX            |
| MMDCCLXI           |
| MMDCCLXII          |
| MMDCCLXIII         |
| MMDCCLXIV          |
| MMDCCLXV           |
| MMDCCLXVI          |
| MMDCCLXVII         |
| MMDCCLXVIII        |
| MMDCCLXIX          |
| MMDCCLXX           |
| MMDCCLXXI          |
| MMDCCLXXII         |
| MMDCCLXXIII        |
| MMDCCLXXIV         |
| MMDCCLXXV          |
| MMDCCLXXVI         |
| MMDCCLXXVII        |
| MMDCCLXXVIII       |
| MMDCCLXXIX         |
| MMDCCLXXX          |
| MMDCCLXXXI         |
| MMDCCLXXXII        |
| MMDCCLXXXIII       |
| MMDCCLXXXIV        |
| MMDCCLXXXV         |
| MMDCCLXXXVI        |
| MMDCCLXXXVII       |
| MMDCCLXXXVIII      |
| MMDCCLXXXIX        |
| MMDCCXC            |
| MMDCCXCI           |
| MMDCCXCII          |
| MMDCCXCIII         |
| MMDCCXCIV          |
| MMDCCXCV           |
| MMDCCXCVI          |
| MMDCCXCVII         |
| MMDCCXCVIII        |
| MMDCCXCIX          |
| MMDCCC             |
| MMDCCCI            |
| MMDCCCII           |
| MMDCCCIII          |
| MMDCCCIV           |
| MMDCCCV            |
| MMDCCCVI           |
| MMDCCCVII          |
| MMDCCCVIII         |
| MMDCCCIX           |
| MMDCCCX            |
| MMDCCCXI           |
| MMDCCCXII          |
| MMDCCCXIII         |
| MMDCCCXIV          |
| MMDCCCXV           |
| MMDCCCXVI          |
| MMDCCCXVII         |
| MMDCCCXVIII        |
| MMDCCCXIX          |
| MMDCCCXX           |
| MMDCCCXXI          |
| MMDCCCXXII         |
| MMDCCCXXIII        |
| MMDCCCXXIV         |
| MMDCCCXXV          |
| MMDCCCXXVI         |
| MMDCCCXXVII        |
| MMDCCCXXVIII       |
| MMDCCCXXIX         |
| MMDCCCXXX          |
| MMDCCCXXXI         |
| MMDCCCXXXII        |
| MMDCCCXXXIII       |
| MMDCCCXXXIV        |
| MMDCCCXXXV         |
| MMDCCCXXXVI        |
| MMDCCCXXXVII       |
| MMDCCCXXXVIII      |
| MMDCCCXXXIX        |
| MMDCCCXL           |
| MMDCCCXLI          |
| MMDCCCXLII         |
| MMDCCCXLIII        |
| MMDCCCXLIV         |
| MMDCCCXLV          |
| MMDCCCXLVI         |
| MMDCCCXLVII        |
| MMDCCCXLVIII       |
| MMDCCCXLIX         |
| MMDCCCL            |
| MMDCCCLI           |
| MMDCCCLII          |
| MMDCCCLIII         |
| MMDCCCLIV          |
| MMDCCCLV           |
| MMDCCCLVI          |
| MMDCCCLVII         |
| MMDCCCLVIII        |
| MMDCCCLIX          |
| MMDCCCLX           |
| MMDCCCLXI          |
| MMDCCCLXII         |
| MMDCCCLXIII        |
| MMDCCCLXIV         |
| MMDCCCLXV          |
| MMDCCCLXVI         |
| MMDCCCLXVII        |
| MMDCCCLXVIII       |
| MMDCCCLXIX         |
| MMDCCCLXX          |
| MMDCCCLXXI         |
| MMDCCCLXXII        |
| MMDCCCLXXIII       |
| MMDCCCLXXIV        |
| MMDCCCLXXV         |
| MMDCCCLXXVI        |
| MMDCCCLXXVII       |
| MMDCCCLXXVIII      |
| MMDCCCLXXIX        |
| MMDCCCLXXX         |
| MMDCCCLXXXI        |
| MMDCCCLXXXII       |
| MMDCCCLXXXIII      |
| MMDCCCLXXXIV       |
| MMDCCCLXXXV        |
| MMDCCCLXXXVI       |
| MMDCCCLXXXVII      |
| MMDCCCLXXXVIII     |
| MMDCCCLXXXIX       |
| MMDCCCXC           |
| MMDCCCXCI          |
| MMDCCCXCII         |
| MMDCCCXCIII        |
| MMDCCCXCIV         |
| MMDCCCXCV          |
| MMDCCCXCVI         |
| MMDCCCXCVII        |
| MMDCCCXCVIII       |
| MMDCCCXCIX         |
| MMCM               |
| MMCMI              |
| MMCMII             |
| MMCMIII            |
| MMCMIV             |
| MMCMV              |
| MMCMVI             |
| MMCMVII            |
| MMCMVIII           |
| MMCMIX             |
| MMCMX              |
| MMCMXI             |
| MMCMXII            |
| MMCMXIII           |
| MMCMXIV            |
| MMCMXV             |
| MMCMXVI            |
| MMCMXVII           |
| MMCMXVIII          |
| MMCMXIX            |
| MMCMXX             |
| MMCMXXI            |
| MMCMXXII           |
| MMCMXXIII          |
| MMCMXXIV           |
| MMCMXXV            |
| MMCMXXVI           |
| MMCMXXVII          |
| MMCMXXVIII         |
| MMCMXXIX           |
| MMCMXXX            |
| MMCMXXXI           |
| MMCMXXXII          |
| MMCMXXXIII         |
| MMCMXXXIV          |
| MMCMXXXV           |
| MMCMXXXVI          |
| MMCMXXXVII         |
| MMCMXXXVIII        |
| MMCMXXXIX          |
| MMCMXL             |
| MMCMXLI            |
| MMCMXLII           |
| MMCMXLIII          |
| MMCMXLIV           |
| MMCMXLV            |
| MMCMXLVI           |
| MMCMXLVII          |
| MMCMXLVIII         |
| MMCMXLIX           |
| MMCML              |
| MMCMLI             |
| MMCMLII            |
| MMCMLIII           |
| MMCMLIV            |
| MMCMLV             |
| MMCMLVI            |
| MMCMLVII           |
| MMCMLVIII          |
| MMCMLIX            |
| MMCMLX             |
| MMCMLXI            |
| MMCMLXII           |
| MMCMLXIII          |
| MMCMLXIV           |
| MMCMLXV            |
| MMCMLXVI           |
| MMCMLXVII          |
| MMCMLXVIII         |
| MMCMLXIX           |
| MMCMLXX            |
| MMCMLXXI           |
| MMCMLXXII          |
| MMCMLXXIII         |
| MMCMLXXIV          |
| MMCMLXXV           |
| MMCMLXXVI          |
| MMCMLXXVII         |
| MMCMLXXVIII        |
| MMCMLXXIX          |
| MMCMLXXX           |
| MMCMLXXXI          |
| MMCMLXXXII         |
| MMCMLXXXIII        |
| MMCMLXXXIV         |
| MMCMLXXXV          |
| MMCMLXXXVI         |
| MMCMLXXXVII        |
| MMCMLXXXVIII       |
| MMCMLXXXIX         |
| MMCMXC             |
| MMCMXCI            |
| MMCMXCII           |
| MMCMXCIII          |
| MMCMXCIV           |
| MMCMXCV            |
| MMCMXCVI           |
| MMCMXCVII          |
| MMCMXCVIII         |
| MMCMXCIX           |
| MMM                |
| MMMI               |
| MMMII              |
| MMMIII             |
| MMMIV              |
| MMMV               |
| MMMVI              |
| MMMVII             |
| MMMVIII            |
| MMMIX              |
| MMMX               |
| MMMXI              |
| MMMXII             |
| MMMXIII            |
| MMMXIV             |
| MMMXV              |
| MMMXVI             |
| MMMXVII            |
| MMMXVIII           |
| MMMXIX             |
| MMMXX              |
| MMMXXI             |
| MMMXXII            |
| MMMXXIII           |
| MMMXXIV            |
| MMMXXV             |
| MMMXXVI            |
| MMMXXVII           |
| MMMXXVIII          |
| MMMXXIX            |
| MMMXXX             |
| MMMXXXI            |
| MMMXXXII           |
| MMMXXXIII          |
| MMMXXXIV           |
| MMMXXXV            |
| MMMXXXVI           |
| MMMXXXVII          |
| MMMXXXVIII         |
| MMMXXXIX           |
| MMMXL              |
| MMMXLI             |
| MMMXLII            |
| MMMXLIII           |
| MMMXLIV            |
| MMMXLV             |
| MMMXLVI            |
| MMMXLVII           |
| MMMXLVIII          |
| MMMXLIX            |
| MMML               |
| MMMLI              |
| MMMLII             |
| MMMLIII            |
| MMMLIV             |
| MMMLV              |
| MMMLVI             |
| MMMLVII            |
| MMMLVIII           |
| MMMLIX             |
| MMMLX              |
| MMMLXI             |
| MMMLXII            |
| MMMLXIII           |
| MMMLXIV            |
| MMMLXV             |
| MMMLXVI            |
| MMMLXVII           |
| MMMLXVIII          |
| MMMLXIX            |
| MMMLXX             |
| MMMLXXI            |
| MMMLXXII           |
| MMMLXXIII          |
| MMMLXXIV           |
| MMMLXXV            |
| MMMLXXVI           |
| MMMLXXVII          |
| MMMLXXVIII         |
| MMMLXXIX           |
| MMMLXXX            |
| MMMLXXXI           |
| MMMLXXXII          |
| MMMLXXXIII         |
| MMMLXXXIV          |
| MMMLXXXV           |
| MMMLXXXVI          |
| MMMLXXXVII         |
| MMMLXXXVIII        |
| MMMLXXXIX          |
| MMMXC              |
| MMMXCI             |
| MMMXCII            |
| MMMXCIII           |
| MMMXCIV            |
| MMMXCV             |
| MMMXCVI            |
| MMMXCVII           |
| MMMXCVIII          |
| MMMXCIX            |
| MMMC               |
| MMMCI              |
| MMMCII             |
| MMMCIII            |
| MMMCIV             |
| MMMCV              |
| MMMCVI             |
| MMMCVII            |
| MMMCVIII           |
| MMMCIX             |
| MMMCX              |
| MMMCXI             |
| MMMCXII            |
| MMMCXIII           |
| MMMCXIV            |
| MMMCXV             |
| MMMCXVI            |
| MMMCXVII           |
| MMMCXVIII          |
| MMMCXIX            |
| MMMCXX             |
| MMMCXXI            |
| MMMCXXII           |
| MMMCXXIII          |
| MMMCXXIV           |
| MMMCXXV            |
| MMMCXXVI           |
| MMMCXXVII          |
| MMMCXXVIII         |
| MMMCXXIX           |
| MMMCXXX            |
| MMMCXXXI           |
| MMMCXXXII          |
| MMMCXXXIII         |
| MMMCXXXIV          |
| MMMCXXXV           |
| MMMCXXXVI          |
| MMMCXXXVII         |
| MMMCXXXVIII        |
| MMMCXXXIX          |
| MMMCXL             |
| MMMCXLI            |
| MMMCXLII           |
| MMMCXLIII          |
| MMMCXLIV           |
| MMMCXLV            |
| MMMCXLVI           |
| MMMCXLVII          |
| MMMCXLVIII         |
| MMMCXLIX           |
| MMMCL              |
| MMMCLI             |
| MMMCLII            |
| MMMCLIII           |
| MMMCLIV            |
| MMMCLV             |
| MMMCLVI            |
| MMMCLVII           |
| MMMCLVIII          |
| MMMCLIX            |
| MMMCLX             |
| MMMCLXI            |
| MMMCLXII           |
| MMMCLXIII          |
| MMMCLXIV           |
| MMMCLXV            |
| MMMCLXVI           |
| MMMCLXVII          |
| MMMCLXVIII         |
| MMMCLXIX           |
| MMMCLXX            |
| MMMCLXXI           |
| MMMCLXXII          |
| MMMCLXXIII         |
| MMMCLXXIV          |
| MMMCLXXV           |
| MMMCLXXVI          |
| MMMCLXXVII         |
| MMMCLXXVIII        |
| MMMCLXXIX          |
| MMMCLXXX           |
| MMMCLXXXI          |
| MMMCLXXXII         |
| MMMCLXXXIII        |
| MMMCLXXXIV         |
| MMMCLXXXV          |
| MMMCLXXXVI         |
| MMMCLXXXVII        |
| MMMCLXXXVIII       |
| MMMCLXXXIX         |
| MMMCXC             |
| MMMCXCI            |
| MMMCXCII           |
| MMMCXCIII          |
| MMMCXCIV           |
| MMMCXCV            |
| MMMCXCVI           |
| MMMCXCVII          |
| MMMCXCVIII         |
| MMMCXCIX           |
| MMMCC              |
| MMMCCI             |
| MMMCCII            |
| MMMCCIII           |
| MMMCCIV            |
| MMMCCV             |
| MMMCCVI            |
| MMMCCVII           |
| MMMCCVIII          |
| MMMCCIX            |
| MMMCCX             |
| MMMCCXI            |
| MMMCCXII           |
| MMMCCXIII          |
| MMMCCXIV           |
| MMMCCXV            |
| MMMCCXVI           |
| MMMCCXVII          |
| MMMCCXVIII         |
| MMMCCXIX           |
| MMMCCXX            |
| MMMCCXXI           |
| MMMCCXXII          |
| MMMCCXXIII         |
| MMMCCXXIV          |
| MMMCCXXV           |
| MMMCCXXVI          |
| MMMCCXXVII         |
| MMMCCXXVIII        |
| MMMCCXXIX          |
| MMMCCXXX           |
| MMMCCXXXI          |
| MMMCCXXXII         |
| MMMCCXXXIII        |
| MMMCCXXXIV         |
| MMMCCXXXV          |
| MMMCCXXXVI         |
| MMMCCXXXVII        |
| MMMCCXXXVIII       |
| MMMCCXXXIX         |
| MMMCCXL            |
| MMMCCXLI           |
| MMMCCXLII          |
| MMMCCXLIII         |
| MMMCCXLIV          |
| MMMCCXLV           |
| MMMCCXLVI          |
| MMMCCXLVII         |
| MMMCCXLVIII        |
| MMMCCXLIX          |
| MMMCCL             |
| MMMCCLI            |
| MMMCCLII           |
| MMMCCLIII          |
| MMMCCLIV           |
| MMMCCLV            |
| MMMCCLVI           |
| MMMCCLVII          |
| MMMCCLVIII         |
| MMMCCLIX           |
| MMMCCLX            |
| MMMCCLXI           |
| MMMCCLXII          |
| MMMCCLXIII         |
| MMMCCLXIV          |
| MMMCCLXV           |
| MMMCCLXVI          |
| MMMCCLXVII         |
| MMMCCLXVIII        |
| MMMCCLXIX          |
| MMMCCLXX           |
| MMMCCLXXI          |
| MMMCCLXXII         |
| MMMCCLXXIII        |
| MMMCCLXXIV         |
| MMMCCLXXV          |
| MMMCCLXXVI         |
| MMMCCLXXVII        |
| MMMCCLXXVIII       |
| MMMCCLXXIX         |
| MMMCCLXXX          |
| MMMCCLXXXI         |
| MMMCCLXXXII        |
| MMMCCLXXXIII       |
| MMMCCLXXXIV        |
| MMMCCLXXXV         |
| MMMCCLXXXVI        |
| MMMCCLXXXVII       |
| MMMCCLXXXVIII      |
| MMMCCLXXXIX        |
| MMMCCXC            |
| MMMCCXCI           |
| MMMCCXCII          |
| MMMCCXCIII         |
| MMMCCXCIV          |
| MMMCCXCV           |
| MMMCCXCVI          |
| MMMCCXCVII         |
| MMMCCXCVIII        |
| MMMCCXCIX          |
| MMMCCC             |
| MMMCCCI            |
| MMMCCCII           |
| MMMCCCIII          |
| MMMCCCIV           |
| MMMCCCV            |
| MMMCCCVI           |
| MMMCCCVII          |
| MMMCCCVIII         |
| MMMCCCIX           |
| MMMCCCX            |
| MMMCCCXI           |
| MMMCCCXII          |
| MMMCCCXIII         |
| MMMCCCXIV          |
| MMMCCCXV           |
| MMMCCCXVI          |
| MMMCCCXVII         |
| MMMCCCXVIII        |
| MMMCCCXIX          |
| MMMCCCXX           |
| MMMCCCXXI          |
| MMMCCCXXII         |
| MMMCCCXXIII        |
| MMMCCCXXIV         |
| MMMCCCXXV          |
| MMMCCCXXVI         |
| MMMCCCXXVII        |
| MMMCCCXXVIII       |
| MMMCCCXXIX         |
| MMMCCCXXX          |
| MMMCCCXXXI         |
| MMMCCCXXXII        |
| MMMCCCXXXIII       |
| MMMCCCXXXIV        |
| MMMCCCXXXV         |
| MMMCCCXXXVI        |
| MMMCCCXXXVII       |
| MMMCCCXXXVIII      |
| MMMCCCXXXIX        |
| MMMCCCXL           |
| MMMCCCXLI          |
| MMMCCCXLII         |
| MMMCCCXLIII        |
| MMMCCCXLIV         |
| MMMCCCXLV          |
| MMMCCCXLVI         |
| MMMCCCXLVII        |
| MMMCCCXLVIII       |
| MMMCCCXLIX         |
| MMMCCCL            |
| MMMCCCLI           |
| MMMCCCLII          |
| MMMCCCLIII         |
| MMMCCCLIV          |
| MMMCCCLV           |
| MMMCCCLVI          |
| MMMCCCLVII         |
| MMMCCCLVIII        |
| MMMCCCLIX          |
| MMMCCCLX           |
| MMMCCCLXI          |
| MMMCCCLXII         |
| MMMCCCLXIII        |
| MMMCCCLXIV         |
| MMMCCCLXV          |
| MMMCCCLXVI         |
| MMMCCCLXVII        |
| MMMCCCLXVIII       |
| MMMCCCLXIX         |
| MMMCCCLXX          |
| MMMCCCLXXI         |
| MMMCCCLXXII        |
| MMMCCCLXXIII       |
| MMMCCCLXXIV        |
| MMMCCCLXXV         |
| MMMCCCLXXVI        |
| MMMCCCLXXVII       |
| MMMCCCLXXVIII      |
| MMMCCCLXXIX        |
| MMMCCCLXXX         |
| MMMCCCLXXXI        |
| MMMCCCLXXXII       |
| MMMCCCLXXXIII      |
| MMMCCCLXXXIV       |
| MMMCCCLXXXV        |
| MMMCCCLXXXVI       |
| MMMCCCLXXXVII      |
| MMMCCCLXXXVIII     |
| MMMCCCLXXXIX       |
| MMMCCCXC           |
| MMMCCCXCI          |
| MMMCCCXCII         |
| MMMCCCXCIII        |
| MMMCCCXCIV         |
| MMMCCCXCV          |
| MMMCCCXCVI         |
| MMMCCCXCVII        |
| MMMCCCXCVIII       |
| MMMCCCXCIX         |
| MMMCD              |
| MMMCDI             |
| MMMCDII            |
| MMMCDIII           |
| MMMCDIV            |
| MMMCDV             |
| MMMCDVI            |
| MMMCDVII           |
| MMMCDVIII          |
| MMMCDIX            |
| MMMCDX             |
| MMMCDXI            |
| MMMCDXII           |
| MMMCDXIII          |
| MMMCDXIV           |
| MMMCDXV            |
| MMMCDXVI           |
| MMMCDXVII          |
| MMMCDXVIII         |
| MMMCDXIX           |
| MMMCDXX            |
| MMMCDXXI           |
| MMMCDXXII          |
| MMMCDXXIII         |
| MMMCDXXIV          |
| MMMCDXXV           |
| MMMCDXXVI          |
| MMMCDXXVII         |
| MMMCDXXVIII        |
| MMMCDXXIX          |
| MMMCDXXX           |
| MMMCDXXXI          |
| MMMCDXXXII         |
| MMMCDXXXIII        |
| MMMCDXXXIV         |
| MMMCDXXXV          |
| MMMCDXXXVI         |
| MMMCDXXXVII        |
| MMMCDXXXVIII       |
| MMMCDXXXIX         |
| MMMCDXL            |
| MMMCDXLI           |
| MMMCDXLII          |
| MMMCDXLIII         |
| MMMCDXLIV          |
| MMMCDXLV           |
| MMMCDXLVI          |
| MMMCDXLVII         |
| MMMCDXLVIII        |
| MMMCDXLIX          |
| MMMCDL             |
| MMMCDLI            |
| MMMCDLII           |
| MMMCDLIII          |
| MMMCDLIV           |
| MMMCDLV            |
| MMMCDLVI           |
| MMMCDLVII          |
| MMMCDLVIII         |
| MMMCDLIX           |
| MMMCDLX            |
| MMMCDLXI           |
| MMMCDLXII          |
| MMMCDLXIII         |
| MMMCDLXIV          |
| MMMCDLXV           |
| MMMCDLXVI          |
| MMMCDLXVII         |
| MMMCDLXVIII        |
| MMMCDLXIX          |
| MMMCDLXX           |
| MMMCDLXXI          |
| MMMCDLXXII         |
| MMMCDLXXIII        |
| MMMCDLXXIV         |
| MMMCDLXXV          |
| MMMCDLXXVI         |
| MMMCDLXXVII        |
| MMMCDLXXVIII       |
| MMMCDLXXIX         |
| MMMCDLXXX          |
| MMMCDLXXXI         |
| MMMCDLXXXII        |
| MMMCDLXXXIII       |
| MMMCDLXXXIV        |
| MMMCDLXXXV         |
| MMMCDLXXXVI        |
| MMMCDLXXXVII       |
| MMMCDLXXXVIII      |
| MMMCDLXXXIX        |
| MMMCDXC            |
| MMMCDXCI           |
| MMMCDXCII          |
| MMMCDXCIII         |
| MMMCDXCIV          |
| MMMCDXCV           |
| MMMCDXCVI          |
| MMMCDXCVII         |
| MMMCDXCVIII        |
| MMMCDXCIX          |
| MMMD               |
| MMMDI              |
| MMMDII             |
| MMMDIII            |
| MMMDIV             |
| MMMDV              |
| MMMDVI             |
| MMMDVII            |
| MMMDVIII           |
| MMMDIX             |
| MMMDX              |
| MMMDXI             |
| MMMDXII            |
| MMMDXIII           |
| MMMDXIV            |
| MMMDXV             |
| MMMDXVI            |
| MMMDXVII           |
| MMMDXVIII          |
| MMMDXIX            |
| MMMDXX             |
| MMMDXXI            |
| MMMDXXII           |
| MMMDXXIII          |
| MMMDXXIV           |
| MMMDXXV            |
| MMMDXXVI           |
| MMMDXXVII          |
| MMMDXXVIII         |
| MMMDXXIX           |
| MMMDXXX            |
| MMMDXXXI           |
| MMMDXXXII          |
| MMMDXXXIII         |
| MMMDXXXIV          |
| MMMDXXXV           |
| MMMDXXXVI          |
| MMMDXXXVII         |
| MMMDXXXVIII        |
| MMMDXXXIX          |
| MMMDXL             |
| MMMDXLI            |
| MMMDXLII           |
| MMMDXLIII          |
| MMMDXLIV           |
| MMMDXLV            |
| MMMDXLVI           |
| MMMDXLVII          |
| MMMDXLVIII         |
| MMMDXLIX           |
| MMMDL              |
| MMMDLI             |
| MMMDLII            |
| MMMDLIII           |
| MMMDLIV            |
| MMMDLV             |
| MMMDLVI            |
| MMMDLVII           |
| MMMDLVIII          |
| MMMDLIX            |
| MMMDLX             |
| MMMDLXI            |
| MMMDLXII           |
| MMMDLXIII          |
| MMMDLXIV           |
| MMMDLXV            |
| MMMDLXVI           |
| MMMDLXVII          |
| MMMDLXVIII         |
| MMMDLXIX           |
| MMMDLXX            |
| MMMDLXXI           |
| MMMDLXXII          |
| MMMDLXXIII         |
| MMMDLXXIV          |
| MMMDLXXV           |
| MMMDLXXVI          |
| MMMDLXXVII         |
| MMMDLXXVIII        |
| MMMDLXXIX          |
| MMMDLXXX           |
| MMMDLXXXI          |
| MMMDLXXXII         |
| MMMDLXXXIII        |
| MMMDLXXXIV         |
| MMMDLXXXV          |
| MMMDLXXXVI         |
| MMMDLXXXVII        |
| MMMDLXXXVIII       |
| MMMDLXXXIX         |
| MMMDXC             |
| MMMDXCI            |
| MMMDXCII           |
| MMMDXCIII          |
| MMMDXCIV           |
| MMMDXCV            |
| MMMDXCVI           |
| MMMDXCVII          |
| MMMDXCVIII         |
| MMMDXCIX           |
| MMMDC              |
| MMMDCI             |
| MMMDCII            |
| MMMDCIII           |
| MMMDCIV            |
| MMMDCV             |
| MMMDCVI            |
| MMMDCVII           |
| MMMDCVIII          |
| MMMDCIX            |
| MMMDCX             |
| MMMDCXI            |
| MMMDCXII           |
| MMMDCXIII          |
| MMMDCXIV           |
| MMMDCXV            |
| MMMDCXVI           |
| MMMDCXVII          |
| MMMDCXVIII         |
| MMMDCXIX           |
| MMMDCXX            |
| MMMDCXXI           |
| MMMDCXXII          |
| MMMDCXXIII         |
| MMMDCXXIV          |
| MMMDCXXV           |
| MMMDCXXVI          |
| MMMDCXXVII         |
| MMMDCXXVIII        |
| MMMDCXXIX          |
| MMMDCXXX           |
| MMMDCXXXI          |
| MMMDCXXXII         |
| MMMDCXXXIII        |
| MMMDCXXXIV         |
| MMMDCXXXV          |
| MMMDCXXXVI         |
| MMMDCXXXVII        |
| MMMDCXXXVIII       |
| MMMDCXXXIX         |
| MMMDCXL            |
| MMMDCXLI           |
| MMMDCXLII          |
| MMMDCXLIII         |
| MMMDCXLIV          |
| MMMDCXLV           |
| MMMDCXLVI          |
| MMMDCXLVII         |
| MMMDCXLVIII        |
| MMMDCXLIX          |
| MMMDCL             |
| MMMDCLI            |
| MMMDCLII           |
| MMMDCLIII          |
| MMMDCLIV           |
| MMMDCLV            |
| MMMDCLVI           |
| MMMDCLVII          |
| MMMDCLVIII         |
| MMMDCLIX           |
| MMMDCLX            |
| MMMDCLXI           |
| MMMDCLXII          |
| MMMDCLXIII         |
| MMMDCLXIV          |
| MMMDCLXV           |
| MMMDCLXVI          |
| MMMDCLXVII         |
| MMMDCLXVIII        |
| MMMDCLXIX          |
| MMMDCLXX           |
| MMMDCLXXI          |
| MMMDCLXXII         |
| MMMDCLXXIII        |
| MMMDCLXXIV         |
| MMMDCLXXV          |
| MMMDCLXXVI         |
| MMMDCLXXVII        |
| MMMDCLXXVIII       |
| MMMDCLXXIX         |
| MMMDCLXXX          |
| MMMDCLXXXI         |
| MMMDCLXXXII        |
| MMMDCLXXXIII       |
| MMMDCLXXXIV        |
| MMMDCLXXXV         |
| MMMDCLXXXVI        |
| MMMDCLXXXVII       |
| MMMDCLXXXVIII      |
| MMMDCLXXXIX        |
| MMMDCXC            |
| MMMDCXCI           |
| MMMDCXCII          |
| MMMDCXCIII         |
| MMMDCXCIV          |
| MMMDCXCV           |
| MMMDCXCVI          |
| MMMDCXCVII         |
| MMMDCXCVIII        |
| MMMDCXCIX          |
| MMMDCC             |
| MMMDCCI            |
| MMMDCCII           |
| MMMDCCIII          |
| MMMDCCIV           |
| MMMDCCV            |
| MMMDCCVI           |
| MMMDCCVII          |
| MMMDCCVIII         |
| MMMDCCIX           |
| MMMDCCX            |
| MMMDCCXI           |
| MMMDCCXII          |
| MMMDCCXIII         |
| MMMDCCXIV          |
| MMMDCCXV           |
| MMMDCCXVI          |
| MMMDCCXVII         |
| MMMDCCXVIII        |
| MMMDCCXIX          |
| MMMDCCXX           |
| MMMDCCXXI          |
| MMMDCCXXII         |
| MMMDCCXXIII        |
| MMMDCCXXIV         |
| MMMDCCXXV          |
| MMMDCCXXVI         |
| MMMDCCXXVII        |
| MMMDCCXXVIII       |
| MMMDCCXXIX         |
| MMMDCCXXX          |
| MMMDCCXXXI         |
| MMMDCCXXXII        |
| MMMDCCXXXIII       |
| MMMDCCXXXIV        |
| MMMDCCXXXV         |
| MMMDCCXXXVI        |
| MMMDCCXXXVII       |
| MMMDCCXXXVIII      |
| MMMDCCXXXIX        |
| MMMDCCXL           |
| MMMDCCXLI          |
| MMMDCCXLII         |
| MMMDCCXLIII        |
| MMMDCCXLIV         |
| MMMDCCXLV          |
| MMMDCCXLVI         |
| MMMDCCXLVII        |
| MMMDCCXLVIII       |
| MMMDCCXLIX         |
| MMMDCCL            |
| MMMDCCLI           |
| MMMDCCLII          |
| MMMDCCLIII         |
| MMMDCCLIV          |
| MMMDCCLV           |
| MMMDCCLVI          |
| MMMDCCLVII         |
| MMMDCCLVIII        |
| MMMDCCLIX          |
| MMMDCCLX           |
| MMMDCCLXI          |
| MMMDCCLXII         |
| MMMDCCLXIII        |
| MMMDCCLXIV         |
| MMMDCCLXV          |
| MMMDCCLXVI         |
| MMMDCCLXVII        |
| MMMDCCLXVIII       |
| MMMDCCLXIX         |
| MMMDCCLXX          |
| MMMDCCLXXI         |
| MMMDCCLXXII        |
| MMMDCCLXXIII       |
| MMMDCCLXXIV        |
| MMMDCCLXXV         |
| MMMDCCLXXVI        |
| MMMDCCLXXVII       |
| MMMDCCLXXVIII      |
| MMMDCCLXXIX        |
| MMMDCCLXXX         |
| MMMDCCLXXXI        |
| MMMDCCLXXXII       |
| MMMDCCLXXXIII      |
| MMMDCCLXXXIV       |
| MMMDCCLXXXV        |
| MMMDCCLXXXVI       |
| MMMDCCLXXXVII      |
| MMMDCCLXXXVIII     |
| MMMDCCLXXXIX       |
| MMMDCCXC           |
| MMMDCCXCI          |
| MMMDCCXCII         |
| MMMDCCXCIII        |
| MMMDCCXCIV         |
| MMMDCCXCV          |
| MMMDCCXCVI         |
| MMMDCCXCVII        |
| MMMDCCXCVIII       |
| MMMDCCXCIX         |
| MMMDCCC            |
| MMMDCCCI           |
| MMMDCCCII          |
| MMMDCCCIII         |
| MMMDCCCIV          |
| MMMDCCCV           |
| MMMDCCCVI          |
| MMMDCCCVII         |
| MMMDCCCVIII        |
| MMMDCCCIX          |
| MMMDCCCX           |
| MMMDCCCXI          |
| MMMDCCCXII         |
| MMMDCCCXIII        |
| MMMDCCCXIV         |
| MMMDCCCXV          |
| MMMDCCCXVI         |
| MMMDCCCXVII        |
| MMMDCCCXVIII       |
| MMMDCCCXIX         |
| MMMDCCCXX          |
| MMMDCCCXXI         |
| MMMDCCCXXII        |
| MMMDCCCXXIII       |
| MMMDCCCXXIV        |
| MMMDCCCXXV         |
| MMMDCCCXXVI        |
| MMMDCCCXXVII       |
| MMMDCCCXXVIII      |
| MMMDCCCXXIX        |
| MMMDCCCXXX         |
| MMMDCCCXXXI        |
| MMMDCCCXXXII       |
| MMMDCCCXXXIII      |
| MMMDCCCXXXIV       |
| MMMDCCCXXXV        |
| MMMDCCCXXXVI       |
| MMMDCCCXXXVII      |
| MMMDCCCXXXVIII     |
| MMMDCCCXXXIX       |
| MMMDCCCXL          |
| MMMDCCCXLI         |
| MMMDCCCXLII        |
| MMMDCCCXLIII       |
| MMMDCCCXLIV        |
| MMMDCCCXLV         |
| MMMDCCCXLVI        |
| MMMDCCCXLVII       |
| MMMDCCCXLVIII      |
| MMMDCCCXLIX        |
| MMMDCCCL           |
| MMMDCCCLI          |
| MMMDCCCLII         |
| MMMDCCCLIII        |
| MMMDCCCLIV         |
| MMMDCCCLV          |
| MMMDCCCLVI         |
| MMMDCCCLVII        |
| MMMDCCCLVIII       |
| MMMDCCCLIX         |
| MMMDCCCLX          |
| MMMDCCCLXI         |
| MMMDCCCLXII        |
| MMMDCCCLXIII       |
| MMMDCCCLXIV        |
| MMMDCCCLXV         |
| MMMDCCCLXVI        |
| MMMDCCCLXVII       |
| MMMDCCCLXVIII      |
| MMMDCCCLXIX        |
| MMMDCCCLXX         |
| MMMDCCCLXXI        |
| MMMDCCCLXXII       |
| MMMDCCCLXXIII      |
| MMMDCCCLXXIV       |
| MMMDCCCLXXV        |
| MMMDCCCLXXVI       |
| MMMDCCCLXXVII      |
| MMMDCCCLXXVIII     |
| MMMDCCCLXXIX       |
| MMMDCCCLXXX        |
| MMMDCCCLXXXI       |
| MMMDCCCLXXXII      |
| MMMDCCCLXXXIII     |
| MMMDCCCLXXXIV      |
| MMMDCCCLXXXV       |
| MMMDCCCLXXXVI      |
| MMMDCCCLXXXVII     |
| MMMDCCCLXXXVIII    |
| MMMDCCCLXXXIX      |
| MMMDCCCXC          |
| MMMDCCCXCI         |
| MMMDCCCXCII        |
| MMMDCCCXCIII       |
| MMMDCCCXCIV        |
| MMMDCCCXCV         |
| MMMDCCCXCVI        |
| MMMDCCCXCVII       |
| MMMDCCCXCVIII      |
| MMMDCCCXCIX        |
| MMMCM              |
| MMMCMI             |
| MMMCMII            |
| MMMCMIII           |
| MMMCMIV            |
| MMMCMV             |
| MMMCMVI            |
| MMMCMVII           |
| MMMCMVIII          |
| MMMCMIX            |
| MMMCMX             |
| MMMCMXI            |
| MMMCMXII           |
| MMMCMXIII          |
| MMMCMXIV           |
| MMMCMXV            |
| MMMCMXVI           |
| MMMCMXVII          |
| MMMCMXVIII         |
| MMMCMXIX           |
| MMMCMXX            |
| MMMCMXXI           |
| MMMCMXXII          |
| MMMCMXXIII         |
| MMMCMXXIV          |
| MMMCMXXV           |
| MMMCMXXVI          |
| MMMCMXXVII         |
| MMMCMXXVIII        |
| MMMCMXXIX          |
| MMMCMXXX           |
| MMMCMXXXI          |
| MMMCMXXXII         |
| MMMCMXXXIII        |
| MMMCMXXXIV         |
| MMMCMXXXV          |
| MMMCMXXXVI         |
| MMMCMXXXVII        |
| MMMCMXXXVIII       |
| MMMCMXXXIX         |
| MMMCMXL            |
| MMMCMXLI           |
| MMMCMXLII          |
| MMMCMXLIII         |
| MMMCMXLIV          |
| MMMCMXLV           |
| MMMCMXLVI          |
| MMMCMXLVII         |
| MMMCMXLVIII        |
| MMMCMXLIX          |
| MMMCML             |
| MMMCMLI            |
| MMMCMLII           |
| MMMCMLIII          |
| MMMCMLIV           |
| MMMCMLV            |
| MMMCMLVI           |
| MMMCMLVII          |
| MMMCMLVIII         |
| MMMCMLIX           |
| MMMCMLX            |
| MMMCMLXI           |
| MMMCMLXII          |
| MMMCMLXIII         |
| MMMCMLXIV          |
| MMMCMLXV           |
| MMMCMLXVI          |
| MMMCMLXVII         |
| MMMCMLXVIII        |
| MMMCMLXIX          |
| MMMCMLXX           |
| MMMCMLXXI          |
| MMMCMLXXII         |
| MMMCMLXXIII        |
| MMMCMLXXIV         |
| MMMCMLXXV          |
| MMMCMLXXVI         |
| MMMCMLXXVII        |
| MMMCMLXXVIII       |
| MMMCMLXXIX         |
| MMMCMLXXX          |
| MMMCMLXXXI         |
| MMMCMLXXXII        |
| MMMCMLXXXIII       |
| MMMCMLXXXIV        |
| MMMCMLXXXV         |
| MMMCMLXXXVI        |
| MMMCMLXXXVII       |
| MMMCMLXXXVIII      |
| MMMCMLXXXIX        |
| MMMCMXC            |
| MMMCMXCI           |
| MMMCMXCII          |
| MMMCMXCIII         |
| MMMCMXCIV          |
| MMMCMXCV           |
| MMMCMXCVI          |
| MMMCMXCVII         |
| MMMCMXCVIII        |
| MMMCMXCIX          |
+--------------------+
3999 rows in set (Elapsed: 00:02:41.80)

3、C UDF执行情况

gbase> select IntToRoman(a) from czg;
+-----------------+
| IntToRoman(a)   |
+-----------------+
| I               |
| II              |
| III             |
| IV              |
| V               |
| VI              |
| VII             |
| VIII            |
| IX              |
| X               |
| XI              |
| XII             |
| XIII            |
| XIV             |
| XV              |
| XVI             |
| XVII            |
| XVIII           |
| XIX             |
| XX              |
| XXI             |
| XXII            |
| XXIII           |
| XXIV            |
| XXV             |
| XXVI            |
| XXVII           |
| XXVIII          |
| XXIX            |
| XXX             |
| XXXI            |
| XXXII           |
| XXXIII          |
| XXXIV           |
| XXXV            |
| XXXVI           |
| XXXVII          |
| XXXVIII         |
| XXXIX           |
| XL              |
| XLI             |
| XLII            |
| XLIII           |
| XLIV            |
| XLV             |
| XLVI            |
| XLVII           |
| XLVIII          |
| XLIX            |
| L               |
| LI              |
| LII             |
| LIII            |
| LIV             |
| LV              |
| LVI             |
| LVII            |
| LVIII           |
| LIX             |
| LX              |
| LXI             |
| LXII            |
| LXIII           |
| LXIV            |
| LXV             |
| LXVI            |
| LXVII           |
| LXVIII          |
| LXIX            |
| LXX             |
| LXXI            |
| LXXII           |
| LXXIII          |
| LXXIV           |
| LXXV            |
| LXXVI           |
| LXXVII          |
| LXXVIII         |
| LXXIX           |
| LXXX            |
| LXXXI           |
| LXXXII          |
| LXXXIII         |
| LXXXIV          |
| LXXXV           |
| LXXXVI          |
| LXXXVII         |
| LXXXVIII        |
| LXXXIX          |
| XC              |
| XCI             |
| XCII            |
| XCIII           |
| XCIV            |
| XCV             |
| XCVI            |
| XCVII           |
| XCVIII          |
| XCIX            |
| C               |
| CI              |
| CII             |
| CIII            |
| CIV             |
| CV              |
| CVI             |
| CVII            |
| CVIII           |
| CIX             |
| CX              |
| CXI             |
| CXII            |
| CXIII           |
| CXIV            |
| CXV             |
| CXVI            |
| CXVII           |
| CXVIII          |
| CXIX            |
| CXX             |
| CXXI            |
| CXXII           |
| CXXIII          |
| CXXIV           |
| CXXV            |
| CXXVI           |
| CXXVII          |
| CXXVIII         |
| CXXIX           |
| CXXX            |
| CXXXI           |
| CXXXII          |
| CXXXIII         |
| CXXXIV          |
| CXXXV           |
| CXXXVI          |
| CXXXVII         |
| CXXXVIII        |
| CXXXIX          |
| CXL             |
| CXLI            |
| CXLII           |
| CXLIII          |
| CXLIV           |
| CXLV            |
| CXLVI           |
| CXLVII          |
| CXLVIII         |
| CXLIX           |
| CL              |
| CLI             |
| CLII            |
| CLIII           |
| CLIV            |
| CLV             |
| CLVI            |
| CLVII           |
| CLVIII          |
| CLIX            |
| CLX             |
| CLXI            |
| CLXII           |
| CLXIII          |
| CLXIV           |
| CLXV            |
| CLXVI           |
| CLXVII          |
| CLXVIII         |
| CLXIX           |
| CLXX            |
| CLXXI           |
| CLXXII          |
| CLXXIII         |
| CLXXIV          |
| CLXXV           |
| CLXXVI          |
| CLXXVII         |
| CLXXVIII        |
| CLXXIX          |
| CLXXX           |
| CLXXXI          |
| CLXXXII         |
| CLXXXIII        |
| CLXXXIV         |
| CLXXXV          |
| CLXXXVI         |
| CLXXXVII        |
| CLXXXVIII       |
| CLXXXIX         |
| CXC             |
| CXCI            |
| CXCII           |
| CXCIII          |
| CXCIV           |
| CXCV            |
| CXCVI           |
| CXCVII          |
| CXCVIII         |
| CXCIX           |
| CC              |
| CCI             |
| CCII            |
| CCIII           |
| CCIV            |
| CCV             |
| CCVI            |
| CCVII           |
| CCVIII          |
| CCIX            |
| CCX             |
| CCXI            |
| CCXII           |
| CCXIII          |
| CCXIV           |
| CCXV            |
| CCXVI           |
| CCXVII          |
| CCXVIII         |
| CCXIX           |
| CCXX            |
| CCXXI           |
| CCXXII          |
| CCXXIII         |
| CCXXIV          |
| CCXXV           |
| CCXXVI          |
| CCXXVII         |
| CCXXVIII        |
| CCXXIX          |
| CCXXX           |
| CCXXXI          |
| CCXXXII         |
| CCXXXIII        |
| CCXXXIV         |
| CCXXXV          |
| CCXXXVI         |
| CCXXXVII        |
| CCXXXVIII       |
| CCXXXIX         |
| CCXL            |
| CCXLI           |
| CCXLII          |
| CCXLIII         |
| CCXLIV          |
| CCXLV           |
| CCXLVI          |
| CCXLVII         |
| CCXLVIII        |
| CCXLIX          |
| CCL             |
| CCLI            |
| CCLII           |
| CCLIII          |
| CCLIV           |
| CCLV            |
| CCLVI           |
| CCLVII          |
| CCLVIII         |
| CCLIX           |
| CCLX            |
| CCLXI           |
| CCLXII          |
| CCLXIII         |
| CCLXIV          |
| CCLXV           |
| CCLXVI          |
| CCLXVII         |
| CCLXVIII        |
| CCLXIX          |
| CCLXX           |
| CCLXXI          |
| CCLXXII         |
| CCLXXIII        |
| CCLXXIV         |
| CCLXXV          |
| CCLXXVI         |
| CCLXXVII        |
| CCLXXVIII       |
| CCLXXIX         |
| CCLXXX          |
| CCLXXXI         |
| CCLXXXII        |
| CCLXXXIII       |
| CCLXXXIV        |
| CCLXXXV         |
| CCLXXXVI        |
| CCLXXXVII       |
| CCLXXXVIII      |
| CCLXXXIX        |
| CCXC            |
| CCXCI           |
| CCXCII          |
| CCXCIII         |
| CCXCIV          |
| CCXCV           |
| CCXCVI          |
| CCXCVII         |
| CCXCVIII        |
| CCXCIX          |
| CCC             |
| CCCI            |
| CCCII           |
| CCCIII          |
| CCCIV           |
| CCCV            |
| CCCVI           |
| CCCVII          |
| CCCVIII         |
| CCCIX           |
| CCCX            |
| CCCXI           |
| CCCXII          |
| CCCXIII         |
| CCCXIV          |
| CCCXV           |
| CCCXVI          |
| CCCXVII         |
| CCCXVIII        |
| CCCXIX          |
| CCCXX           |
| CCCXXI          |
| CCCXXII         |
| CCCXXIII        |
| CCCXXIV         |
| CCCXXV          |
| CCCXXVI         |
| CCCXXVII        |
| CCCXXVIII       |
| CCCXXIX         |
| CCCXXX          |
| CCCXXXI         |
| CCCXXXII        |
| CCCXXXIII       |
| CCCXXXIV        |
| CCCXXXV         |
| CCCXXXVI        |
| CCCXXXVII       |
| CCCXXXVIII      |
| CCCXXXIX        |
| CCCXL           |
| CCCXLI          |
| CCCXLII         |
| CCCXLIII        |
| CCCXLIV         |
| CCCXLV          |
| CCCXLVI         |
| CCCXLVII        |
| CCCXLVIII       |
| CCCXLIX         |
| CCCL            |
| CCCLI           |
| CCCLII          |
| CCCLIII         |
| CCCLIV          |
| CCCLV           |
| CCCLVI          |
| CCCLVII         |
| CCCLVIII        |
| CCCLIX          |
| CCCLX           |
| CCCLXI          |
| CCCLXII         |
| CCCLXIII        |
| CCCLXIV         |
| CCCLXV          |
| CCCLXVI         |
| CCCLXVII        |
| CCCLXVIII       |
| CCCLXIX         |
| CCCLXX          |
| CCCLXXI         |
| CCCLXXII        |
| CCCLXXIII       |
| CCCLXXIV        |
| CCCLXXV         |
| CCCLXXVI        |
| CCCLXXVII       |
| CCCLXXVIII      |
| CCCLXXIX        |
| CCCLXXX         |
| CCCLXXXI        |
| CCCLXXXII       |
| CCCLXXXIII      |
| CCCLXXXIV       |
| CCCLXXXV        |
| CCCLXXXVI       |
| CCCLXXXVII      |
| CCCLXXXVIII     |
| CCCLXXXIX       |
| CCCXC           |
| CCCXCI          |
| CCCXCII         |
| CCCXCIII        |
| CCCXCIV         |
| CCCXCV          |
| CCCXCVI         |
| CCCXCVII        |
| CCCXCVIII       |
| CCCXCIX         |
| CD              |
| CDI             |
| CDII            |
| CDIII           |
| CDIV            |
| CDV             |
| CDVI            |
| CDVII           |
| CDVIII          |
| CDIX            |
| CDX             |
| CDXI            |
| CDXII           |
| CDXIII          |
| CDXIV           |
| CDXV            |
| CDXVI           |
| CDXVII          |
| CDXVIII         |
| CDXIX           |
| CDXX            |
| CDXXI           |
| CDXXII          |
| CDXXIII         |
| CDXXIV          |
| CDXXV           |
| CDXXVI          |
| CDXXVII         |
| CDXXVIII        |
| CDXXIX          |
| CDXXX           |
| CDXXXI          |
| CDXXXII         |
| CDXXXIII        |
| CDXXXIV         |
| CDXXXV          |
| CDXXXVI         |
| CDXXXVII        |
| CDXXXVIII       |
| CDXXXIX         |
| CDXL            |
| CDXLI           |
| CDXLII          |
| CDXLIII         |
| CDXLIV          |
| CDXLV           |
| CDXLVI          |
| CDXLVII         |
| CDXLVIII        |
| CDXLIX          |
| CDL             |
| CDLI            |
| CDLII           |
| CDLIII          |
| CDLIV           |
| CDLV            |
| CDLVI           |
| CDLVII          |
| CDLVIII         |
| CDLIX           |
| CDLX            |
| CDLXI           |
| CDLXII          |
| CDLXIII         |
| CDLXIV          |
| CDLXV           |
| CDLXVI          |
| CDLXVII         |
| CDLXVIII        |
| CDLXIX          |
| CDLXX           |
| CDLXXI          |
| CDLXXII         |
| CDLXXIII        |
| CDLXXIV         |
| CDLXXV          |
| CDLXXVI         |
| CDLXXVII        |
| CDLXXVIII       |
| CDLXXIX         |
| CDLXXX          |
| CDLXXXI         |
| CDLXXXII        |
| CDLXXXIII       |
| CDLXXXIV        |
| CDLXXXV         |
| CDLXXXVI        |
| CDLXXXVII       |
| CDLXXXVIII      |
| CDLXXXIX        |
| CDXC            |
| CDXCI           |
| CDXCII          |
| CDXCIII         |
| CDXCIV          |
| CDXCV           |
| CDXCVI          |
| CDXCVII         |
| CDXCVIII        |
| CDXCIX          |
| D               |
| DI              |
| DII             |
| DIII            |
| DIV             |
| DV              |
| DVI             |
| DVII            |
| DVIII           |
| DIX             |
| DX              |
| DXI             |
| DXII            |
| DXIII           |
| DXIV            |
| DXV             |
| DXVI            |
| DXVII           |
| DXVIII          |
| DXIX            |
| DXX             |
| DXXI            |
| DXXII           |
| DXXIII          |
| DXXIV           |
| DXXV            |
| DXXVI           |
| DXXVII          |
| DXXVIII         |
| DXXIX           |
| DXXX            |
| DXXXI           |
| DXXXII          |
| DXXXIII         |
| DXXXIV          |
| DXXXV           |
| DXXXVI          |
| DXXXVII         |
| DXXXVIII        |
| DXXXIX          |
| DXL             |
| DXLI            |
| DXLII           |
| DXLIII          |
| DXLIV           |
| DXLV            |
| DXLVI           |
| DXLVII          |
| DXLVIII         |
| DXLIX           |
| DL              |
| DLI             |
| DLII            |
| DLIII           |
| DLIV            |
| DLV             |
| DLVI            |
| DLVII           |
| DLVIII          |
| DLIX            |
| DLX             |
| DLXI            |
| DLXII           |
| DLXIII          |
| DLXIV           |
| DLXV            |
| DLXVI           |
| DLXVII          |
| DLXVIII         |
| DLXIX           |
| DLXX            |
| DLXXI           |
| DLXXII          |
| DLXXIII         |
| DLXXIV          |
| DLXXV           |
| DLXXVI          |
| DLXXVII         |
| DLXXVIII        |
| DLXXIX          |
| DLXXX           |
| DLXXXI          |
| DLXXXII         |
| DLXXXIII        |
| DLXXXIV         |
| DLXXXV          |
| DLXXXVI         |
| DLXXXVII        |
| DLXXXVIII       |
| DLXXXIX         |
| DXC             |
| DXCI            |
| DXCII           |
| DXCIII          |
| DXCIV           |
| DXCV            |
| DXCVI           |
| DXCVII          |
| DXCVIII         |
| DXCIX           |
| DC              |
| DCI             |
| DCII            |
| DCIII           |
| DCIV            |
| DCV             |
| DCVI            |
| DCVII           |
| DCVIII          |
| DCIX            |
| DCX             |
| DCXI            |
| DCXII           |
| DCXIII          |
| DCXIV           |
| DCXV            |
| DCXVI           |
| DCXVII          |
| DCXVIII         |
| DCXIX           |
| DCXX            |
| DCXXI           |
| DCXXII          |
| DCXXIII         |
| DCXXIV          |
| DCXXV           |
| DCXXVI          |
| DCXXVII         |
| DCXXVIII        |
| DCXXIX          |
| DCXXX           |
| DCXXXI          |
| DCXXXII         |
| DCXXXIII        |
| DCXXXIV         |
| DCXXXV          |
| DCXXXVI         |
| DCXXXVII        |
| DCXXXVIII       |
| DCXXXIX         |
| DCXL            |
| DCXLI           |
| DCXLII          |
| DCXLIII         |
| DCXLIV          |
| DCXLV           |
| DCXLVI          |
| DCXLVII         |
| DCXLVIII        |
| DCXLIX          |
| DCL             |
| DCLI            |
| DCLII           |
| DCLIII          |
| DCLIV           |
| DCLV            |
| DCLVI           |
| DCLVII          |
| DCLVIII         |
| DCLIX           |
| DCLX            |
| DCLXI           |
| DCLXII          |
| DCLXIII         |
| DCLXIV          |
| DCLXV           |
| DCLXVI          |
| DCLXVII         |
| DCLXVIII        |
| DCLXIX          |
| DCLXX           |
| DCLXXI          |
| DCLXXII         |
| DCLXXIII        |
| DCLXXIV         |
| DCLXXV          |
| DCLXXVI         |
| DCLXXVII        |
| DCLXXVIII       |
| DCLXXIX         |
| DCLXXX          |
| DCLXXXI         |
| DCLXXXII        |
| DCLXXXIII       |
| DCLXXXIV        |
| DCLXXXV         |
| DCLXXXVI        |
| DCLXXXVII       |
| DCLXXXVIII      |
| DCLXXXIX        |
| DCXC            |
| DCXCI           |
| DCXCII          |
| DCXCIII         |
| DCXCIV          |
| DCXCV           |
| DCXCVI          |
| DCXCVII         |
| DCXCVIII        |
| DCXCIX          |
| DCC             |
| DCCI            |
| DCCII           |
| DCCIII          |
| DCCIV           |
| DCCV            |
| DCCVI           |
| DCCVII          |
| DCCVIII         |
| DCCIX           |
| DCCX            |
| DCCXI           |
| DCCXII          |
| DCCXIII         |
| DCCXIV          |
| DCCXV           |
| DCCXVI          |
| DCCXVII         |
| DCCXVIII        |
| DCCXIX          |
| DCCXX           |
| DCCXXI          |
| DCCXXII         |
| DCCXXIII        |
| DCCXXIV         |
| DCCXXV          |
| DCCXXVI         |
| DCCXXVII        |
| DCCXXVIII       |
| DCCXXIX         |
| DCCXXX          |
| DCCXXXI         |
| DCCXXXII        |
| DCCXXXIII       |
| DCCXXXIV        |
| DCCXXXV         |
| DCCXXXVI        |
| DCCXXXVII       |
| DCCXXXVIII      |
| DCCXXXIX        |
| DCCXL           |
| DCCXLI          |
| DCCXLII         |
| DCCXLIII        |
| DCCXLIV         |
| DCCXLV          |
| DCCXLVI         |
| DCCXLVII        |
| DCCXLVIII       |
| DCCXLIX         |
| DCCL            |
| DCCLI           |
| DCCLII          |
| DCCLIII         |
| DCCLIV          |
| DCCLV           |
| DCCLVI          |
| DCCLVII         |
| DCCLVIII        |
| DCCLIX          |
| DCCLX           |
| DCCLXI          |
| DCCLXII         |
| DCCLXIII        |
| DCCLXIV         |
| DCCLXV          |
| DCCLXVI         |
| DCCLXVII        |
| DCCLXVIII       |
| DCCLXIX         |
| DCCLXX          |
| DCCLXXI         |
| DCCLXXII        |
| DCCLXXIII       |
| DCCLXXIV        |
| DCCLXXV         |
| DCCLXXVI        |
| DCCLXXVII       |
| DCCLXXVIII      |
| DCCLXXIX        |
| DCCLXXX         |
| DCCLXXXI        |
| DCCLXXXII       |
| DCCLXXXIII      |
| DCCLXXXIV       |
| DCCLXXXV        |
| DCCLXXXVI       |
| DCCLXXXVII      |
| DCCLXXXVIII     |
| DCCLXXXIX       |
| DCCXC           |
| DCCXCI          |
| DCCXCII         |
| DCCXCIII        |
| DCCXCIV         |
| DCCXCV          |
| DCCXCVI         |
| DCCXCVII        |
| DCCXCVIII       |
| DCCXCIX         |
| DCCC            |
| DCCCI           |
| DCCCII          |
| DCCCIII         |
| DCCCIV          |
| DCCCV           |
| DCCCVI          |
| DCCCVII         |
| DCCCVIII        |
| DCCCIX          |
| DCCCX           |
| DCCCXI          |
| DCCCXII         |
| DCCCXIII        |
| DCCCXIV         |
| DCCCXV          |
| DCCCXVI         |
| DCCCXVII        |
| DCCCXVIII       |
| DCCCXIX         |
| DCCCXX          |
| DCCCXXI         |
| DCCCXXII        |
| DCCCXXIII       |
| DCCCXXIV        |
| DCCCXXV         |
| DCCCXXVI        |
| DCCCXXVII       |
| DCCCXXVIII      |
| DCCCXXIX        |
| DCCCXXX         |
| DCCCXXXI        |
| DCCCXXXII       |
| DCCCXXXIII      |
| DCCCXXXIV       |
| DCCCXXXV        |
| DCCCXXXVI       |
| DCCCXXXVII      |
| DCCCXXXVIII     |
| DCCCXXXIX       |
| DCCCXL          |
| DCCCXLI         |
| DCCCXLII        |
| DCCCXLIII       |
| DCCCXLIV        |
| DCCCXLV         |
| DCCCXLVI        |
| DCCCXLVII       |
| DCCCXLVIII      |
| DCCCXLIX        |
| DCCCL           |
| DCCCLI          |
| DCCCLII         |
| DCCCLIII        |
| DCCCLIV         |
| DCCCLV          |
| DCCCLVI         |
| DCCCLVII        |
| DCCCLVIII       |
| DCCCLIX         |
| DCCCLX          |
| DCCCLXI         |
| DCCCLXII        |
| DCCCLXIII       |
| DCCCLXIV        |
| DCCCLXV         |
| DCCCLXVI        |
| DCCCLXVII       |
| DCCCLXVIII      |
| DCCCLXIX        |
| DCCCLXX         |
| DCCCLXXI        |
| DCCCLXXII       |
| DCCCLXXIII      |
| DCCCLXXIV       |
| DCCCLXXV        |
| DCCCLXXVI       |
| DCCCLXXVII      |
| DCCCLXXVIII     |
| DCCCLXXIX       |
| DCCCLXXX        |
| DCCCLXXXI       |
| DCCCLXXXII      |
| DCCCLXXXIII     |
| DCCCLXXXIV      |
| DCCCLXXXV       |
| DCCCLXXXVI      |
| DCCCLXXXVII     |
| DCCCLXXXVIII    |
| DCCCLXXXIX      |
| DCCCXC          |
| DCCCXCI         |
| DCCCXCII        |
| DCCCXCIII       |
| DCCCXCIV        |
| DCCCXCV         |
| DCCCXCVI        |
| DCCCXCVII       |
| DCCCXCVIII      |
| DCCCXCIX        |
| CM              |
| CMI             |
| CMII            |
| CMIII           |
| CMIV            |
| CMV             |
| CMVI            |
| CMVII           |
| CMVIII          |
| CMIX            |
| CMX             |
| CMXI            |
| CMXII           |
| CMXIII          |
| CMXIV           |
| CMXV            |
| CMXVI           |
| CMXVII          |
| CMXVIII         |
| CMXIX           |
| CMXX            |
| CMXXI           |
| CMXXII          |
| CMXXIII         |
| CMXXIV          |
| CMXXV           |
| CMXXVI          |
| CMXXVII         |
| CMXXVIII        |
| CMXXIX          |
| CMXXX           |
| CMXXXI          |
| CMXXXII         |
| CMXXXIII        |
| CMXXXIV         |
| CMXXXV          |
| CMXXXVI         |
| CMXXXVII        |
| CMXXXVIII       |
| CMXXXIX         |
| CMXL            |
| CMXLI           |
| CMXLII          |
| CMXLIII         |
| CMXLIV          |
| CMXLV           |
| CMXLVI          |
| CMXLVII         |
| CMXLVIII        |
| CMXLIX          |
| CML             |
| CMLI            |
| CMLII           |
| CMLIII          |
| CMLIV           |
| CMLV            |
| CMLVI           |
| CMLVII          |
| CMLVIII         |
| CMLIX           |
| CMLX            |
| CMLXI           |
| CMLXII          |
| CMLXIII         |
| CMLXIV          |
| CMLXV           |
| CMLXVI          |
| CMLXVII         |
| CMLXVIII        |
| CMLXIX          |
| CMLXX           |
| CMLXXI          |
| CMLXXII         |
| CMLXXIII        |
| CMLXXIV         |
| CMLXXV          |
| CMLXXVI         |
| CMLXXVII        |
| CMLXXVIII       |
| CMLXXIX         |
| CMLXXX          |
| CMLXXXI         |
| CMLXXXII        |
| CMLXXXIII       |
| CMLXXXIV        |
| CMLXXXV         |
| CMLXXXVI        |
| CMLXXXVII       |
| CMLXXXVIII      |
| CMLXXXIX        |
| CMXC            |
| CMXCI           |
| CMXCII          |
| CMXCIII         |
| CMXCIV          |
| CMXCV           |
| CMXCVI          |
| CMXCVII         |
| CMXCVIII        |
| CMXCIX          |
| M               |
| MI              |
| MII             |
| MIII            |
| MIV             |
| MV              |
| MVI             |
| MVII            |
| MVIII           |
| MIX             |
| MX              |
| MXI             |
| MXII            |
| MXIII           |
| MXIV            |
| MXV             |
| MXVI            |
| MXVII           |
| MXVIII          |
| MXIX            |
| MXX             |
| MXXI            |
| MXXII           |
| MXXIII          |
| MXXIV           |
| MXXV            |
| MXXVI           |
| MXXVII          |
| MXXVIII         |
| MXXIX           |
| MXXX            |
| MXXXI           |
| MXXXII          |
| MXXXIII         |
| MXXXIV          |
| MXXXV           |
| MXXXVI          |
| MXXXVII         |
| MXXXVIII        |
| MXXXIX          |
| MXL             |
| MXLI            |
| MXLII           |
| MXLIII          |
| MXLIV           |
| MXLV            |
| MXLVI           |
| MXLVII          |
| MXLVIII         |
| MXLIX           |
| ML              |
| MLI             |
| MLII            |
| MLIII           |
| MLIV            |
| MLV             |
| MLVI            |
| MLVII           |
| MLVIII          |
| MLIX            |
| MLX             |
| MLXI            |
| MLXII           |
| MLXIII          |
| MLXIV           |
| MLXV            |
| MLXVI           |
| MLXVII          |
| MLXVIII         |
| MLXIX           |
| MLXX            |
| MLXXI           |
| MLXXII          |
| MLXXIII         |
| MLXXIV          |
| MLXXV           |
| MLXXVI          |
| MLXXVII         |
| MLXXVIII        |
| MLXXIX          |
| MLXXX           |
| MLXXXI          |
| MLXXXII         |
| MLXXXIII        |
| MLXXXIV         |
| MLXXXV          |
| MLXXXVI         |
| MLXXXVII        |
| MLXXXVIII       |
| MLXXXIX         |
| MXC             |
| MXCI            |
| MXCII           |
| MXCIII          |
| MXCIV           |
| MXCV            |
| MXCVI           |
| MXCVII          |
| MXCVIII         |
| MXCIX           |
| MC              |
| MCI             |
| MCII            |
| MCIII           |
| MCIV            |
| MCV             |
| MCVI            |
| MCVII           |
| MCVIII          |
| MCIX            |
| MCX             |
| MCXI            |
| MCXII           |
| MCXIII          |
| MCXIV           |
| MCXV            |
| MCXVI           |
| MCXVII          |
| MCXVIII         |
| MCXIX           |
| MCXX            |
| MCXXI           |
| MCXXII          |
| MCXXIII         |
| MCXXIV          |
| MCXXV           |
| MCXXVI          |
| MCXXVII         |
| MCXXVIII        |
| MCXXIX          |
| MCXXX           |
| MCXXXI          |
| MCXXXII         |
| MCXXXIII        |
| MCXXXIV         |
| MCXXXV          |
| MCXXXVI         |
| MCXXXVII        |
| MCXXXVIII       |
| MCXXXIX         |
| MCXL            |
| MCXLI           |
| MCXLII          |
| MCXLIII         |
| MCXLIV          |
| MCXLV           |
| MCXLVI          |
| MCXLVII         |
| MCXLVIII        |
| MCXLIX          |
| MCL             |
| MCLI            |
| MCLII           |
| MCLIII          |
| MCLIV           |
| MCLV            |
| MCLVI           |
| MCLVII          |
| MCLVIII         |
| MCLIX           |
| MCLX            |
| MCLXI           |
| MCLXII          |
| MCLXIII         |
| MCLXIV          |
| MCLXV           |
| MCLXVI          |
| MCLXVII         |
| MCLXVIII        |
| MCLXIX          |
| MCLXX           |
| MCLXXI          |
| MCLXXII         |
| MCLXXIII        |
| MCLXXIV         |
| MCLXXV          |
| MCLXXVI         |
| MCLXXVII        |
| MCLXXVIII       |
| MCLXXIX         |
| MCLXXX          |
| MCLXXXI         |
| MCLXXXII        |
| MCLXXXIII       |
| MCLXXXIV        |
| MCLXXXV         |
| MCLXXXVI        |
| MCLXXXVII       |
| MCLXXXVIII      |
| MCLXXXIX        |
| MCXC            |
| MCXCI           |
| MCXCII          |
| MCXCIII         |
| MCXCIV          |
| MCXCV           |
| MCXCVI          |
| MCXCVII         |
| MCXCVIII        |
| MCXCIX          |
| MCC             |
| MCCI            |
| MCCII           |
| MCCIII          |
| MCCIV           |
| MCCV            |
| MCCVI           |
| MCCVII          |
| MCCVIII         |
| MCCIX           |
| MCCX            |
| MCCXI           |
| MCCXII          |
| MCCXIII         |
| MCCXIV          |
| MCCXV           |
| MCCXVI          |
| MCCXVII         |
| MCCXVIII        |
| MCCXIX          |
| MCCXX           |
| MCCXXI          |
| MCCXXII         |
| MCCXXIII        |
| MCCXXIV         |
| MCCXXV          |
| MCCXXVI         |
| MCCXXVII        |
| MCCXXVIII       |
| MCCXXIX         |
| MCCXXX          |
| MCCXXXI         |
| MCCXXXII        |
| MCCXXXIII       |
| MCCXXXIV        |
| MCCXXXV         |
| MCCXXXVI        |
| MCCXXXVII       |
| MCCXXXVIII      |
| MCCXXXIX        |
| MCCXL           |
| MCCXLI          |
| MCCXLII         |
| MCCXLIII        |
| MCCXLIV         |
| MCCXLV          |
| MCCXLVI         |
| MCCXLVII        |
| MCCXLVIII       |
| MCCXLIX         |
| MCCL            |
| MCCLI           |
| MCCLII          |
| MCCLIII         |
| MCCLIV          |
| MCCLV           |
| MCCLVI          |
| MCCLVII         |
| MCCLVIII        |
| MCCLIX          |
| MCCLX           |
| MCCLXI          |
| MCCLXII         |
| MCCLXIII        |
| MCCLXIV         |
| MCCLXV          |
| MCCLXVI         |
| MCCLXVII        |
| MCCLXVIII       |
| MCCLXIX         |
| MCCLXX          |
| MCCLXXI         |
| MCCLXXII        |
| MCCLXXIII       |
| MCCLXXIV        |
| MCCLXXV         |
| MCCLXXVI        |
| MCCLXXVII       |
| MCCLXXVIII      |
| MCCLXXIX        |
| MCCLXXX         |
| MCCLXXXI        |
| MCCLXXXII       |
| MCCLXXXIII      |
| MCCLXXXIV       |
| MCCLXXXV        |
| MCCLXXXVI       |
| MCCLXXXVII      |
| MCCLXXXVIII     |
| MCCLXXXIX       |
| MCCXC           |
| MCCXCI          |
| MCCXCII         |
| MCCXCIII        |
| MCCXCIV         |
| MCCXCV          |
| MCCXCVI         |
| MCCXCVII        |
| MCCXCVIII       |
| MCCXCIX         |
| MCCC            |
| MCCCI           |
| MCCCII          |
| MCCCIII         |
| MCCCIV          |
| MCCCV           |
| MCCCVI          |
| MCCCVII         |
| MCCCVIII        |
| MCCCIX          |
| MCCCX           |
| MCCCXI          |
| MCCCXII         |
| MCCCXIII        |
| MCCCXIV         |
| MCCCXV          |
| MCCCXVI         |
| MCCCXVII        |
| MCCCXVIII       |
| MCCCXIX         |
| MCCCXX          |
| MCCCXXI         |
| MCCCXXII        |
| MCCCXXIII       |
| MCCCXXIV        |
| MCCCXXV         |
| MCCCXXVI        |
| MCCCXXVII       |
| MCCCXXVIII      |
| MCCCXXIX        |
| MCCCXXX         |
| MCCCXXXI        |
| MCCCXXXII       |
| MCCCXXXIII      |
| MCCCXXXIV       |
| MCCCXXXV        |
| MCCCXXXVI       |
| MCCCXXXVII      |
| MCCCXXXVIII     |
| MCCCXXXIX       |
| MCCCXL          |
| MCCCXLI         |
| MCCCXLII        |
| MCCCXLIII       |
| MCCCXLIV        |
| MCCCXLV         |
| MCCCXLVI        |
| MCCCXLVII       |
| MCCCXLVIII      |
| MCCCXLIX        |
| MCCCL           |
| MCCCLI          |
| MCCCLII         |
| MCCCLIII        |
| MCCCLIV         |
| MCCCLV          |
| MCCCLVI         |
| MCCCLVII        |
| MCCCLVIII       |
| MCCCLIX         |
| MCCCLX          |
| MCCCLXI         |
| MCCCLXII        |
| MCCCLXIII       |
| MCCCLXIV        |
| MCCCLXV         |
| MCCCLXVI        |
| MCCCLXVII       |
| MCCCLXVIII      |
| MCCCLXIX        |
| MCCCLXX         |
| MCCCLXXI        |
| MCCCLXXII       |
| MCCCLXXIII      |
| MCCCLXXIV       |
| MCCCLXXV        |
| MCCCLXXVI       |
| MCCCLXXVII      |
| MCCCLXXVIII     |
| MCCCLXXIX       |
| MCCCLXXX        |
| MCCCLXXXI       |
| MCCCLXXXII      |
| MCCCLXXXIII     |
| MCCCLXXXIV      |
| MCCCLXXXV       |
| MCCCLXXXVI      |
| MCCCLXXXVII     |
| MCCCLXXXVIII    |
| MCCCLXXXIX      |
| MCCCXC          |
| MCCCXCI         |
| MCCCXCII        |
| MCCCXCIII       |
| MCCCXCIV        |
| MCCCXCV         |
| MCCCXCVI        |
| MCCCXCVII       |
| MCCCXCVIII      |
| MCCCXCIX        |
| MCD             |
| MCDI            |
| MCDII           |
| MCDIII          |
| MCDIV           |
| MCDV            |
| MCDVI           |
| MCDVII          |
| MCDVIII         |
| MCDIX           |
| MCDX            |
| MCDXI           |
| MCDXII          |
| MCDXIII         |
| MCDXIV          |
| MCDXV           |
| MCDXVI          |
| MCDXVII         |
| MCDXVIII        |
| MCDXIX          |
| MCDXX           |
| MCDXXI          |
| MCDXXII         |
| MCDXXIII        |
| MCDXXIV         |
| MCDXXV          |
| MCDXXVI         |
| MCDXXVII        |
| MCDXXVIII       |
| MCDXXIX         |
| MCDXXX          |
| MCDXXXI         |
| MCDXXXII        |
| MCDXXXIII       |
| MCDXXXIV        |
| MCDXXXV         |
| MCDXXXVI        |
| MCDXXXVII       |
| MCDXXXVIII      |
| MCDXXXIX        |
| MCDXL           |
| MCDXLI          |
| MCDXLII         |
| MCDXLIII        |
| MCDXLIV         |
| MCDXLV          |
| MCDXLVI         |
| MCDXLVII        |
| MCDXLVIII       |
| MCDXLIX         |
| MCDL            |
| MCDLI           |
| MCDLII          |
| MCDLIII         |
| MCDLIV          |
| MCDLV           |
| MCDLVI          |
| MCDLVII         |
| MCDLVIII        |
| MCDLIX          |
| MCDLX           |
| MCDLXI          |
| MCDLXII         |
| MCDLXIII        |
| MCDLXIV         |
| MCDLXV          |
| MCDLXVI         |
| MCDLXVII        |
| MCDLXVIII       |
| MCDLXIX         |
| MCDLXX          |
| MCDLXXI         |
| MCDLXXII        |
| MCDLXXIII       |
| MCDLXXIV        |
| MCDLXXV         |
| MCDLXXVI        |
| MCDLXXVII       |
| MCDLXXVIII      |
| MCDLXXIX        |
| MCDLXXX         |
| MCDLXXXI        |
| MCDLXXXII       |
| MCDLXXXIII      |
| MCDLXXXIV       |
| MCDLXXXV        |
| MCDLXXXVI       |
| MCDLXXXVII      |
| MCDLXXXVIII     |
| MCDLXXXIX       |
| MCDXC           |
| MCDXCI          |
| MCDXCII         |
| MCDXCIII        |
| MCDXCIV         |
| MCDXCV          |
| MCDXCVI         |
| MCDXCVII        |
| MCDXCVIII       |
| MCDXCIX         |
| MD              |
| MDI             |
| MDII            |
| MDIII           |
| MDIV            |
| MDV             |
| MDVI            |
| MDVII           |
| MDVIII          |
| MDIX            |
| MDX             |
| MDXI            |
| MDXII           |
| MDXIII          |
| MDXIV           |
| MDXV            |
| MDXVI           |
| MDXVII          |
| MDXVIII         |
| MDXIX           |
| MDXX            |
| MDXXI           |
| MDXXII          |
| MDXXIII         |
| MDXXIV          |
| MDXXV           |
| MDXXVI          |
| MDXXVII         |
| MDXXVIII        |
| MDXXIX          |
| MDXXX           |
| MDXXXI          |
| MDXXXII         |
| MDXXXIII        |
| MDXXXIV         |
| MDXXXV          |
| MDXXXVI         |
| MDXXXVII        |
| MDXXXVIII       |
| MDXXXIX         |
| MDXL            |
| MDXLI           |
| MDXLII          |
| MDXLIII         |
| MDXLIV          |
| MDXLV           |
| MDXLVI          |
| MDXLVII         |
| MDXLVIII        |
| MDXLIX          |
| MDL             |
| MDLI            |
| MDLII           |
| MDLIII          |
| MDLIV           |
| MDLV            |
| MDLVI           |
| MDLVII          |
| MDLVIII         |
| MDLIX           |
| MDLX            |
| MDLXI           |
| MDLXII          |
| MDLXIII         |
| MDLXIV          |
| MDLXV           |
| MDLXVI          |
| MDLXVII         |
| MDLXVIII        |
| MDLXIX          |
| MDLXX           |
| MDLXXI          |
| MDLXXII         |
| MDLXXIII        |
| MDLXXIV         |
| MDLXXV          |
| MDLXXVI         |
| MDLXXVII        |
| MDLXXVIII       |
| MDLXXIX         |
| MDLXXX          |
| MDLXXXI         |
| MDLXXXII        |
| MDLXXXIII       |
| MDLXXXIV        |
| MDLXXXV         |
| MDLXXXVI        |
| MDLXXXVII       |
| MDLXXXVIII      |
| MDLXXXIX        |
| MDXC            |
| MDXCI           |
| MDXCII          |
| MDXCIII         |
| MDXCIV          |
| MDXCV           |
| MDXCVI          |
| MDXCVII         |
| MDXCVIII        |
| MDXCIX          |
| MDC             |
| MDCI            |
| MDCII           |
| MDCIII          |
| MDCIV           |
| MDCV            |
| MDCVI           |
| MDCVII          |
| MDCVIII         |
| MDCIX           |
| MDCX            |
| MDCXI           |
| MDCXII          |
| MDCXIII         |
| MDCXIV          |
| MDCXV           |
| MDCXVI          |
| MDCXVII         |
| MDCXVIII        |
| MDCXIX          |
| MDCXX           |
| MDCXXI          |
| MDCXXII         |
| MDCXXIII        |
| MDCXXIV         |
| MDCXXV          |
| MDCXXVI         |
| MDCXXVII        |
| MDCXXVIII       |
| MDCXXIX         |
| MDCXXX          |
| MDCXXXI         |
| MDCXXXII        |
| MDCXXXIII       |
| MDCXXXIV        |
| MDCXXXV         |
| MDCXXXVI        |
| MDCXXXVII       |
| MDCXXXVIII      |
| MDCXXXIX        |
| MDCXL           |
| MDCXLI          |
| MDCXLII         |
| MDCXLIII        |
| MDCXLIV         |
| MDCXLV          |
| MDCXLVI         |
| MDCXLVII        |
| MDCXLVIII       |
| MDCXLIX         |
| MDCL            |
| MDCLI           |
| MDCLII          |
| MDCLIII         |
| MDCLIV          |
| MDCLV           |
| MDCLVI          |
| MDCLVII         |
| MDCLVIII        |
| MDCLIX          |
| MDCLX           |
| MDCLXI          |
| MDCLXII         |
| MDCLXIII        |
| MDCLXIV         |
| MDCLXV          |
| MDCLXVI         |
| MDCLXVII        |
| MDCLXVIII       |
| MDCLXIX         |
| MDCLXX          |
| MDCLXXI         |
| MDCLXXII        |
| MDCLXXIII       |
| MDCLXXIV        |
| MDCLXXV         |
| MDCLXXVI        |
| MDCLXXVII       |
| MDCLXXVIII      |
| MDCLXXIX        |
| MDCLXXX         |
| MDCLXXXI        |
| MDCLXXXII       |
| MDCLXXXIII      |
| MDCLXXXIV       |
| MDCLXXXV        |
| MDCLXXXVI       |
| MDCLXXXVII      |
| MDCLXXXVIII     |
| MDCLXXXIX       |
| MDCXC           |
| MDCXCI          |
| MDCXCII         |
| MDCXCIII        |
| MDCXCIV         |
| MDCXCV          |
| MDCXCVI         |
| MDCXCVII        |
| MDCXCVIII       |
| MDCXCIX         |
| MDCC            |
| MDCCI           |
| MDCCII          |
| MDCCIII         |
| MDCCIV          |
| MDCCV           |
| MDCCVI          |
| MDCCVII         |
| MDCCVIII        |
| MDCCIX          |
| MDCCX           |
| MDCCXI          |
| MDCCXII         |
| MDCCXIII        |
| MDCCXIV         |
| MDCCXV          |
| MDCCXVI         |
| MDCCXVII        |
| MDCCXVIII       |
| MDCCXIX         |
| MDCCXX          |
| MDCCXXI         |
| MDCCXXII        |
| MDCCXXIII       |
| MDCCXXIV        |
| MDCCXXV         |
| MDCCXXVI        |
| MDCCXXVII       |
| MDCCXXVIII      |
| MDCCXXIX        |
| MDCCXXX         |
| MDCCXXXI        |
| MDCCXXXII       |
| MDCCXXXIII      |
| MDCCXXXIV       |
| MDCCXXXV        |
| MDCCXXXVI       |
| MDCCXXXVII      |
| MDCCXXXVIII     |
| MDCCXXXIX       |
| MDCCXL          |
| MDCCXLI         |
| MDCCXLII        |
| MDCCXLIII       |
| MDCCXLIV        |
| MDCCXLV         |
| MDCCXLVI        |
| MDCCXLVII       |
| MDCCXLVIII      |
| MDCCXLIX        |
| MDCCL           |
| MDCCLI          |
| MDCCLII         |
| MDCCLIII        |
| MDCCLIV         |
| MDCCLV          |
| MDCCLVI         |
| MDCCLVII        |
| MDCCLVIII       |
| MDCCLIX         |
| MDCCLX          |
| MDCCLXI         |
| MDCCLXII        |
| MDCCLXIII       |
| MDCCLXIV        |
| MDCCLXV         |
| MDCCLXVI        |
| MDCCLXVII       |
| MDCCLXVIII      |
| MDCCLXIX        |
| MDCCLXX         |
| MDCCLXXI        |
| MDCCLXXII       |
| MDCCLXXIII      |
| MDCCLXXIV       |
| MDCCLXXV        |
| MDCCLXXVI       |
| MDCCLXXVII      |
| MDCCLXXVIII     |
| MDCCLXXIX       |
| MDCCLXXX        |
| MDCCLXXXI       |
| MDCCLXXXII      |
| MDCCLXXXIII     |
| MDCCLXXXIV      |
| MDCCLXXXV       |
| MDCCLXXXVI      |
| MDCCLXXXVII     |
| MDCCLXXXVIII    |
| MDCCLXXXIX      |
| MDCCXC          |
| MDCCXCI         |
| MDCCXCII        |
| MDCCXCIII       |
| MDCCXCIV        |
| MDCCXCV         |
| MDCCXCVI        |
| MDCCXCVII       |
| MDCCXCVIII      |
| MDCCXCIX        |
| MDCCC           |
| MDCCCI          |
| MDCCCII         |
| MDCCCIII        |
| MDCCCIV         |
| MDCCCV          |
| MDCCCVI         |
| MDCCCVII        |
| MDCCCVIII       |
| MDCCCIX         |
| MDCCCX          |
| MDCCCXI         |
| MDCCCXII        |
| MDCCCXIII       |
| MDCCCXIV        |
| MDCCCXV         |
| MDCCCXVI        |
| MDCCCXVII       |
| MDCCCXVIII      |
| MDCCCXIX        |
| MDCCCXX         |
| MDCCCXXI        |
| MDCCCXXII       |
| MDCCCXXIII      |
| MDCCCXXIV       |
| MDCCCXXV        |
| MDCCCXXVI       |
| MDCCCXXVII      |
| MDCCCXXVIII     |
| MDCCCXXIX       |
| MDCCCXXX        |
| MDCCCXXXI       |
| MDCCCXXXII      |
| MDCCCXXXIII     |
| MDCCCXXXIV      |
| MDCCCXXXV       |
| MDCCCXXXVI      |
| MDCCCXXXVII     |
| MDCCCXXXVIII    |
| MDCCCXXXIX      |
| MDCCCXL         |
| MDCCCXLI        |
| MDCCCXLII       |
| MDCCCXLIII      |
| MDCCCXLIV       |
| MDCCCXLV        |
| MDCCCXLVI       |
| MDCCCXLVII      |
| MDCCCXLVIII     |
| MDCCCXLIX       |
| MDCCCL          |
| MDCCCLI         |
| MDCCCLII        |
| MDCCCLIII       |
| MDCCCLIV        |
| MDCCCLV         |
| MDCCCLVI        |
| MDCCCLVII       |
| MDCCCLVIII      |
| MDCCCLIX        |
| MDCCCLX         |
| MDCCCLXI        |
| MDCCCLXII       |
| MDCCCLXIII      |
| MDCCCLXIV       |
| MDCCCLXV        |
| MDCCCLXVI       |
| MDCCCLXVII      |
| MDCCCLXVIII     |
| MDCCCLXIX       |
| MDCCCLXX        |
| MDCCCLXXI       |
| MDCCCLXXII      |
| MDCCCLXXIII     |
| MDCCCLXXIV      |
| MDCCCLXXV       |
| MDCCCLXXVI      |
| MDCCCLXXVII     |
| MDCCCLXXVIII    |
| MDCCCLXXIX      |
| MDCCCLXXX       |
| MDCCCLXXXI      |
| MDCCCLXXXII     |
| MDCCCLXXXIII    |
| MDCCCLXXXIV     |
| MDCCCLXXXV      |
| MDCCCLXXXVI     |
| MDCCCLXXXVII    |
| MDCCCLXXXVIII   |
| MDCCCLXXXIX     |
| MDCCCXC         |
| MDCCCXCI        |
| MDCCCXCII       |
| MDCCCXCIII      |
| MDCCCXCIV       |
| MDCCCXCV        |
| MDCCCXCVI       |
| MDCCCXCVII      |
| MDCCCXCVIII     |
| MDCCCXCIX       |
| MCM             |
| MCMI            |
| MCMII           |
| MCMIII          |
| MCMIV           |
| MCMV            |
| MCMVI           |
| MCMVII          |
| MCMVIII         |
| MCMIX           |
| MCMX            |
| MCMXI           |
| MCMXII          |
| MCMXIII         |
| MCMXIV          |
| MCMXV           |
| MCMXVI          |
| MCMXVII         |
| MCMXVIII        |
| MCMXIX          |
| MCMXX           |
| MCMXXI          |
| MCMXXII         |
| MCMXXIII        |
| MCMXXIV         |
| MCMXXV          |
| MCMXXVI         |
| MCMXXVII        |
| MCMXXVIII       |
| MCMXXIX         |
| MCMXXX          |
| MCMXXXI         |
| MCMXXXII        |
| MCMXXXIII       |
| MCMXXXIV        |
| MCMXXXV         |
| MCMXXXVI        |
| MCMXXXVII       |
| MCMXXXVIII      |
| MCMXXXIX        |
| MCMXL           |
| MCMXLI          |
| MCMXLII         |
| MCMXLIII        |
| MCMXLIV         |
| MCMXLV          |
| MCMXLVI         |
| MCMXLVII        |
| MCMXLVIII       |
| MCMXLIX         |
| MCML            |
| MCMLI           |
| MCMLII          |
| MCMLIII         |
| MCMLIV          |
| MCMLV           |
| MCMLVI          |
| MCMLVII         |
| MCMLVIII        |
| MCMLIX          |
| MCMLX           |
| MCMLXI          |
| MCMLXII         |
| MCMLXIII        |
| MCMLXIV         |
| MCMLXV          |
| MCMLXVI         |
| MCMLXVII        |
| MCMLXVIII       |
| MCMLXIX         |
| MCMLXX          |
| MCMLXXI         |
| MCMLXXII        |
| MCMLXXIII       |
| MCMLXXIV        |
| MCMLXXV         |
| MCMLXXVI        |
| MCMLXXVII       |
| MCMLXXVIII      |
| MCMLXXIX        |
| MCMLXXX         |
| MCMLXXXI        |
| MCMLXXXII       |
| MCMLXXXIII      |
| MCMLXXXIV       |
| MCMLXXXV        |
| MCMLXXXVI       |
| MCMLXXXVII      |
| MCMLXXXVIII     |
| MCMLXXXIX       |
| MCMXC           |
| MCMXCI          |
| MCMXCII         |
| MCMXCIII        |
| MCMXCIV         |
| MCMXCV          |
| MCMXCVI         |
| MCMXCVII        |
| MCMXCVIII       |
| MCMXCIX         |
| MM              |
| MMI             |
| MMII            |
| MMIII           |
| MMIV            |
| MMV             |
| MMVI            |
| MMVII           |
| MMVIII          |
| MMIX            |
| MMX             |
| MMXI            |
| MMXII           |
| MMXIII          |
| MMXIV           |
| MMXV            |
| MMXVI           |
| MMXVII          |
| MMXVIII         |
| MMXIX           |
| MMXX            |
| MMXXI           |
| MMXXII          |
| MMXXIII         |
| MMXXIV          |
| MMXXV           |
| MMXXVI          |
| MMXXVII         |
| MMXXVIII        |
| MMXXIX          |
| MMXXX           |
| MMXXXI          |
| MMXXXII         |
| MMXXXIII        |
| MMXXXIV         |
| MMXXXV          |
| MMXXXVI         |
| MMXXXVII        |
| MMXXXVIII       |
| MMXXXIX         |
| MMXL            |
| MMXLI           |
| MMXLII          |
| MMXLIII         |
| MMXLIV          |
| MMXLV           |
| MMXLVI          |
| MMXLVII         |
| MMXLVIII        |
| MMXLIX          |
| MML             |
| MMLI            |
| MMLII           |
| MMLIII          |
| MMLIV           |
| MMLV            |
| MMLVI           |
| MMLVII          |
| MMLVIII         |
| MMLIX           |
| MMLX            |
| MMLXI           |
| MMLXII          |
| MMLXIII         |
| MMLXIV          |
| MMLXV           |
| MMLXVI          |
| MMLXVII         |
| MMLXVIII        |
| MMLXIX          |
| MMLXX           |
| MMLXXI          |
| MMLXXII         |
| MMLXXIII        |
| MMLXXIV         |
| MMLXXV          |
| MMLXXVI         |
| MMLXXVII        |
| MMLXXVIII       |
| MMLXXIX         |
| MMLXXX          |
| MMLXXXI         |
| MMLXXXII        |
| MMLXXXIII       |
| MMLXXXIV        |
| MMLXXXV         |
| MMLXXXVI        |
| MMLXXXVII       |
| MMLXXXVIII      |
| MMLXXXIX        |
| MMXC            |
| MMXCI           |
| MMXCII          |
| MMXCIII         |
| MMXCIV          |
| MMXCV           |
| MMXCVI          |
| MMXCVII         |
| MMXCVIII        |
| MMXCIX          |
| MMC             |
| MMCI            |
| MMCII           |
| MMCIII          |
| MMCIV           |
| MMCV            |
| MMCVI           |
| MMCVII          |
| MMCVIII         |
| MMCIX           |
| MMCX            |
| MMCXI           |
| MMCXII          |
| MMCXIII         |
| MMCXIV          |
| MMCXV           |
| MMCXVI          |
| MMCXVII         |
| MMCXVIII        |
| MMCXIX          |
| MMCXX           |
| MMCXXI          |
| MMCXXII         |
| MMCXXIII        |
| MMCXXIV         |
| MMCXXV          |
| MMCXXVI         |
| MMCXXVII        |
| MMCXXVIII       |
| MMCXXIX         |
| MMCXXX          |
| MMCXXXI         |
| MMCXXXII        |
| MMCXXXIII       |
| MMCXXXIV        |
| MMCXXXV         |
| MMCXXXVI        |
| MMCXXXVII       |
| MMCXXXVIII      |
| MMCXXXIX        |
| MMCXL           |
| MMCXLI          |
| MMCXLII         |
| MMCXLIII        |
| MMCXLIV         |
| MMCXLV          |
| MMCXLVI         |
| MMCXLVII        |
| MMCXLVIII       |
| MMCXLIX         |
| MMCL            |
| MMCLI           |
| MMCLII          |
| MMCLIII         |
| MMCLIV          |
| MMCLV           |
| MMCLVI          |
| MMCLVII         |
| MMCLVIII        |
| MMCLIX          |
| MMCLX           |
| MMCLXI          |
| MMCLXII         |
| MMCLXIII        |
| MMCLXIV         |
| MMCLXV          |
| MMCLXVI         |
| MMCLXVII        |
| MMCLXVIII       |
| MMCLXIX         |
| MMCLXX          |
| MMCLXXI         |
| MMCLXXII        |
| MMCLXXIII       |
| MMCLXXIV        |
| MMCLXXV         |
| MMCLXXVI        |
| MMCLXXVII       |
| MMCLXXVIII      |
| MMCLXXIX        |
| MMCLXXX         |
| MMCLXXXI        |
| MMCLXXXII       |
| MMCLXXXIII      |
| MMCLXXXIV       |
| MMCLXXXV        |
| MMCLXXXVI       |
| MMCLXXXVII      |
| MMCLXXXVIII     |
| MMCLXXXIX       |
| MMCXC           |
| MMCXCI          |
| MMCXCII         |
| MMCXCIII        |
| MMCXCIV         |
| MMCXCV          |
| MMCXCVI         |
| MMCXCVII        |
| MMCXCVIII       |
| MMCXCIX         |
| MMCC            |
| MMCCI           |
| MMCCII          |
| MMCCIII         |
| MMCCIV          |
| MMCCV           |
| MMCCVI          |
| MMCCVII         |
| MMCCVIII        |
| MMCCIX          |
| MMCCX           |
| MMCCXI          |
| MMCCXII         |
| MMCCXIII        |
| MMCCXIV         |
| MMCCXV          |
| MMCCXVI         |
| MMCCXVII        |
| MMCCXVIII       |
| MMCCXIX         |
| MMCCXX          |
| MMCCXXI         |
| MMCCXXII        |
| MMCCXXIII       |
| MMCCXXIV        |
| MMCCXXV         |
| MMCCXXVI        |
| MMCCXXVII       |
| MMCCXXVIII      |
| MMCCXXIX        |
| MMCCXXX         |
| MMCCXXXI        |
| MMCCXXXII       |
| MMCCXXXIII      |
| MMCCXXXIV       |
| MMCCXXXV        |
| MMCCXXXVI       |
| MMCCXXXVII      |
| MMCCXXXVIII     |
| MMCCXXXIX       |
| MMCCXL          |
| MMCCXLI         |
| MMCCXLII        |
| MMCCXLIII       |
| MMCCXLIV        |
| MMCCXLV         |
| MMCCXLVI        |
| MMCCXLVII       |
| MMCCXLVIII      |
| MMCCXLIX        |
| MMCCL           |
| MMCCLI          |
| MMCCLII         |
| MMCCLIII        |
| MMCCLIV         |
| MMCCLV          |
| MMCCLVI         |
| MMCCLVII        |
| MMCCLVIII       |
| MMCCLIX         |
| MMCCLX          |
| MMCCLXI         |
| MMCCLXII        |
| MMCCLXIII       |
| MMCCLXIV        |
| MMCCLXV         |
| MMCCLXVI        |
| MMCCLXVII       |
| MMCCLXVIII      |
| MMCCLXIX        |
| MMCCLXX         |
| MMCCLXXI        |
| MMCCLXXII       |
| MMCCLXXIII      |
| MMCCLXXIV       |
| MMCCLXXV        |
| MMCCLXXVI       |
| MMCCLXXVII      |
| MMCCLXXVIII     |
| MMCCLXXIX       |
| MMCCLXXX        |
| MMCCLXXXI       |
| MMCCLXXXII      |
| MMCCLXXXIII     |
| MMCCLXXXIV      |
| MMCCLXXXV       |
| MMCCLXXXVI      |
| MMCCLXXXVII     |
| MMCCLXXXVIII    |
| MMCCLXXXIX      |
| MMCCXC          |
| MMCCXCI         |
| MMCCXCII        |
| MMCCXCIII       |
| MMCCXCIV        |
| MMCCXCV         |
| MMCCXCVI        |
| MMCCXCVII       |
| MMCCXCVIII      |
| MMCCXCIX        |
| MMCCC           |
| MMCCCI          |
| MMCCCII         |
| MMCCCIII        |
| MMCCCIV         |
| MMCCCV          |
| MMCCCVI         |
| MMCCCVII        |
| MMCCCVIII       |
| MMCCCIX         |
| MMCCCX          |
| MMCCCXI         |
| MMCCCXII        |
| MMCCCXIII       |
| MMCCCXIV        |
| MMCCCXV         |
| MMCCCXVI        |
| MMCCCXVII       |
| MMCCCXVIII      |
| MMCCCXIX        |
| MMCCCXX         |
| MMCCCXXI        |
| MMCCCXXII       |
| MMCCCXXIII      |
| MMCCCXXIV       |
| MMCCCXXV        |
| MMCCCXXVI       |
| MMCCCXXVII      |
| MMCCCXXVIII     |
| MMCCCXXIX       |
| MMCCCXXX        |
| MMCCCXXXI       |
| MMCCCXXXII      |
| MMCCCXXXIII     |
| MMCCCXXXIV      |
| MMCCCXXXV       |
| MMCCCXXXVI      |
| MMCCCXXXVII     |
| MMCCCXXXVIII    |
| MMCCCXXXIX      |
| MMCCCXL         |
| MMCCCXLI        |
| MMCCCXLII       |
| MMCCCXLIII      |
| MMCCCXLIV       |
| MMCCCXLV        |
| MMCCCXLVI       |
| MMCCCXLVII      |
| MMCCCXLVIII     |
| MMCCCXLIX       |
| MMCCCL          |
| MMCCCLI         |
| MMCCCLII        |
| MMCCCLIII       |
| MMCCCLIV        |
| MMCCCLV         |
| MMCCCLVI        |
| MMCCCLVII       |
| MMCCCLVIII      |
| MMCCCLIX        |
| MMCCCLX         |
| MMCCCLXI        |
| MMCCCLXII       |
| MMCCCLXIII      |
| MMCCCLXIV       |
| MMCCCLXV        |
| MMCCCLXVI       |
| MMCCCLXVII      |
| MMCCCLXVIII     |
| MMCCCLXIX       |
| MMCCCLXX        |
| MMCCCLXXI       |
| MMCCCLXXII      |
| MMCCCLXXIII     |
| MMCCCLXXIV      |
| MMCCCLXXV       |
| MMCCCLXXVI      |
| MMCCCLXXVII     |
| MMCCCLXXVIII    |
| MMCCCLXXIX      |
| MMCCCLXXX       |
| MMCCCLXXXI      |
| MMCCCLXXXII     |
| MMCCCLXXXIII    |
| MMCCCLXXXIV     |
| MMCCCLXXXV      |
| MMCCCLXXXVI     |
| MMCCCLXXXVII    |
| MMCCCLXXXVIII   |
| MMCCCLXXXIX     |
| MMCCCXC         |
| MMCCCXCI        |
| MMCCCXCII       |
| MMCCCXCIII      |
| MMCCCXCIV       |
| MMCCCXCV        |
| MMCCCXCVI       |
| MMCCCXCVII      |
| MMCCCXCVIII     |
| MMCCCXCIX       |
| MMCD            |
| MMCDI           |
| MMCDII          |
| MMCDIII         |
| MMCDIV          |
| MMCDV           |
| MMCDVI          |
| MMCDVII         |
| MMCDVIII        |
| MMCDIX          |
| MMCDX           |
| MMCDXI          |
| MMCDXII         |
| MMCDXIII        |
| MMCDXIV         |
| MMCDXV          |
| MMCDXVI         |
| MMCDXVII        |
| MMCDXVIII       |
| MMCDXIX         |
| MMCDXX          |
| MMCDXXI         |
| MMCDXXII        |
| MMCDXXIII       |
| MMCDXXIV        |
| MMCDXXV         |
| MMCDXXVI        |
| MMCDXXVII       |
| MMCDXXVIII      |
| MMCDXXIX        |
| MMCDXXX         |
| MMCDXXXI        |
| MMCDXXXII       |
| MMCDXXXIII      |
| MMCDXXXIV       |
| MMCDXXXV        |
| MMCDXXXVI       |
| MMCDXXXVII      |
| MMCDXXXVIII     |
| MMCDXXXIX       |
| MMCDXL          |
| MMCDXLI         |
| MMCDXLII        |
| MMCDXLIII       |
| MMCDXLIV        |
| MMCDXLV         |
| MMCDXLVI        |
| MMCDXLVII       |
| MMCDXLVIII      |
| MMCDXLIX        |
| MMCDL           |
| MMCDLI          |
| MMCDLII         |
| MMCDLIII        |
| MMCDLIV         |
| MMCDLV          |
| MMCDLVI         |
| MMCDLVII        |
| MMCDLVIII       |
| MMCDLIX         |
| MMCDLX          |
| MMCDLXI         |
| MMCDLXII        |
| MMCDLXIII       |
| MMCDLXIV        |
| MMCDLXV         |
| MMCDLXVI        |
| MMCDLXVII       |
| MMCDLXVIII      |
| MMCDLXIX        |
| MMCDLXX         |
| MMCDLXXI        |
| MMCDLXXII       |
| MMCDLXXIII      |
| MMCDLXXIV       |
| MMCDLXXV        |
| MMCDLXXVI       |
| MMCDLXXVII      |
| MMCDLXXVIII     |
| MMCDLXXIX       |
| MMCDLXXX        |
| MMCDLXXXI       |
| MMCDLXXXII      |
| MMCDLXXXIII     |
| MMCDLXXXIV      |
| MMCDLXXXV       |
| MMCDLXXXVI      |
| MMCDLXXXVII     |
| MMCDLXXXVIII    |
| MMCDLXXXIX      |
| MMCDXC          |
| MMCDXCI         |
| MMCDXCII        |
| MMCDXCIII       |
| MMCDXCIV        |
| MMCDXCV         |
| MMCDXCVI        |
| MMCDXCVII       |
| MMCDXCVIII      |
| MMCDXCIX        |
| MMD             |
| MMDI            |
| MMDII           |
| MMDIII          |
| MMDIV           |
| MMDV            |
| MMDVI           |
| MMDVII          |
| MMDVIII         |
| MMDIX           |
| MMDX            |
| MMDXI           |
| MMDXII          |
| MMDXIII         |
| MMDXIV          |
| MMDXV           |
| MMDXVI          |
| MMDXVII         |
| MMDXVIII        |
| MMDXIX          |
| MMDXX           |
| MMDXXI          |
| MMDXXII         |
| MMDXXIII        |
| MMDXXIV         |
| MMDXXV          |
| MMDXXVI         |
| MMDXXVII        |
| MMDXXVIII       |
| MMDXXIX         |
| MMDXXX          |
| MMDXXXI         |
| MMDXXXII        |
| MMDXXXIII       |
| MMDXXXIV        |
| MMDXXXV         |
| MMDXXXVI        |
| MMDXXXVII       |
| MMDXXXVIII      |
| MMDXXXIX        |
| MMDXL           |
| MMDXLI          |
| MMDXLII         |
| MMDXLIII        |
| MMDXLIV         |
| MMDXLV          |
| MMDXLVI         |
| MMDXLVII        |
| MMDXLVIII       |
| MMDXLIX         |
| MMDL            |
| MMDLI           |
| MMDLII          |
| MMDLIII         |
| MMDLIV          |
| MMDLV           |
| MMDLVI          |
| MMDLVII         |
| MMDLVIII        |
| MMDLIX          |
| MMDLX           |
| MMDLXI          |
| MMDLXII         |
| MMDLXIII        |
| MMDLXIV         |
| MMDLXV          |
| MMDLXVI         |
| MMDLXVII        |
| MMDLXVIII       |
| MMDLXIX         |
| MMDLXX          |
| MMDLXXI         |
| MMDLXXII        |
| MMDLXXIII       |
| MMDLXXIV        |
| MMDLXXV         |
| MMDLXXVI        |
| MMDLXXVII       |
| MMDLXXVIII      |
| MMDLXXIX        |
| MMDLXXX         |
| MMDLXXXI        |
| MMDLXXXII       |
| MMDLXXXIII      |
| MMDLXXXIV       |
| MMDLXXXV        |
| MMDLXXXVI       |
| MMDLXXXVII      |
| MMDLXXXVIII     |
| MMDLXXXIX       |
| MMDXC           |
| MMDXCI          |
| MMDXCII         |
| MMDXCIII        |
| MMDXCIV         |
| MMDXCV          |
| MMDXCVI         |
| MMDXCVII        |
| MMDXCVIII       |
| MMDXCIX         |
| MMDC            |
| MMDCI           |
| MMDCII          |
| MMDCIII         |
| MMDCIV          |
| MMDCV           |
| MMDCVI          |
| MMDCVII         |
| MMDCVIII        |
| MMDCIX          |
| MMDCX           |
| MMDCXI          |
| MMDCXII         |
| MMDCXIII        |
| MMDCXIV         |
| MMDCXV          |
| MMDCXVI         |
| MMDCXVII        |
| MMDCXVIII       |
| MMDCXIX         |
| MMDCXX          |
| MMDCXXI         |
| MMDCXXII        |
| MMDCXXIII       |
| MMDCXXIV        |
| MMDCXXV         |
| MMDCXXVI        |
| MMDCXXVII       |
| MMDCXXVIII      |
| MMDCXXIX        |
| MMDCXXX         |
| MMDCXXXI        |
| MMDCXXXII       |
| MMDCXXXIII      |
| MMDCXXXIV       |
| MMDCXXXV        |
| MMDCXXXVI       |
| MMDCXXXVII      |
| MMDCXXXVIII     |
| MMDCXXXIX       |
| MMDCXL          |
| MMDCXLI         |
| MMDCXLII        |
| MMDCXLIII       |
| MMDCXLIV        |
| MMDCXLV         |
| MMDCXLVI        |
| MMDCXLVII       |
| MMDCXLVIII      |
| MMDCXLIX        |
| MMDCL           |
| MMDCLI          |
| MMDCLII         |
| MMDCLIII        |
| MMDCLIV         |
| MMDCLV          |
| MMDCLVI         |
| MMDCLVII        |
| MMDCLVIII       |
| MMDCLIX         |
| MMDCLX          |
| MMDCLXI         |
| MMDCLXII        |
| MMDCLXIII       |
| MMDCLXIV        |
| MMDCLXV         |
| MMDCLXVI        |
| MMDCLXVII       |
| MMDCLXVIII      |
| MMDCLXIX        |
| MMDCLXX         |
| MMDCLXXI        |
| MMDCLXXII       |
| MMDCLXXIII      |
| MMDCLXXIV       |
| MMDCLXXV        |
| MMDCLXXVI       |
| MMDCLXXVII      |
| MMDCLXXVIII     |
| MMDCLXXIX       |
| MMDCLXXX        |
| MMDCLXXXI       |
| MMDCLXXXII      |
| MMDCLXXXIII     |
| MMDCLXXXIV      |
| MMDCLXXXV       |
| MMDCLXXXVI      |
| MMDCLXXXVII     |
| MMDCLXXXVIII    |
| MMDCLXXXIX      |
| MMDCXC          |
| MMDCXCI         |
| MMDCXCII        |
| MMDCXCIII       |
| MMDCXCIV        |
| MMDCXCV         |
| MMDCXCVI        |
| MMDCXCVII       |
| MMDCXCVIII      |
| MMDCXCIX        |
| MMDCC           |
| MMDCCI          |
| MMDCCII         |
| MMDCCIII        |
| MMDCCIV         |
| MMDCCV          |
| MMDCCVI         |
| MMDCCVII        |
| MMDCCVIII       |
| MMDCCIX         |
| MMDCCX          |
| MMDCCXI         |
| MMDCCXII        |
| MMDCCXIII       |
| MMDCCXIV        |
| MMDCCXV         |
| MMDCCXVI        |
| MMDCCXVII       |
| MMDCCXVIII      |
| MMDCCXIX        |
| MMDCCXX         |
| MMDCCXXI        |
| MMDCCXXII       |
| MMDCCXXIII      |
| MMDCCXXIV       |
| MMDCCXXV        |
| MMDCCXXVI       |
| MMDCCXXVII      |
| MMDCCXXVIII     |
| MMDCCXXIX       |
| MMDCCXXX        |
| MMDCCXXXI       |
| MMDCCXXXII      |
| MMDCCXXXIII     |
| MMDCCXXXIV      |
| MMDCCXXXV       |
| MMDCCXXXVI      |
| MMDCCXXXVII     |
| MMDCCXXXVIII    |
| MMDCCXXXIX      |
| MMDCCXL         |
| MMDCCXLI        |
| MMDCCXLII       |
| MMDCCXLIII      |
| MMDCCXLIV       |
| MMDCCXLV        |
| MMDCCXLVI       |
| MMDCCXLVII      |
| MMDCCXLVIII     |
| MMDCCXLIX       |
| MMDCCL          |
| MMDCCLI         |
| MMDCCLII        |
| MMDCCLIII       |
| MMDCCLIV        |
| MMDCCLV         |
| MMDCCLVI        |
| MMDCCLVII       |
| MMDCCLVIII      |
| MMDCCLIX        |
| MMDCCLX         |
| MMDCCLXI        |
| MMDCCLXII       |
| MMDCCLXIII      |
| MMDCCLXIV       |
| MMDCCLXV        |
| MMDCCLXVI       |
| MMDCCLXVII      |
| MMDCCLXVIII     |
| MMDCCLXIX       |
| MMDCCLXX        |
| MMDCCLXXI       |
| MMDCCLXXII      |
| MMDCCLXXIII     |
| MMDCCLXXIV      |
| MMDCCLXXV       |
| MMDCCLXXVI      |
| MMDCCLXXVII     |
| MMDCCLXXVIII    |
| MMDCCLXXIX      |
| MMDCCLXXX       |
| MMDCCLXXXI      |
| MMDCCLXXXII     |
| MMDCCLXXXIII    |
| MMDCCLXXXIV     |
| MMDCCLXXXV      |
| MMDCCLXXXVI     |
| MMDCCLXXXVII    |
| MMDCCLXXXVIII   |
| MMDCCLXXXIX     |
| MMDCCXC         |
| MMDCCXCI        |
| MMDCCXCII       |
| MMDCCXCIII      |
| MMDCCXCIV       |
| MMDCCXCV        |
| MMDCCXCVI       |
| MMDCCXCVII      |
| MMDCCXCVIII     |
| MMDCCXCIX       |
| MMDCCC          |
| MMDCCCI         |
| MMDCCCII        |
| MMDCCCIII       |
| MMDCCCIV        |
| MMDCCCV         |
| MMDCCCVI        |
| MMDCCCVII       |
| MMDCCCVIII      |
| MMDCCCIX        |
| MMDCCCX         |
| MMDCCCXI        |
| MMDCCCXII       |
| MMDCCCXIII      |
| MMDCCCXIV       |
| MMDCCCXV        |
| MMDCCCXVI       |
| MMDCCCXVII      |
| MMDCCCXVIII     |
| MMDCCCXIX       |
| MMDCCCXX        |
| MMDCCCXXI       |
| MMDCCCXXII      |
| MMDCCCXXIII     |
| MMDCCCXXIV      |
| MMDCCCXXV       |
| MMDCCCXXVI      |
| MMDCCCXXVII     |
| MMDCCCXXVIII    |
| MMDCCCXXIX      |
| MMDCCCXXX       |
| MMDCCCXXXI      |
| MMDCCCXXXII     |
| MMDCCCXXXIII    |
| MMDCCCXXXIV     |
| MMDCCCXXXV      |
| MMDCCCXXXVI     |
| MMDCCCXXXVII    |
| MMDCCCXXXVIII   |
| MMDCCCXXXIX     |
| MMDCCCXL        |
| MMDCCCXLI       |
| MMDCCCXLII      |
| MMDCCCXLIII     |
| MMDCCCXLIV      |
| MMDCCCXLV       |
| MMDCCCXLVI      |
| MMDCCCXLVII     |
| MMDCCCXLVIII    |
| MMDCCCXLIX      |
| MMDCCCL         |
| MMDCCCLI        |
| MMDCCCLII       |
| MMDCCCLIII      |
| MMDCCCLIV       |
| MMDCCCLV        |
| MMDCCCLVI       |
| MMDCCCLVII      |
| MMDCCCLVIII     |
| MMDCCCLIX       |
| MMDCCCLX        |
| MMDCCCLXI       |
| MMDCCCLXII      |
| MMDCCCLXIII     |
| MMDCCCLXIV      |
| MMDCCCLXV       |
| MMDCCCLXVI      |
| MMDCCCLXVII     |
| MMDCCCLXVIII    |
| MMDCCCLXIX      |
| MMDCCCLXX       |
| MMDCCCLXXI      |
| MMDCCCLXXII     |
| MMDCCCLXXIII    |
| MMDCCCLXXIV     |
| MMDCCCLXXV      |
| MMDCCCLXXVI     |
| MMDCCCLXXVII    |
| MMDCCCLXXVIII   |
| MMDCCCLXXIX     |
| MMDCCCLXXX      |
| MMDCCCLXXXI     |
| MMDCCCLXXXII    |
| MMDCCCLXXXIII   |
| MMDCCCLXXXIV    |
| MMDCCCLXXXV     |
| MMDCCCLXXXVI    |
| MMDCCCLXXXVII   |
| MMDCCCLXXXVIII  |
| MMDCCCLXXXIX    |
| MMDCCCXC        |
| MMDCCCXCI       |
| MMDCCCXCII      |
| MMDCCCXCIII     |
| MMDCCCXCIV      |
| MMDCCCXCV       |
| MMDCCCXCVI      |
| MMDCCCXCVII     |
| MMDCCCXCVIII    |
| MMDCCCXCIX      |
| MMCM            |
| MMCMI           |
| MMCMII          |
| MMCMIII         |
| MMCMIV          |
| MMCMV           |
| MMCMVI          |
| MMCMVII         |
| MMCMVIII        |
| MMCMIX          |
| MMCMX           |
| MMCMXI          |
| MMCMXII         |
| MMCMXIII        |
| MMCMXIV         |
| MMCMXV          |
| MMCMXVI         |
| MMCMXVII        |
| MMCMXVIII       |
| MMCMXIX         |
| MMCMXX          |
| MMCMXXI         |
| MMCMXXII        |
| MMCMXXIII       |
| MMCMXXIV        |
| MMCMXXV         |
| MMCMXXVI        |
| MMCMXXVII       |
| MMCMXXVIII      |
| MMCMXXIX        |
| MMCMXXX         |
| MMCMXXXI        |
| MMCMXXXII       |
| MMCMXXXIII      |
| MMCMXXXIV       |
| MMCMXXXV        |
| MMCMXXXVI       |
| MMCMXXXVII      |
| MMCMXXXVIII     |
| MMCMXXXIX       |
| MMCMXL          |
| MMCMXLI         |
| MMCMXLII        |
| MMCMXLIII       |
| MMCMXLIV        |
| MMCMXLV         |
| MMCMXLVI        |
| MMCMXLVII       |
| MMCMXLVIII      |
| MMCMXLIX        |
| MMCML           |
| MMCMLI          |
| MMCMLII         |
| MMCMLIII        |
| MMCMLIV         |
| MMCMLV          |
| MMCMLVI         |
| MMCMLVII        |
| MMCMLVIII       |
| MMCMLIX         |
| MMCMLX          |
| MMCMLXI         |
| MMCMLXII        |
| MMCMLXIII       |
| MMCMLXIV        |
| MMCMLXV         |
| MMCMLXVI        |
| MMCMLXVII       |
| MMCMLXVIII      |
| MMCMLXIX        |
| MMCMLXX         |
| MMCMLXXI        |
| MMCMLXXII       |
| MMCMLXXIII      |
| MMCMLXXIV       |
| MMCMLXXV        |
| MMCMLXXVI       |
| MMCMLXXVII      |
| MMCMLXXVIII     |
| MMCMLXXIX       |
| MMCMLXXX        |
| MMCMLXXXI       |
| MMCMLXXXII      |
| MMCMLXXXIII     |
| MMCMLXXXIV      |
| MMCMLXXXV       |
| MMCMLXXXVI      |
| MMCMLXXXVII     |
| MMCMLXXXVIII    |
| MMCMLXXXIX      |
| MMCMXC          |
| MMCMXCI         |
| MMCMXCII        |
| MMCMXCIII       |
| MMCMXCIV        |
| MMCMXCV         |
| MMCMXCVI        |
| MMCMXCVII       |
| MMCMXCVIII      |
| MMCMXCIX        |
| MMM             |
| MMMI            |
| MMMII           |
| MMMIII          |
| MMMIV           |
| MMMV            |
| MMMVI           |
| MMMVII          |
| MMMVIII         |
| MMMIX           |
| MMMX            |
| MMMXI           |
| MMMXII          |
| MMMXIII         |
| MMMXIV          |
| MMMXV           |
| MMMXVI          |
| MMMXVII         |
| MMMXVIII        |
| MMMXIX          |
| MMMXX           |
| MMMXXI          |
| MMMXXII         |
| MMMXXIII        |
| MMMXXIV         |
| MMMXXV          |
| MMMXXVI         |
| MMMXXVII        |
| MMMXXVIII       |
| MMMXXIX         |
| MMMXXX          |
| MMMXXXI         |
| MMMXXXII        |
| MMMXXXIII       |
| MMMXXXIV        |
| MMMXXXV         |
| MMMXXXVI        |
| MMMXXXVII       |
| MMMXXXVIII      |
| MMMXXXIX        |
| MMMXL           |
| MMMXLI          |
| MMMXLII         |
| MMMXLIII        |
| MMMXLIV         |
| MMMXLV          |
| MMMXLVI         |
| MMMXLVII        |
| MMMXLVIII       |
| MMMXLIX         |
| MMML            |
| MMMLI           |
| MMMLII          |
| MMMLIII         |
| MMMLIV          |
| MMMLV           |
| MMMLVI          |
| MMMLVII         |
| MMMLVIII        |
| MMMLIX          |
| MMMLX           |
| MMMLXI          |
| MMMLXII         |
| MMMLXIII        |
| MMMLXIV         |
| MMMLXV          |
| MMMLXVI         |
| MMMLXVII        |
| MMMLXVIII       |
| MMMLXIX         |
| MMMLXX          |
| MMMLXXI         |
| MMMLXXII        |
| MMMLXXIII       |
| MMMLXXIV        |
| MMMLXXV         |
| MMMLXXVI        |
| MMMLXXVII       |
| MMMLXXVIII      |
| MMMLXXIX        |
| MMMLXXX         |
| MMMLXXXI        |
| MMMLXXXII       |
| MMMLXXXIII      |
| MMMLXXXIV       |
| MMMLXXXV        |
| MMMLXXXVI       |
| MMMLXXXVII      |
| MMMLXXXVIII     |
| MMMLXXXIX       |
| MMMXC           |
| MMMXCI          |
| MMMXCII         |
| MMMXCIII        |
| MMMXCIV         |
| MMMXCV          |
| MMMXCVI         |
| MMMXCVII        |
| MMMXCVIII       |
| MMMXCIX         |
| MMMC            |
| MMMCI           |
| MMMCII          |
| MMMCIII         |
| MMMCIV          |
| MMMCV           |
| MMMCVI          |
| MMMCVII         |
| MMMCVIII        |
| MMMCIX          |
| MMMCX           |
| MMMCXI          |
| MMMCXII         |
| MMMCXIII        |
| MMMCXIV         |
| MMMCXV          |
| MMMCXVI         |
| MMMCXVII        |
| MMMCXVIII       |
| MMMCXIX         |
| MMMCXX          |
| MMMCXXI         |
| MMMCXXII        |
| MMMCXXIII       |
| MMMCXXIV        |
| MMMCXXV         |
| MMMCXXVI        |
| MMMCXXVII       |
| MMMCXXVIII      |
| MMMCXXIX        |
| MMMCXXX         |
| MMMCXXXI        |
| MMMCXXXII       |
| MMMCXXXIII      |
| MMMCXXXIV       |
| MMMCXXXV        |
| MMMCXXXVI       |
| MMMCXXXVII      |
| MMMCXXXVIII     |
| MMMCXXXIX       |
| MMMCXL          |
| MMMCXLI         |
| MMMCXLII        |
| MMMCXLIII       |
| MMMCXLIV        |
| MMMCXLV         |
| MMMCXLVI        |
| MMMCXLVII       |
| MMMCXLVIII      |
| MMMCXLIX        |
| MMMCL           |
| MMMCLI          |
| MMMCLII         |
| MMMCLIII        |
| MMMCLIV         |
| MMMCLV          |
| MMMCLVI         |
| MMMCLVII        |
| MMMCLVIII       |
| MMMCLIX         |
| MMMCLX          |
| MMMCLXI         |
| MMMCLXII        |
| MMMCLXIII       |
| MMMCLXIV        |
| MMMCLXV         |
| MMMCLXVI        |
| MMMCLXVII       |
| MMMCLXVIII      |
| MMMCLXIX        |
| MMMCLXX         |
| MMMCLXXI        |
| MMMCLXXII       |
| MMMCLXXIII      |
| MMMCLXXIV       |
| MMMCLXXV        |
| MMMCLXXVI       |
| MMMCLXXVII      |
| MMMCLXXVIII     |
| MMMCLXXIX       |
| MMMCLXXX        |
| MMMCLXXXI       |
| MMMCLXXXII      |
| MMMCLXXXIII     |
| MMMCLXXXIV      |
| MMMCLXXXV       |
| MMMCLXXXVI      |
| MMMCLXXXVII     |
| MMMCLXXXVIII    |
| MMMCLXXXIX      |
| MMMCXC          |
| MMMCXCI         |
| MMMCXCII        |
| MMMCXCIII       |
| MMMCXCIV        |
| MMMCXCV         |
| MMMCXCVI        |
| MMMCXCVII       |
| MMMCXCVIII      |
| MMMCXCIX        |
| MMMCC           |
| MMMCCI          |
| MMMCCII         |
| MMMCCIII        |
| MMMCCIV         |
| MMMCCV          |
| MMMCCVI         |
| MMMCCVII        |
| MMMCCVIII       |
| MMMCCIX         |
| MMMCCX          |
| MMMCCXI         |
| MMMCCXII        |
| MMMCCXIII       |
| MMMCCXIV        |
| MMMCCXV         |
| MMMCCXVI        |
| MMMCCXVII       |
| MMMCCXVIII      |
| MMMCCXIX        |
| MMMCCXX         |
| MMMCCXXI        |
| MMMCCXXII       |
| MMMCCXXIII      |
| MMMCCXXIV       |
| MMMCCXXV        |
| MMMCCXXVI       |
| MMMCCXXVII      |
| MMMCCXXVIII     |
| MMMCCXXIX       |
| MMMCCXXX        |
| MMMCCXXXI       |
| MMMCCXXXII      |
| MMMCCXXXIII     |
| MMMCCXXXIV      |
| MMMCCXXXV       |
| MMMCCXXXVI      |
| MMMCCXXXVII     |
| MMMCCXXXVIII    |
| MMMCCXXXIX      |
| MMMCCXL         |
| MMMCCXLI        |
| MMMCCXLII       |
| MMMCCXLIII      |
| MMMCCXLIV       |
| MMMCCXLV        |
| MMMCCXLVI       |
| MMMCCXLVII      |
| MMMCCXLVIII     |
| MMMCCXLIX       |
| MMMCCL          |
| MMMCCLI         |
| MMMCCLII        |
| MMMCCLIII       |
| MMMCCLIV        |
| MMMCCLV         |
| MMMCCLVI        |
| MMMCCLVII       |
| MMMCCLVIII      |
| MMMCCLIX        |
| MMMCCLX         |
| MMMCCLXI        |
| MMMCCLXII       |
| MMMCCLXIII      |
| MMMCCLXIV       |
| MMMCCLXV        |
| MMMCCLXVI       |
| MMMCCLXVII      |
| MMMCCLXVIII     |
| MMMCCLXIX       |
| MMMCCLXX        |
| MMMCCLXXI       |
| MMMCCLXXII      |
| MMMCCLXXIII     |
| MMMCCLXXIV      |
| MMMCCLXXV       |
| MMMCCLXXVI      |
| MMMCCLXXVII     |
| MMMCCLXXVIII    |
| MMMCCLXXIX      |
| MMMCCLXXX       |
| MMMCCLXXXI      |
| MMMCCLXXXII     |
| MMMCCLXXXIII    |
| MMMCCLXXXIV     |
| MMMCCLXXXV      |
| MMMCCLXXXVI     |
| MMMCCLXXXVII    |
| MMMCCLXXXVIII   |
| MMMCCLXXXIX     |
| MMMCCXC         |
| MMMCCXCI        |
| MMMCCXCII       |
| MMMCCXCIII      |
| MMMCCXCIV       |
| MMMCCXCV        |
| MMMCCXCVI       |
| MMMCCXCVII      |
| MMMCCXCVIII     |
| MMMCCXCIX       |
| MMMCCC          |
| MMMCCCI         |
| MMMCCCII        |
| MMMCCCIII       |
| MMMCCCIV        |
| MMMCCCV         |
| MMMCCCVI        |
| MMMCCCVII       |
| MMMCCCVIII      |
| MMMCCCIX        |
| MMMCCCX         |
| MMMCCCXI        |
| MMMCCCXII       |
| MMMCCCXIII      |
| MMMCCCXIV       |
| MMMCCCXV        |
| MMMCCCXVI       |
| MMMCCCXVII      |
| MMMCCCXVIII     |
| MMMCCCXIX       |
| MMMCCCXX        |
| MMMCCCXXI       |
| MMMCCCXXII      |
| MMMCCCXXIII     |
| MMMCCCXXIV      |
| MMMCCCXXV       |
| MMMCCCXXVI      |
| MMMCCCXXVII     |
| MMMCCCXXVIII    |
| MMMCCCXXIX      |
| MMMCCCXXX       |
| MMMCCCXXXI      |
| MMMCCCXXXII     |
| MMMCCCXXXIII    |
| MMMCCCXXXIV     |
| MMMCCCXXXV      |
| MMMCCCXXXVI     |
| MMMCCCXXXVII    |
| MMMCCCXXXVIII   |
| MMMCCCXXXIX     |
| MMMCCCXL        |
| MMMCCCXLI       |
| MMMCCCXLII      |
| MMMCCCXLIII     |
| MMMCCCXLIV      |
| MMMCCCXLV       |
| MMMCCCXLVI      |
| MMMCCCXLVII     |
| MMMCCCXLVIII    |
| MMMCCCXLIX      |
| MMMCCCL         |
| MMMCCCLI        |
| MMMCCCLII       |
| MMMCCCLIII      |
| MMMCCCLIV       |
| MMMCCCLV        |
| MMMCCCLVI       |
| MMMCCCLVII      |
| MMMCCCLVIII     |
| MMMCCCLIX       |
| MMMCCCLX        |
| MMMCCCLXI       |
| MMMCCCLXII      |
| MMMCCCLXIII     |
| MMMCCCLXIV      |
| MMMCCCLXV       |
| MMMCCCLXVI      |
| MMMCCCLXVII     |
| MMMCCCLXVIII    |
| MMMCCCLXIX      |
| MMMCCCLXX       |
| MMMCCCLXXI      |
| MMMCCCLXXII     |
| MMMCCCLXXIII    |
| MMMCCCLXXIV     |
| MMMCCCLXXV      |
| MMMCCCLXXVI     |
| MMMCCCLXXVII    |
| MMMCCCLXXVIII   |
| MMMCCCLXXIX     |
| MMMCCCLXXX      |
| MMMCCCLXXXI     |
| MMMCCCLXXXII    |
| MMMCCCLXXXIII   |
| MMMCCCLXXXIV    |
| MMMCCCLXXXV     |
| MMMCCCLXXXVI    |
| MMMCCCLXXXVII   |
| MMMCCCLXXXVIII  |
| MMMCCCLXXXIX    |
| MMMCCCXC        |
| MMMCCCXCI       |
| MMMCCCXCII      |
| MMMCCCXCIII     |
| MMMCCCXCIV      |
| MMMCCCXCV       |
| MMMCCCXCVI      |
| MMMCCCXCVII     |
| MMMCCCXCVIII    |
| MMMCCCXCIX      |
| MMMCD           |
| MMMCDI          |
| MMMCDII         |
| MMMCDIII        |
| MMMCDIV         |
| MMMCDV          |
| MMMCDVI         |
| MMMCDVII        |
| MMMCDVIII       |
| MMMCDIX         |
| MMMCDX          |
| MMMCDXI         |
| MMMCDXII        |
| MMMCDXIII       |
| MMMCDXIV        |
| MMMCDXV         |
| MMMCDXVI        |
| MMMCDXVII       |
| MMMCDXVIII      |
| MMMCDXIX        |
| MMMCDXX         |
| MMMCDXXI        |
| MMMCDXXII       |
| MMMCDXXIII      |
| MMMCDXXIV       |
| MMMCDXXV        |
| MMMCDXXVI       |
| MMMCDXXVII      |
| MMMCDXXVIII     |
| MMMCDXXIX       |
| MMMCDXXX        |
| MMMCDXXXI       |
| MMMCDXXXII      |
| MMMCDXXXIII     |
| MMMCDXXXIV      |
| MMMCDXXXV       |
| MMMCDXXXVI      |
| MMMCDXXXVII     |
| MMMCDXXXVIII    |
| MMMCDXXXIX      |
| MMMCDXL         |
| MMMCDXLI        |
| MMMCDXLII       |
| MMMCDXLIII      |
| MMMCDXLIV       |
| MMMCDXLV        |
| MMMCDXLVI       |
| MMMCDXLVII      |
| MMMCDXLVIII     |
| MMMCDXLIX       |
| MMMCDL          |
| MMMCDLI         |
| MMMCDLII        |
| MMMCDLIII       |
| MMMCDLIV        |
| MMMCDLV         |
| MMMCDLVI        |
| MMMCDLVII       |
| MMMCDLVIII      |
| MMMCDLIX        |
| MMMCDLX         |
| MMMCDLXI        |
| MMMCDLXII       |
| MMMCDLXIII      |
| MMMCDLXIV       |
| MMMCDLXV        |
| MMMCDLXVI       |
| MMMCDLXVII      |
| MMMCDLXVIII     |
| MMMCDLXIX       |
| MMMCDLXX        |
| MMMCDLXXI       |
| MMMCDLXXII      |
| MMMCDLXXIII     |
| MMMCDLXXIV      |
| MMMCDLXXV       |
| MMMCDLXXVI      |
| MMMCDLXXVII     |
| MMMCDLXXVIII    |
| MMMCDLXXIX      |
| MMMCDLXXX       |
| MMMCDLXXXI      |
| MMMCDLXXXII     |
| MMMCDLXXXIII    |
| MMMCDLXXXIV     |
| MMMCDLXXXV      |
| MMMCDLXXXVI     |
| MMMCDLXXXVII    |
| MMMCDLXXXVIII   |
| MMMCDLXXXIX     |
| MMMCDXC         |
| MMMCDXCI        |
| MMMCDXCII       |
| MMMCDXCIII      |
| MMMCDXCIV       |
| MMMCDXCV        |
| MMMCDXCVI       |
| MMMCDXCVII      |
| MMMCDXCVIII     |
| MMMCDXCIX       |
| MMMD            |
| MMMDI           |
| MMMDII          |
| MMMDIII         |
| MMMDIV          |
| MMMDV           |
| MMMDVI          |
| MMMDVII         |
| MMMDVIII        |
| MMMDIX          |
| MMMDX           |
| MMMDXI          |
| MMMDXII         |
| MMMDXIII        |
| MMMDXIV         |
| MMMDXV          |
| MMMDXVI         |
| MMMDXVII        |
| MMMDXVIII       |
| MMMDXIX         |
| MMMDXX          |
| MMMDXXI         |
| MMMDXXII        |
| MMMDXXIII       |
| MMMDXXIV        |
| MMMDXXV         |
| MMMDXXVI        |
| MMMDXXVII       |
| MMMDXXVIII      |
| MMMDXXIX        |
| MMMDXXX         |
| MMMDXXXI        |
| MMMDXXXII       |
| MMMDXXXIII      |
| MMMDXXXIV       |
| MMMDXXXV        |
| MMMDXXXVI       |
| MMMDXXXVII      |
| MMMDXXXVIII     |
| MMMDXXXIX       |
| MMMDXL          |
| MMMDXLI         |
| MMMDXLII        |
| MMMDXLIII       |
| MMMDXLIV        |
| MMMDXLV         |
| MMMDXLVI        |
| MMMDXLVII       |
| MMMDXLVIII      |
| MMMDXLIX        |
| MMMDL           |
| MMMDLI          |
| MMMDLII         |
| MMMDLIII        |
| MMMDLIV         |
| MMMDLV          |
| MMMDLVI         |
| MMMDLVII        |
| MMMDLVIII       |
| MMMDLIX         |
| MMMDLX          |
| MMMDLXI         |
| MMMDLXII        |
| MMMDLXIII       |
| MMMDLXIV        |
| MMMDLXV         |
| MMMDLXVI        |
| MMMDLXVII       |
| MMMDLXVIII      |
| MMMDLXIX        |
| MMMDLXX         |
| MMMDLXXI        |
| MMMDLXXII       |
| MMMDLXXIII      |
| MMMDLXXIV       |
| MMMDLXXV        |
| MMMDLXXVI       |
| MMMDLXXVII      |
| MMMDLXXVIII     |
| MMMDLXXIX       |
| MMMDLXXX        |
| MMMDLXXXI       |
| MMMDLXXXII      |
| MMMDLXXXIII     |
| MMMDLXXXIV      |
| MMMDLXXXV       |
| MMMDLXXXVI      |
| MMMDLXXXVII     |
| MMMDLXXXVIII    |
| MMMDLXXXIX      |
| MMMDXC          |
| MMMDXCI         |
| MMMDXCII        |
| MMMDXCIII       |
| MMMDXCIV        |
| MMMDXCV         |
| MMMDXCVI        |
| MMMDXCVII       |
| MMMDXCVIII      |
| MMMDXCIX        |
| MMMDC           |
| MMMDCI          |
| MMMDCII         |
| MMMDCIII        |
| MMMDCIV         |
| MMMDCV          |
| MMMDCVI         |
| MMMDCVII        |
| MMMDCVIII       |
| MMMDCIX         |
| MMMDCX          |
| MMMDCXI         |
| MMMDCXII        |
| MMMDCXIII       |
| MMMDCXIV        |
| MMMDCXV         |
| MMMDCXVI        |
| MMMDCXVII       |
| MMMDCXVIII      |
| MMMDCXIX        |
| MMMDCXX         |
| MMMDCXXI        |
| MMMDCXXII       |
| MMMDCXXIII      |
| MMMDCXXIV       |
| MMMDCXXV        |
| MMMDCXXVI       |
| MMMDCXXVII      |
| MMMDCXXVIII     |
| MMMDCXXIX       |
| MMMDCXXX        |
| MMMDCXXXI       |
| MMMDCXXXII      |
| MMMDCXXXIII     |
| MMMDCXXXIV      |
| MMMDCXXXV       |
| MMMDCXXXVI      |
| MMMDCXXXVII     |
| MMMDCXXXVIII    |
| MMMDCXXXIX      |
| MMMDCXL         |
| MMMDCXLI        |
| MMMDCXLII       |
| MMMDCXLIII      |
| MMMDCXLIV       |
| MMMDCXLV        |
| MMMDCXLVI       |
| MMMDCXLVII      |
| MMMDCXLVIII     |
| MMMDCXLIX       |
| MMMDCL          |
| MMMDCLI         |
| MMMDCLII        |
| MMMDCLIII       |
| MMMDCLIV        |
| MMMDCLV         |
| MMMDCLVI        |
| MMMDCLVII       |
| MMMDCLVIII      |
| MMMDCLIX        |
| MMMDCLX         |
| MMMDCLXI        |
| MMMDCLXII       |
| MMMDCLXIII      |
| MMMDCLXIV       |
| MMMDCLXV        |
| MMMDCLXVI       |
| MMMDCLXVII      |
| MMMDCLXVIII     |
| MMMDCLXIX       |
| MMMDCLXX        |
| MMMDCLXXI       |
| MMMDCLXXII      |
| MMMDCLXXIII     |
| MMMDCLXXIV      |
| MMMDCLXXV       |
| MMMDCLXXVI      |
| MMMDCLXXVII     |
| MMMDCLXXVIII    |
| MMMDCLXXIX      |
| MMMDCLXXX       |
| MMMDCLXXXI      |
| MMMDCLXXXII     |
| MMMDCLXXXIII    |
| MMMDCLXXXIV     |
| MMMDCLXXXV      |
| MMMDCLXXXVI     |
| MMMDCLXXXVII    |
| MMMDCLXXXVIII   |
| MMMDCLXXXIX     |
| MMMDCXC         |
| MMMDCXCI        |
| MMMDCXCII       |
| MMMDCXCIII      |
| MMMDCXCIV       |
| MMMDCXCV        |
| MMMDCXCVI       |
| MMMDCXCVII      |
| MMMDCXCVIII     |
| MMMDCXCIX       |
| MMMDCC          |
| MMMDCCI         |
| MMMDCCII        |
| MMMDCCIII       |
| MMMDCCIV        |
| MMMDCCV         |
| MMMDCCVI        |
| MMMDCCVII       |
| MMMDCCVIII      |
| MMMDCCIX        |
| MMMDCCX         |
| MMMDCCXI        |
| MMMDCCXII       |
| MMMDCCXIII      |
| MMMDCCXIV       |
| MMMDCCXV        |
| MMMDCCXVI       |
| MMMDCCXVII      |
| MMMDCCXVIII     |
| MMMDCCXIX       |
| MMMDCCXX        |
| MMMDCCXXI       |
| MMMDCCXXII      |
| MMMDCCXXIII     |
| MMMDCCXXIV      |
| MMMDCCXXV       |
| MMMDCCXXVI      |
| MMMDCCXXVII     |
| MMMDCCXXVIII    |
| MMMDCCXXIX      |
| MMMDCCXXX       |
| MMMDCCXXXI      |
| MMMDCCXXXII     |
| MMMDCCXXXIII    |
| MMMDCCXXXIV     |
| MMMDCCXXXV      |
| MMMDCCXXXVI     |
| MMMDCCXXXVII    |
| MMMDCCXXXVIII   |
| MMMDCCXXXIX     |
| MMMDCCXL        |
| MMMDCCXLI       |
| MMMDCCXLII      |
| MMMDCCXLIII     |
| MMMDCCXLIV      |
| MMMDCCXLV       |
| MMMDCCXLVI      |
| MMMDCCXLVII     |
| MMMDCCXLVIII    |
| MMMDCCXLIX      |
| MMMDCCL         |
| MMMDCCLI        |
| MMMDCCLII       |
| MMMDCCLIII      |
| MMMDCCLIV       |
| MMMDCCLV        |
| MMMDCCLVI       |
| MMMDCCLVII      |
| MMMDCCLVIII     |
| MMMDCCLIX       |
| MMMDCCLX        |
| MMMDCCLXI       |
| MMMDCCLXII      |
| MMMDCCLXIII     |
| MMMDCCLXIV      |
| MMMDCCLXV       |
| MMMDCCLXVI      |
| MMMDCCLXVII     |
| MMMDCCLXVIII    |
| MMMDCCLXIX      |
| MMMDCCLXX       |
| MMMDCCLXXI      |
| MMMDCCLXXII     |
| MMMDCCLXXIII    |
| MMMDCCLXXIV     |
| MMMDCCLXXV      |
| MMMDCCLXXVI     |
| MMMDCCLXXVII    |
| MMMDCCLXXVIII   |
| MMMDCCLXXIX     |
| MMMDCCLXXX      |
| MMMDCCLXXXI     |
| MMMDCCLXXXII    |
| MMMDCCLXXXIII   |
| MMMDCCLXXXIV    |
| MMMDCCLXXXV     |
| MMMDCCLXXXVI    |
| MMMDCCLXXXVII   |
| MMMDCCLXXXVIII  |
| MMMDCCLXXXIX    |
| MMMDCCXC        |
| MMMDCCXCI       |
| MMMDCCXCII      |
| MMMDCCXCIII     |
| MMMDCCXCIV      |
| MMMDCCXCV       |
| MMMDCCXCVI      |
| MMMDCCXCVII     |
| MMMDCCXCVIII    |
| MMMDCCXCIX      |
| MMMDCCC         |
| MMMDCCCI        |
| MMMDCCCII       |
| MMMDCCCIII      |
| MMMDCCCIV       |
| MMMDCCCV        |
| MMMDCCCVI       |
| MMMDCCCVII      |
| MMMDCCCVIII     |
| MMMDCCCIX       |
| MMMDCCCX        |
| MMMDCCCXI       |
| MMMDCCCXII      |
| MMMDCCCXIII     |
| MMMDCCCXIV      |
| MMMDCCCXV       |
| MMMDCCCXVI      |
| MMMDCCCXVII     |
| MMMDCCCXVIII    |
| MMMDCCCXIX      |
| MMMDCCCXX       |
| MMMDCCCXXI      |
| MMMDCCCXXII     |
| MMMDCCCXXIII    |
| MMMDCCCXXIV     |
| MMMDCCCXXV      |
| MMMDCCCXXVI     |
| MMMDCCCXXVII    |
| MMMDCCCXXVIII   |
| MMMDCCCXXIX     |
| MMMDCCCXXX      |
| MMMDCCCXXXI     |
| MMMDCCCXXXII    |
| MMMDCCCXXXIII   |
| MMMDCCCXXXIV    |
| MMMDCCCXXXV     |
| MMMDCCCXXXVI    |
| MMMDCCCXXXVII   |
| MMMDCCCXXXVIII  |
| MMMDCCCXXXIX    |
| MMMDCCCXL       |
| MMMDCCCXLI      |
| MMMDCCCXLII     |
| MMMDCCCXLIII    |
| MMMDCCCXLIV     |
| MMMDCCCXLV      |
| MMMDCCCXLVI     |
| MMMDCCCXLVII    |
| MMMDCCCXLVIII   |
| MMMDCCCXLIX     |
| MMMDCCCL        |
| MMMDCCCLI       |
| MMMDCCCLII      |
| MMMDCCCLIII     |
| MMMDCCCLIV      |
| MMMDCCCLV       |
| MMMDCCCLVI      |
| MMMDCCCLVII     |
| MMMDCCCLVIII    |
| MMMDCCCLIX      |
| MMMDCCCLX       |
| MMMDCCCLXI      |
| MMMDCCCLXII     |
| MMMDCCCLXIII    |
| MMMDCCCLXIV     |
| MMMDCCCLXV      |
| MMMDCCCLXVI     |
| MMMDCCCLXVII    |
| MMMDCCCLXVIII   |
| MMMDCCCLXIX     |
| MMMDCCCLXX      |
| MMMDCCCLXXI     |
| MMMDCCCLXXII    |
| MMMDCCCLXXIII   |
| MMMDCCCLXXIV    |
| MMMDCCCLXXV     |
| MMMDCCCLXXVI    |
| MMMDCCCLXXVII   |
| MMMDCCCLXXVIII  |
| MMMDCCCLXXIX    |
| MMMDCCCLXXX     |
| MMMDCCCLXXXI    |
| MMMDCCCLXXXII   |
| MMMDCCCLXXXIII  |
| MMMDCCCLXXXIV   |
| MMMDCCCLXXXV    |
| MMMDCCCLXXXVI   |
| MMMDCCCLXXXVII  |
| MMMDCCCLXXXVIII |
| MMMDCCCLXXXIX   |
| MMMDCCCXC       |
| MMMDCCCXCI      |
| MMMDCCCXCII     |
| MMMDCCCXCIII    |
| MMMDCCCXCIV     |
| MMMDCCCXCV      |
| MMMDCCCXCVI     |
| MMMDCCCXCVII    |
| MMMDCCCXCVIII   |
| MMMDCCCXCIX     |
| MMMCM           |
| MMMCMI          |
| MMMCMII         |
| MMMCMIII        |
| MMMCMIV         |
| MMMCMV          |
| MMMCMVI         |
| MMMCMVII        |
| MMMCMVIII       |
| MMMCMIX         |
| MMMCMX          |
| MMMCMXI         |
| MMMCMXII        |
| MMMCMXIII       |
| MMMCMXIV        |
| MMMCMXV         |
| MMMCMXVI        |
| MMMCMXVII       |
| MMMCMXVIII      |
| MMMCMXIX        |
| MMMCMXX         |
| MMMCMXXI        |
| MMMCMXXII       |
| MMMCMXXIII      |
| MMMCMXXIV       |
| MMMCMXXV        |
| MMMCMXXVI       |
| MMMCMXXVII      |
| MMMCMXXVIII     |
| MMMCMXXIX       |
| MMMCMXXX        |
| MMMCMXXXI       |
| MMMCMXXXII      |
| MMMCMXXXIII     |
| MMMCMXXXIV      |
| MMMCMXXXV       |
| MMMCMXXXVI      |
| MMMCMXXXVII     |
| MMMCMXXXVIII    |
| MMMCMXXXIX      |
| MMMCMXL         |
| MMMCMXLI        |
| MMMCMXLII       |
| MMMCMXLIII      |
| MMMCMXLIV       |
| MMMCMXLV        |
| MMMCMXLVI       |
| MMMCMXLVII      |
| MMMCMXLVIII     |
| MMMCMXLIX       |
| MMMCML          |
| MMMCMLI         |
| MMMCMLII        |
| MMMCMLIII       |
| MMMCMLIV        |
| MMMCMLV         |
| MMMCMLVI        |
| MMMCMLVII       |
| MMMCMLVIII      |
| MMMCMLIX        |
| MMMCMLX         |
| MMMCMLXI        |
| MMMCMLXII       |
| MMMCMLXIII      |
| MMMCMLXIV       |
| MMMCMLXV        |
| MMMCMLXVI       |
| MMMCMLXVII      |
| MMMCMLXVIII     |
| MMMCMLXIX       |
| MMMCMLXX        |
| MMMCMLXXI       |
| MMMCMLXXII      |
| MMMCMLXXIII     |
| MMMCMLXXIV      |
| MMMCMLXXV       |
| MMMCMLXXVI      |
| MMMCMLXXVII     |
| MMMCMLXXVIII    |
| MMMCMLXXIX      |
| MMMCMLXXX       |
| MMMCMLXXXI      |
| MMMCMLXXXII     |
| MMMCMLXXXIII    |
| MMMCMLXXXIV     |
| MMMCMLXXXV      |
| MMMCMLXXXVI     |
| MMMCMLXXXVII    |
| MMMCMLXXXVIII   |
| MMMCMLXXXIX     |
| MMMCMXC         |
| MMMCMXCI        |
| MMMCMXCII       |
| MMMCMXCIII      |
| MMMCMXCIV       |
| MMMCMXCV        |
| MMMCMXCVI       |
| MMMCMXCVII      |
| MMMCMXCVIII     |
| MMMCMXCIX       |
+-----------------+
3999 rows in set (Elapsed: 00:00:00.01)

4、总结

python执行时间:00:02:41.80换算成毫秒161 * 1000 + 80=161080ms。

c执行时间:00:00:00.01换成毫秒为10ms。

16108倍的差距,如果数据量大的话建议使用C UDF。

南大通用数据库-Gbase-8a-学习-26-UDF自定义函数(C、python外部函数)相关推荐

  1. linux安装南大通用数据库 GBase 8s V8.8

    linux安装南大通用数据库 GBase 8s V8.8 1.操作系统.数据库 2.下载链接 3.安装文档 4.安装前准备 4.1.以root用户创建 gbasedbt 组和用户 4.2.创建 GBa ...

  2. 南大通用数据库Gbase 8s遇到的坑

    南大通用数据库Gbase 8s的坑 1.没有批量插入,只能在xml循环拼接完整的INSERT语句,而不能拼接多个values 2.关键字段不能用于列查询,如timestamp,需要用表名点列名 3.在 ...

  3. springbootJpa 连接南大通用数据库Gbase配置

    第一步:添加连接驱动包以及hibernate方言包 驱动包下载链接:GBase8sV8.8连接驱动包.zip-其它文档类资源-CSDN下载 第二步:配置连接信息 spring:profiles: de ...

  4. 南大通用数据库(2):客户端的使用(GBase 企业管理器的使用)

    在安装好南大通用服务端之后,安装好客户端之后,测试企业管理器的使用. 服务端是VMware 虚拟机 Centos7.6, IP 是192.168.80.129, PORT是5258 客户端是Win10 ...

  5. 南大通用数据库-Gbase-8a-学习-34-gcdump(导出数据库对象定义)

    目录 一.测试环境 二.介绍 三.命令帮助 四.参数介绍 1.--print-defaults (1)含义 (2)例子 2.--connect_timeout (1)含义 (2)例子 3.-A, -- ...

  6. 南大通用数据库-Gbase-8a-学习-13-配置ODBC数据源(Linux、Win)

    一.测试环境 名称 值 cpu Intel® Core™ i5-1035G1 CPU @ 1.00GHz 操作系统 CentOS Linux release 7.9.2009 (Core) Gbase ...

  7. 南大通用数据库-Gbase-8a-学习-17-Gbase8a集群版本升级

    一.测试环境 名称 值 cpu Intel® Core™ i5-1035G1 CPU @ 1.00GHz 操作系统 CentOS Linux release 7.9.2009 (Core) 内存 4G ...

  8. 南大通用数据库-Gbase-8a-学习-19-Gbase8a从Kafka订阅Topic消费数据

    一.测试环境 名称 值 cpu Intel® Core™ i5-1035G1 CPU @ 1.00GHz 操作系统 CentOS Linux release 7.9.2009 (Core) 内存 4G ...

  9. 南大通用数据库迁移工具使用指南

    一.工具简介 GBase Migration Toolkit 是南大通用自主研发的数据对象迁移工具,能够以图形化界面形式,实现以任务为单位对不同数据库之间库元数据和用户数据的自动迁移. 该工具基于C/ ...

最新文章

  1. Services(服务)
  2. git用法从入门到精通
  3. ubuntu 安装GPU黑屏 修改GRUB_Ubuntu安装mysql后修改用户名和密码
  4. Leetcode 51. N 皇后 (每日一题 20211008)
  5. 【技术综述】视频分类/行为识别研究综述,从数据集到方法
  6. Spark job stage task个数的计算方式
  7. Salesforce宣布5.82亿美元收购文件编辑公司Quip
  8. Android Studio查看aar文件内容
  9. 编程之美:从无头单链表中删除节点,讨论
  10. Word控件Spire.Doc 【页面背景】教程(1) ;C#/VB.NET:在 Word 中插入水印
  11. tfs java_Java SDK for TFS
  12. 花旗将老虎证券目标价上调365%、将富途控股目标价上调106%
  13. 满满干货!送给想学生物竞赛的同学们一份入门指南
  14. base64编码解码方法
  15. 富甲天下3绝对完美版
  16. [资源数据]文化程度代码
  17. 用 Python 来全自动抢微信红包
  18. oracle存档模式,oracle归档模式管理
  19. 中国省份城市json数据
  20. Java中String类常用方法(转)

热门文章

  1. hot~《国家网络安全应急预案》你知道么。
  2. 联想发布数据智能战略 未来五年赋能十万家企业
  3. 两台电脑间USB传输文件
  4. AI相关领域期刊会议列表
  5. 和ts一般怎么玩_TS夺冠后马上卖席位?微博电竞和其互关,以后热搜不愁了
  6. 判断一个日期是一年中的第几天
  7. 软件工程导论——需求分析总结
  8. 知客CRM,管理软件优质选择
  9. ajax加载多次很卡,使用JQuery UI选项卡多次加载Ajax内容
  10. 【《C Primer Plus》读书笔记】第2章:C语言概述