Python Examples¶
DWD¶
Observation¶
Get available parameters for daily historical data of DWD:
In [1]: from wetterdienst import Resolution, Period
In [2]: from wetterdienst.provider.dwd.observation import DwdObservationRequest
In [3]: observations_meta = DwdObservationRequest.discover(
...: resolution=Resolution.DAILY,
...: )
...:
# Available parameter sets
In [4]: print(observations_meta)
{'daily': {'wind_gust_max': {'origin': 'm / s', 'si': 'm / s'}, 'wind_speed': {'origin': 'm / s', 'si': 'm / s'}, 'precipitation_height': {'origin': 'mm', 'si': 'kg / m ** 2'}, 'precipitation_form': {'origin': '-', 'si': '-'}, 'sunshine_duration': {'origin': 'h', 'si': 's'}, 'snow_depth': {'origin': 'cm', 'si': 'm'}, 'cloud_cover_total': {'origin': '1/8', 'si': 'pct'}, 'pressure_vapor': {'origin': 'hPa', 'si': 'Pa'}, 'pressure_air_site': {'origin': 'hPa', 'si': 'Pa'}, 'temperature_air_mean_2m': {'origin': '°C', 'si': 'K'}, 'humidity': {'origin': 'pct', 'si': 'pct'}, 'temperature_air_max_2m': {'origin': '°C', 'si': 'K'}, 'temperature_air_min_2m': {'origin': '°C', 'si': 'K'}, 'temperature_air_min_0_05m': {'origin': '°C', 'si': 'K'}, 'snow_depth_new': {'origin': 'cm', 'si': 'm'}, 'temperature_soil_mean_0_02m': {'origin': '°C', 'si': 'K'}, 'temperature_soil_mean_0_05m': {'origin': '°C', 'si': 'K'}, 'temperature_soil_mean_0_1m': {'origin': '°C', 'si': 'K'}, 'temperature_soil_mean_0_2m': {'origin': '°C', 'si': 'K'}, 'temperature_soil_mean_0_5m': {'origin': '°C', 'si': 'K'}, 'temperature_soil_mean_1m': {'origin': '°C', 'si': 'K'}, 'radiation_sky_long_wave': {'origin': 'J / cm ** 2', 'si': 'J / m ** 2'}, 'radiation_sky_short_wave_diffuse': {'origin': 'J / cm ** 2', 'si': 'J / m ** 2'}, 'radiation_global': {'origin': 'J / cm ** 2', 'si': 'J / m ** 2'}, 'snow_depth_excelled': {'origin': 'cm', 'si': 'm'}, 'water_equivalent_snow_depth': {'origin': 'mm', 'si': 'kg / m ** 2'}, 'water_equivalent_snow_depth_excelled': {'origin': 'mm', 'si': 'kg / m ** 2'}, 'count_weather_type_fog': {'origin': '-', 'si': '-'}, 'count_weather_type_thunder': {'origin': '-', 'si': '-'}, 'count_weather_type_storm_strong_wind': {'origin': '-', 'si': '-'}, 'count_weather_type_storm_stormier_wind': {'origin': '-', 'si': '-'}, 'count_weather_type_dew': {'origin': '-', 'si': '-'}, 'count_weather_type_glaze': {'origin': '-', 'si': '-'}, 'count_weather_type_ripe': {'origin': '-', 'si': '-'}, 'count_weather_type_sleet': {'origin': '-', 'si': '-'}, 'count_weather_type_hail': {'origin': '-', 'si': '-'}}}
# Available individual parameters
In [5]: observations_meta = DwdObservationRequest.discover(
...: resolution=Resolution.DAILY, flatten=False
...: )
...:
In [6]: print(observations_meta)
{'daily': {'climate_summary': {'quality_wind': {'origin': '-', 'si': '-'}, 'wind_gust_max': {'origin': 'm / s', 'si': 'm / s'}, 'wind_speed': {'origin': 'm / s', 'si': 'm / s'}, 'quality_general': {'origin': '-', 'si': '-'}, 'precipitation_height': {'origin': 'mm', 'si': 'kg / m ** 2'}, 'precipitation_form': {'origin': '-', 'si': '-'}, 'sunshine_duration': {'origin': 'h', 'si': 's'}, 'snow_depth': {'origin': 'cm', 'si': 'm'}, 'cloud_cover_total': {'origin': '1/8', 'si': 'pct'}, 'pressure_vapor': {'origin': 'hPa', 'si': 'Pa'}, 'pressure_air_site': {'origin': 'hPa', 'si': 'Pa'}, 'temperature_air_mean_2m': {'origin': '°C', 'si': 'K'}, 'humidity': {'origin': 'pct', 'si': 'pct'}, 'temperature_air_max_2m': {'origin': '°C', 'si': 'K'}, 'temperature_air_min_2m': {'origin': '°C', 'si': 'K'}, 'temperature_air_min_0_05m': {'origin': '°C', 'si': 'K'}}, 'precipitation_more': {'quality': {'origin': '-', 'si': '-'}, 'precipitation_height': {'origin': 'mm', 'si': 'kg / m ** 2'}, 'precipitation_form': {'origin': '-', 'si': '-'}, 'snow_depth': {'origin': 'cm', 'si': 'm'}, 'snow_depth_new': {'origin': 'cm', 'si': 'm'}}, 'solar': {'quality': {'origin': '-', 'si': '-'}, 'radiation_sky_long_wave': {'origin': 'J / cm ** 2', 'si': 'J / m ** 2'}, 'radiation_sky_short_wave_diffuse': {'origin': 'J / cm ** 2', 'si': 'J / m ** 2'}, 'radiation_global': {'origin': 'J / cm ** 2', 'si': 'J / m ** 2'}, 'sunshine_duration': {'origin': 'h', 'si': 's'}}, 'temperature_soil': {'quality': {'origin': '°C', 'si': '-'}, 'temperature_soil_mean_0_02m': {'origin': '°C', 'si': 'K'}, 'temperature_soil_mean_0_05m': {'origin': '°C', 'si': 'K'}, 'temperature_soil_mean_0_1m': {'origin': '°C', 'si': 'K'}, 'temperature_soil_mean_0_2m': {'origin': '°C', 'si': 'K'}, 'temperature_soil_mean_0_5m': {'origin': '°C', 'si': 'K'}, 'temperature_soil_mean_1m': {'origin': '°C', 'si': 'K'}}, 'water_equivalent': {'qn_6': {'origin': '-', 'si': '-'}, 'snow_depth_excelled': {'origin': 'cm', 'si': 'm'}, 'snow_depth': {'origin': 'cm', 'si': 'm'}, 'water_equivalent_snow_depth': {'origin': 'mm', 'si': 'kg / m ** 2'}, 'water_equivalent_snow_depth_excelled': {'origin': 'mm', 'si': 'kg / m ** 2'}}, 'weather_phenomena': {'quality': {'origin': '-', 'si': '-'}, 'count_weather_type_fog': {'origin': '-', 'si': '-'}, 'count_weather_type_thunder': {'origin': '-', 'si': '-'}, 'count_weather_type_storm_strong_wind': {'origin': '-', 'si': '-'}, 'count_weather_type_storm_stormier_wind': {'origin': '-', 'si': '-'}, 'count_weather_type_dew': {'origin': '-', 'si': '-'}, 'count_weather_type_glaze': {'origin': '-', 'si': '-'}, 'count_weather_type_ripe': {'origin': '-', 'si': '-'}, 'count_weather_type_sleet': {'origin': '-', 'si': '-'}, 'count_weather_type_hail': {'origin': '-', 'si': '-'}}, 'weather_phenomena_more': {'quality': {'origin': '-', 'si': '-'}, 'count_weather_type_sleet': {'origin': '-', 'si': '-'}, 'count_weather_type_hail': {'origin': '-', 'si': '-'}, 'count_weather_type_fog': {'origin': '-', 'si': '-'}, 'count_weather_type_thunder': {'origin': '-', 'si': '-'}}}}
Get stations for daily historical precipitation:
In [7]: from wetterdienst import Resolution, Period
In [8]: from wetterdienst.provider.dwd.observation import DwdObservationRequest, DwdObservationDataset
In [9]: stations = DwdObservationRequest(
...: parameter=DwdObservationDataset.PRECIPITATION_MORE,
...: resolution=Resolution.DAILY,
...: period=Period.HISTORICAL
...: )
...:
In [10]: print(stations.all().df.head())
shape: (5, 8)
┌────────────┬─────────────┬─────────────┬──────────┬───────────┬────────┬────────────┬────────────┐
│ station_id ┆ start_date ┆ end_date ┆ latitude ┆ longitude ┆ height ┆ name ┆ state │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ datetime[μs ┆ datetime[μs ┆ f64 ┆ f64 ┆ f64 ┆ str ┆ str │
│ ┆ , UTC] ┆ , UTC] ┆ ┆ ┆ ┆ ┆ │
╞════════════╪═════════════╪═════════════╪══════════╪═══════════╪════════╪════════════╪════════════╡
│ 00001 ┆ 1912-01-01 ┆ 1986-06-30 ┆ 47.8413 ┆ 8.8493 ┆ 478.0 ┆ Aach ┆ Baden-Würt │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ temberg │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00002 ┆ 1951-01-01 ┆ 2006-12-31 ┆ 50.8066 ┆ 6.0996 ┆ 138.0 ┆ Aachen (Kl ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ äranlage) ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00003 ┆ 1891-01-01 ┆ 2011-03-31 ┆ 50.7827 ┆ 6.0941 ┆ 202.0 ┆ Aachen ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00004 ┆ 1951-01-01 ┆ 1979-10-31 ┆ 50.7683 ┆ 6.1207 ┆ 243.0 ┆ Aachen-Bra ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ nd ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00006 ┆ 1982-11-01 ┆ 2024-10-05 ┆ 48.8361 ┆ 10.0598 ┆ 455.0 ┆ Aalen-Unte ┆ Baden-Würt │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ rrombach ┆ temberg │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
└────────────┴─────────────┴─────────────┴──────────┴───────────┴────────┴────────────┴────────────┘
Get data for a dataset:
In [11]: from wetterdienst import Resolution, Period
In [12]: from wetterdienst.provider.dwd.observation import DwdObservationRequest, DwdObservationDataset
In [13]: stations = DwdObservationRequest(
....: parameter=DwdObservationDataset.PRECIPITATION_MORE,
....: resolution=Resolution.DAILY,
....: period=Period.HISTORICAL
....: )
....:
In [14]: print(next(stations.all().values.query()))
ValuesResult(df=shape: (105_920, 6)
┌────────────┬────────────────────┬────────────────────┬─────────────────────────┬───────┬─────────┐
│ station_id ┆ dataset ┆ parameter ┆ date ┆ value ┆ quality │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str ┆ datetime[μs, UTC] ┆ f64 ┆ f64 │
╞════════════╪════════════════════╪════════════════════╪═════════════════════════╪═══════╪═════════╡
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-01 00:00:00 UTC ┆ 0.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-02 00:00:00 UTC ┆ 1.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-03 00:00:00 UTC ┆ 0.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-04 00:00:00 UTC ┆ 1.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-05 00:00:00 UTC ┆ 7.0 ┆ 1.0 │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-26 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-27 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-28 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-29 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-30 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
└────────────┴────────────────────┴────────────────────┴─────────────────────────┴───────┴─────────┘, stations=StationsResult(df=shape: (5_740, 8)
┌────────────┬─────────────┬─────────────┬──────────┬───────────┬────────┬────────────┬────────────┐
│ station_id ┆ start_date ┆ end_date ┆ latitude ┆ longitude ┆ height ┆ name ┆ state │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ datetime[μs ┆ datetime[μs ┆ f64 ┆ f64 ┆ f64 ┆ str ┆ str │
│ ┆ , UTC] ┆ , UTC] ┆ ┆ ┆ ┆ ┆ │
╞════════════╪═════════════╪═════════════╪══════════╪═══════════╪════════╪════════════╪════════════╡
│ 00001 ┆ 1912-01-01 ┆ 1986-06-30 ┆ 47.8413 ┆ 8.8493 ┆ 478.0 ┆ Aach ┆ Baden-Würt │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ temberg │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00002 ┆ 1951-01-01 ┆ 2006-12-31 ┆ 50.8066 ┆ 6.0996 ┆ 138.0 ┆ Aachen (Kl ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ äranlage) ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00003 ┆ 1891-01-01 ┆ 2011-03-31 ┆ 50.7827 ┆ 6.0941 ┆ 202.0 ┆ Aachen ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00004 ┆ 1951-01-01 ┆ 1979-10-31 ┆ 50.7683 ┆ 6.1207 ┆ 243.0 ┆ Aachen-Bra ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ nd ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00006 ┆ 1982-11-01 ┆ 2024-10-05 ┆ 48.8361 ┆ 10.0598 ┆ 455.0 ┆ Aalen-Unte ┆ Baden-Würt │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ rrombach ┆ temberg │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 19698 ┆ 1945-04-01 ┆ 2006-12-31 ┆ 50.448 ┆ 12.3052 ┆ 595.0 ┆ Werda/Vogt ┆ Sachsen │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ land ┆ │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19701 ┆ 1931-01-01 ┆ 2004-12-31 ┆ 48.5575 ┆ 10.6742 ┆ 430.0 ┆ Wertingen/ ┆ Bayern │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ Zusam ┆ │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19706 ┆ 1941-01-01 ┆ 2003-12-31 ┆ 48.2851 ┆ 8.5764 ┆ 516.0 ┆ Oberndorf ┆ Baden-Würt │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ am Neckar ┆ temberg │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19723 ┆ 2023-04-01 ┆ 2024-10-05 ┆ 49.4966 ┆ 7.658 ┆ 220.0 ┆ Weilerbach ┆ Rheinland- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ Pfalz │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19764 ┆ 1945-08-01 ┆ 1978-04-15 ┆ 50.77 ┆ 12.55 ┆ 285.0 ┆ Thurm ┆ Sachsen │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ (Mülsen) ┆ │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
└────────────┴─────────────┴─────────────┴──────────┴───────────┴────────┴────────────┴────────────┘), values=DwdObservationRequestValues([00001, 00002, 00003, 00004, 00006, 00007, 00008, 00009, 00010, 00012, 00013, 00014, 00015, 00016, 00017, 00018, 00019, 00020, 00021, 00022, 00023, 00024, 00025, 00026, 00027, 00028, 00030, 00031, 00032, 00033, 00034, 00035, 00036, 00037, 00038, 00039, 00040, 00041, 00042, 00043, 00044, 00045, 00047, 00048, 00050, 00051, 00052, 00053, 00054, 00055, 00056, 00057, 00058, 00059, 00060, 00061, 00062, 00063, 00064, 00065, 00066, 00067, 00068, 00069, 00070, 00071, 00072, 00073, 00074, 00075, 00076, 00077, 00078, 00079, 00080, 00081, 00082, 00083, 00084, 00085, 00086, 00087, 00088, 00089, 00091, 00092, 00093, 00094, 00095, 00096, 00097, 00098, 00099, 00100, 00101, 00103, 00104, 00105, 00107, 00108, 00109, 00110, 00111, 00112, 00113, 00115, 00116, 00117, 00118, 00119, 00120, 00121, 00122, 00123, 00124, 00127, 00128, 00129, 00130, 00131, 00132, 00133, 00134, 00135, 00137, 00138, 00139, 00140, 00142, 00143, 00144, 00145, 00147, 00148, 00149, 00150, 00151, 00152, 00153, 00154, 00155, 00156, 00158, 00159, 00160, 00161, 00162, 00163, 00164, 00165, 00166, 00167, 00168, 00169, 00170, 00172, 00173, 00174, 00175, 00177, 00178, 00179, 00180, 00182, 00183, 00184, 00185, 00186, 00187, 00188, 00189, 00190, 00191, 00192, 00193, 00194, 00196, 00198, 00199, 00200, 00201, 00202, 00203, 00204, 00205, 00206, 00207, 00208, 00209, 00211, 00213, 00214, 00215, 00216, 00217, 00218, 00219, 00220, 00221, 00222, 00223, 00224, 00225, 00226, 00227, 00228, 00229, 00230, 00231, 00232, 00234, 00235, 00236, 00237, 00240, 00242, 00243, 00244, 00245, 00246, 00247, 00248, 00249, 00250, 00251, 00252, 00255, 00256, 00257, 00259, 00260, 00262, 00264, 00266, 00267, 00268, 00269, 00270, 00271, 00272, 00273, 00274, 00275, 00276, 00277, 00278, 00279, 00280, 00281, 00282, 00283, 00284, 00285, 00287, 00288, 00289, 00290, 00291, 00292, 00293, 00294, 00295, 00296, 00297, 00298, 00301, 00303, 00304, 00306, 00308, 00309, 00310, 00311, 00312, 00313, 00314, 00315, 00316, 00317, 00318, 00319, 00320, 00322, 00324, 00325, 00326, 00327, 00328, 00329, 00330, 00331, 00332, 00333, 00334, 00335, 00336, 00337, 00338, 00339, 00340, 00342, 00343, 00344, 00345, 00346, 00347, 00348, 00349, 00351, 00352, 00353, 00354, 00355, 00356, 00357, 00358, 00359, 00360, 00361, 00363, 00364, 00365, 00366, 00369, 00371, 00372, 00374, 00375, 00376, 00377, 00378, 00379, 00381, 00382, 00383, 00384, 00385, 00386, 00387, 00388, 00389, 00390, 00391, 00392, 00394, 00399, 00400, 00401, 00402, 00403, 00404, 00406, 00407, 00409, 00410, 00412, 00413, 00414, 00416, 00417, 00418, 00419, 00420, 00421, 00422, 00425, 00426, 00427, 00429, 00430, 00432, 00433, 00434, 00435, 00436, 00437, 00438, 00439, 00440, 00441, 00442, 00444, 00445, 00446, 00447, 00448, 00449, 00450, 00451, 00452, 00453, 00454, 00455, 00456, 00457, 00459, 00460, 00461, 00462, 00463, 00464, 00465, 00466, 00467, 00469, 00470, 00471, 00472, 00473, 00474, 00475, 00476, 00477, 00478, 00479, 00480, 00481, 00483, 00484, 00485, 00486, 00487, 00488, 00489, 00490, 00491, 00492, 00493, 00494, 00495, 00496, 00497, 00498, 00499, 00500, 00501, 00502, 00503, 00504, 00505, 00506, 00507, 00509, 00510, 00511, 00512, 00513, 00514, 00515, 00516, 00517, 00518, 00519, 00520, 00521, 00523, 00524, 00525, 00526, 00527, 00528, 00529, 00530, 00531, 00533, 00535, 00536, 00537, 00538, 00539, 00540, 00541, 00542, 00543, 00544, 00545, 00546, 00547, 00548, 00549, 00550, 00551, 00552, 00553, 00554, 00555, 00556, 00557, 00558, 00559, 00560, 00561, 00562, 00563, 00564, 00565, 00566, 00567, 00568, 00569, 00571, 00572, 00573, 00574, 00575, 00576, 00577, 00578, 00579, 00580, 00581, 00582, 00583, 00584, 00585, 00586, 00587, 00588, 00589, 00590, 00591, 00592, 00593, 00595, 00596, 00597, 00598, 00599, 00602, 00603, 00604, 00605, 00606, 00608, 00609, 00610, 00611, 00612, 00613, 00614, 00615, 00616, 00617, 00618, 00619, 00621, 00622, 00623, 00624, 00625, 00626, 00628, 00629, 00630, 00631, 00632, 00633, 00637, 00638, 00639, 00640, 00641, 00642, 00643, 00644, 00645, 00646, 00647, 00648, 00650, 00652, 00653, 00654, 00655, 00656, 00658, 00659, 00660, 00661, 00662, 00663, 00664, 00665, 00666, 00667, 00668, 00669, 00670, 00671, 00672, 00673, 00674, 00676, 00678, 00679, 00680, 00681, 00682, 00683, 00684, 00685, 00686, 00687, 00688, 00689, 00690, 00691, 00692, 00693, 00694, 00695, 00696, 00697, 00698, 00699, 00700, 00701, 00702, 00703, 00704, 00705, 00706, 00707, 00708, 00709, 00710, 00711, 00712, 00713, 00714, 00715, 00716, 00717, 00718, 00719, 00720, 00721, 00722, 00723, 00724, 00725, 00726, 00727, 00729, 00731, 00733, 00734, 00735, 00736, 00737, 00738, 00740, 00741, 00742, 00744, 00745, 00746, 00747, 00749, 00750, 00751, 00752, 00753, 00754, 00755, 00756, 00757, 00758, 00759, 00760, 00761, 00765, 00767, 00768, 00769, 00770, 00771, 00772, 00773, 00774, 00775, 00776, 00777, 00778, 00779, 00780, 00782, 00783, 00787, 00788, 00789, 00790, 00791, 00792, 00793, 00794, 00795, 00796, 00797, 00798, 00799, 00800, 00801, 00802, 00803, 00804, 00805, 00806, 00808, 00809, 00810, 00811, 00812, 00813, 00815, 00816, 00817, 00818, 00819, 00820, 00821, 00822, 00823, 00824, 00825, 00826, 00827, 00828, 00830, 00831, 00834, 00835, 00836, 00837, 00838, 00839, 00840, 00842, 00843, 00845, 00846, 00847, 00848, 00849, 00850, 00851, 00853, 00854, 00855, 00856, 00857, 00858, 00859, 00860, 00861, 00862, 00863, 00864, 00866, 00867, 00868, 00869, 00870, 00871, 00873, 00874, 00875, 00876, 00877, 00878, 00880, 00881, 00882, 00883, 00884, 00885, 00886, 00887, 00888, 00889, 00890, 00891, 00892, 00893, 00894, 00895, 00896, 00897, 00898, 00899, 00900, 00901, 00902, 00903, 00904, 00905, 00908, 00910, 00911, 00913, 00915, 00916, 00917, 00918, 00919, 00920, 00923, 00924, 00925, 00926, 00928, 00929, 00930, 00931, 00932, 00934, 00935, 00936, 00937, 00939, 00940, 00941, 00942, 00943, 00944, 00945, 00946, 00947, 00948, 00949, 00951, 00952, 00953, 00955, 00956, 00957, 00958, 00959, 00960, 00961, 00962, 00963, 00964, 00965, 00966, 00967, 00968, 00970, 00971, 00972, 00973, 00974, 00975, 00976, 00977, 00978, 00979, 00982, 00983, 00984, 00985, 00986, 00987, 00988, 00989, 00990, 00991, 00992, 00993, 00994, 00995, 00996, 00997, 00998, 00999, 01000, 01001, 01002, 01003, 01004, 01005, 01006, 01007, 01008, 01009, 01012, 01014, 01015, 01016, 01017, 01018, 01019, 01020, 01021, 01022, 01024, 01025, 01026, 01027, 01028, 01029, 01030, 01031, 01032, 01033, 01034, 01036, 01038, 01039, 01040, 01041, 01042, 01043, 01044, 01046, 01047, 01048, 01049, 01050, 01051, 01052, 01053, 01054, 01055, 01056, 01057, 01058, 01060, 01062, 01064, 01065, 01066, 01067, 01068, 01069, 01070, 01071, 01072, 01073, 01074, 01075, 01076, 01077, 01078, 01079, 01080, 01081, 01082, 01083, 01084, 01085, 01086, 01087, 01088, 01089, 01090, 01091, 01092, 01093, 01095, 01096, 01097, 01098, 01099, 01100, 01101, 01102, 01103, 01104, 01105, 01106, 01107, 01108, 01109, 01110, 01111, 01112, 01113, 01114, 01115, 01116, 01117, 01118, 01120, 01121, 01122, 01123, 01124, 01125, 01127, 01128, 01129, 01130, 01133, 01134, 01135, 01136, 01137, 01138, 01139, 01140, 01141, 01142, 01143, 01144, 01145, 01146, 01147, 01148, 01149, 01150, 01151, 01152, 01153, 01154, 01155, 01156, 01159, 01160, 01161, 01162, 01165, 01166, 01167, 01168, 01169, 01170, 01171, 01172, 01174, 01175, 01176, 01177, 01178, 01179, 01180, 01181, 01182, 01183, 01184, 01186, 01187, 01188, 01189, 01190, 01191, 01192, 01193, 01194, 01195, 01196, 01197, 01199, 01200, 01201, 01202, 01203, 01204, 01205, 01206, 01207, 01208, 01209, 01210, 01211, 01212, 01213, 01214, 01215, 01216, 01219, 01220, 01221, 01223, 01224, 01225, 01226, 01227, 01229, 01230, 01231, 01232, 01233, 01234, 01235, 01236, 01237, 01238, 01239, 01240, 01241, 01242, 01243, 01244, 01245, 01246, 01247, 01248, 01250, 01251, 01252, 01254, 01255, 01256, 01257, 01258, 01259, 01262, 01264, 01265, 01266, 01267, 01268, 01269, 01270, 01271, 01272, 01273, 01274, 01275, 01276, 01277, 01278, 01279, 01280, 01282, 01283, 01284, 01285, 01286, 01287, 01288, 01290, 01291, 01292, 01293, 01294, 01296, 01297, 01298, 01299, 01300, 01301, 01303, 01304, 01305, 01307, 01308, 01309, 01310, 01311, 01312, 01314, 01315, 01317, 01318, 01319, 01320, 01321, 01322, 01323, 01325, 01326, 01327, 01328, 01329, 01330, 01332, 01333, 01334, 01335, 01336, 01337, 01340, 01342, 01345, 01346, 01349, 01350, 01351, 01352, 01353, 01356, 01357, 01358, 01360, 01361, 01362, 01363, 01365, 01368, 01369, 01370, 01371, 01373, 01374, 01375, 01376, 01377, 01378, 01379, 01380, 01381, 01382, 01383, 01384, 01385, 01386, 01387, 01388, 01390, 01391, 01392, 01393, 01394, 01395, 01396, 01397, 01398, 01399, 01400, 01401, 01403, 01404, 01405, 01406, 01408, 01409, 01410, 01411, 01412, 01413, 01414, 01417, 01418, 01419, 01420, 01421, 01424, 01425, 01426, 01427, 01428, 01429, 01430, 01431, 01432, 01433, 01435, 01436, 01437, 01438, 01439, 01440, 01441, 01443, 01444, 01445, 01446, 01447, 01448, 01449, 01450, 01451, 01452, 01453, 01454, 01456, 01457, 01458, 01459, 01460, 01461, 01462, 01463, 01464, 01465, 01466, 01467, 01468, 01469, 01470, 01472, 01473, 01474, 01475, 01476, 01477, 01478, 01479, 01480, 01482, 01483, 01484, 01486, 01488, 01489, 01490, 01492, 01494, 01495, 01496, 01497, 01498, 01500, 01501, 01502, 01503, 01504, 01506, 01507, 01508, 01509, 01510, 01512, 01513, 01514, 01517, 01518, 01519, 01520, 01521, 01522, 01523, 01524, 01525, 01526, 01527, 01528, 01529, 01530, 01531, 01532, 01533, 01534, 01536, 01537, 01538, 01539, 01540, 01541, 01543, 01544, 01546, 01547, 01548, 01549, 01550, 01551, 01552, 01554, 01555, 01556, 01557, 01558, 01559, 01560, 01561, 01562, 01563, 01564, 01565, 01566, 01568, 01569, 01570, 01571, 01573, 01574, 01575, 01576, 01577, 01578, 01579, 01580, 01581, 01582, 01583, 01584, 01585, 01586, 01587, 01588, 01589, 01590, 01593, 01595, 01597, 01598, 01599, 01600, 01601, 01602, 01603, 01604, 01605, 01607, 01608, 01609, 01610, 01611, 01612, 01613, 01614, 01615, 01616, 01617, 01618, 01619, 01620, 01621, 01622, 01623, 01624, 01625, 01626, 01627, 01628, 01629, 01631, 01632, 01633, 01634, 01635, 01636, 01637, 01638, 01639, 01640, 01641, 01642, 01643, 01644, 01645, 01646, 01647, 01648, 01649, 01650, 01651, 01652, 01653, 01654, 01655, 01656, 01657, 01658, 01659, 01660, 01661, 01662, 01663, 01664, 01665, 01666, 01667, 01668, 01669, 01671, 01673, 01674, 01677, 01678, 01679, 01680, 01681, 01682, 01683, 01684, 01685, 01686, 01687, 01688, 01689, 01690, 01691, 01692, 01693, 01694, 01695, 01696, 01697, 01698, 01699, 01700, 01701, 01702, 01703, 01704, 01705, 01706, 01708, 01709, 01711, 01712, 01714, 01715, 01716, 01717, 01718, 01719, 01720, 01721, 01722, 01723, 01724, 01725, 01726, 01727, 01728, 01729, 01730, 01731, 01732, 01733, 01734, 01735, 01736, 01737, 01738, 01740, 01741, 01742, 01743, 01744, 01745, 01746, 01747, 01748, 01749, 01750, 01751, 01753, 01754, 01755, 01756, 01757, 01758, 01759, 01760, 01762, 01763, 01764, 01765, 01766, 01767, 01768, 01769, 01770, 01771, 01772, 01773, 01775, 01776, 01777, 01779, 01780, 01781, 01782, 01783, 01784, 01785, 01786, 01787, 01788, 01789, 01790, 01791, 01792, 01793, 01795, 01796, 01797, 01798, 01799, 01800, 01801, 01802, 01803, 01804, 01805, 01806, 01807, 01808, 01809, 01810, 01811, 01812, 01813, 01814, 01815, 01816, 01817, 01818, 01819, 01820, 01821, 01822, 01823, 01824, 01825, 01826, 01827, 01829, 01830, 01832, 01833, 01834, 01835, 01836, 01837, 01838, 01839, 01840, 01841, 01842, 01844, 01845, 01847, 01848, 01849, 01850, 01852, 01853, 01855, 01856, 01857, 01858, 01860, 01861, 01863, 01864, 01865, 01866, 01867, 01868, 01869, 01870, 01871, 01872, 01873, 01875, 01876, 01877, 01878, 01879, 01880, 01881, 01882, 01883, 01884, 01885, 01886, 01887, 01888, 01889, 01891, 01893, 01894, 01895, 01897, 01898, 01899, 01901, 01903, 01904, 01905, 01906, 01907, 01908, 01909, 01910, 01911, 01912, 01913, 01914, 01915, 01916, 01917, 01918, 01919, 01920, 01921, 01923, 01926, 01927, 01928, 01929, 01930, 01933, 01934, 01935, 01936, 01937, 01939, 01940, 01941, 01942, 01943, 01944, 01945, 01946, 01947, 01948, 01949, 01950, 01951, 01952, 01953, 01954, 01955, 01956, 01957, 01958, 01959, 01960, 01961, 01962, 01964, 01965, 01967, 01968, 01970, 01971, 01972, 01973, 01974, 01975, 01976, 01977, 01978, 01979, 01980, 01981, 01982, 01983, 01984, 01985, 01986, 01987, 01989, 01990, 01991, 01992, 01993, 01994, 01995, 01996, 01998, 01999, 02000, 02001, 02002, 02003, 02004, 02005, 02006, 02007, 02008, 02009, 02010, 02011, 02012, 02013, 02014, 02015, 02016, 02017, 02018, 02019, 02020, 02021, 02022, 02023, 02024, 02025, 02026, 02027, 02028, 02029, 02030, 02031, 02032, 02034, 02036, 02037, 02038, 02039, 02041, 02044, 02045, 02046, 02047, 02048, 02049, 02050, 02052, 02053, 02054, 02056, 02057, 02058, 02059, 02061, 02062, 02063, 02064, 02065, 02066, 02067, 02068, 02069, 02070, 02072, 02073, 02074, 02075, 02077, 02078, 02079, 02080, 02081, 02082, 02083, 02084, 02085, 02086, 02087, 02088, 02089, 02090, 02091, 02092, 02094, 02095, 02096, 02097, 02098, 02099, 02101, 02102, 02103, 02104, 02105, 02106, 02107, 02108, 02109, 02110, 02111, 02112, 02113, 02114, 02115, 02116, 02117, 02118, 02119, 02120, 02121, 02122, 02123, 02124, 02125, 02126, 02127, 02128, 02129, 02130, 02131, 02132, 02133, 02134, 02135, 02136, 02137, 02138, 02139, 02140, 02141, 02142, 02143, 02144, 02145, 02146, 02147, 02148, 02149, 02150, 02151, 02152, 02153, 02154, 02155, 02156, 02157, 02158, 02159, 02160, 02161, 02162, 02163, 02166, 02167, 02168, 02169, 02170, 02171, 02172, 02173, 02174, 02175, 02176, 02177, 02178, 02179, 02180, 02181, 02182, 02183, 02184, 02185, 02186, 02188, 02189, 02190, 02191, 02192, 02193, 02194, 02195, 02196, 02197, 02198, 02199, 02200, 02201, 02202, 02203, 02204, 02205, 02206, 02208, 02209, 02210, 02211, 02212, 02213, 02214, 02215, 02216, 02217, 02218, 02219, 02220, 02223, 02224, 02225, 02226, 02227, 02228, 02229, 02230, 02231, 02232, 02233, 02234, 02235, 02236, 02237, 02238, 02239, 02240, 02241, 02242, 02243, 02244, 02245, 02246, 02247, 02248, 02249, 02250, 02251, 02252, 02253, 02254, 02255, 02256, 02257, 02258, 02259, 02260, 02261, 02262, 02263, 02264, 02265, 02266, 02267, 02268, 02271, 02272, 02273, 02274, 02275, 02276, 02277, 02278, 02279, 02280, 02281, 02282, 02283, 02284, 02285, 02286, 02288, 02290, 02291, 02292, 02293, 02294, 02295, 02296, 02298, 02299, 02300, 02301, 02302, 02303, 02304, 02305, 02306, 02307, 02308, 02309, 02310, 02311, 02312, 02313, 02314, 02316, 02317, 02318, 02319, 02321, 02322, 02323, 02324, 02325, 02326, 02327, 02328, 02329, 02330, 02331, 02332, 02333, 02334, 02335, 02336, 02339, 02340, 02341, 02342, 02343, 02344, 02345, 02346, 02347, 02348, 02349, 02350, 02351, 02353, 02354, 02355, 02356, 02357, 02358, 02359, 02360, 02361, 02362, 02363, 02364, 02365, 02366, 02368, 02369, 02370, 02371, 02372, 02373, 02374, 02376, 02378, 02379, 02380, 02381, 02382, 02383, 02384, 02386, 02387, 02388, 02389, 02391, 02392, 02393, 02395, 02397, 02398, 02399, 02400, 02401, 02402, 02403, 02404, 02405, 02406, 02407, 02408, 02411, 02413, 02414, 02415, 02416, 02417, 02418, 02419, 02420, 02421, 02422, 02423, 02424, 02425, 02426, 02427, 02428, 02429, 02430, 02431, 02432, 02433, 02434, 02435, 02437, 02438, 02439, 02440, 02441, 02442, 02443, 02444, 02445, 02446, 02447, 02448, 02449, 02450, 02451, 02452, 02454, 02455, 02456, 02458, 02459, 02460, 02461, 02462, 02463, 02464, 02465, 02466, 02468, 02469, 02470, 02471, 02472, 02473, 02474, 02475, 02476, 02479, 02480, 02481, 02483, 02484, 02485, 02486, 02487, 02488, 02489, 02490, 02491, 02492, 02495, 02496, 02497, 02498, 02499, 02501, 02502, 02503, 02504, 02505, 02506, 02507, 02508, 02509, 02510, 02511, 02512, 02513, 02514, 02515, 02516, 02517, 02518, 02519, 02520, 02521, 02522, 02523, 02524, 02525, 02526, 02527, 02528, 02529, 02530, 02531, 02532, 02533, 02534, 02535, 02537, 02538, 02539, 02540, 02541, 02542, 02543, 02544, 02545, 02546, 02549, 02551, 02552, 02553, 02554, 02555, 02556, 02557, 02558, 02559, 02560, 02561, 02562, 02564, 02565, 02566, 02567, 02569, 02570, 02571, 02572, 02574, 02575, 02576, 02577, 02578, 02579, 02581, 02582, 02583, 02584, 02585, 02586, 02588, 02589, 02590, 02591, 02592, 02593, 02594, 02595, 02596, 02597, 02598, 02599, 02600, 02601, 02602, 02603, 02604, 02605, 02606, 02607, 02608, 02609, 02610, 02611, 02613, 02615, 02616, 02617, 02618, 02620, 02621, 02622, 02623, 02624, 02625, 02626, 02627, 02628, 02629, 02630, 02631, 02632, 02633, 02634, 02635, 02636, 02637, 02638, 02639, 02640, 02641, 02642, 02643, 02644, 02645, 02648, 02649, 02650, 02651, 02652, 02653, 02654, 02655, 02656, 02657, 02658, 02659, 02661, 02662, 02663, 02664, 02665, 02666, 02667, 02668, 02669, 02670, 02671, 02672, 02673, 02674, 02675, 02676, 02677, 02678, 02679, 02680, 02681, 02682, 02683, 02685, 02686, 02687, 02688, 02689, 02690, 02691, 02692, 02693, 02694, 02696, 02697, 02698, 02699, 02700, 02701, 02702, 02704, 02705, 02706, 02708, 02709, 02710, 02711, 02712, 02713, 02714, 02715, 02716, 02717, 02718, 02719, 02720, 02721, 02722, 02723, 02724, 02725, 02726, 02727, 02728, 02729, 02730, 02731, 02732, 02733, 02734, 02735, 02736, 02737, 02739, 02740, 02741, 02742, 02743, 02744, 02746, 02748, 02749, 02750, 02751, 02752, 02753, 02754, 02755, 02756, 02760, 02761, 02762, 02763, 02764, 02765, 02766, 02767, 02768, 02769, 02772, 02774, 02775, 02776, 02777, 02778, 02779, 02781, 02782, 02783, 02784, 02785, 02786, 02787, 02788, 02789, 02790, 02791, 02792, 02793, 02794, 02795, 02797, 02799, 02801, 02802, 02803, 02804, 02805, 02806, 02807, 02808, 02809, 02810, 02811, 02812, 02814, 02815, 02816, 02817, 02818, 02819, 02820, 02821, 02822, 02823, 02824, 02826, 02827, 02828, 02830, 02831, 02832, 02833, 02834, 02835, 02836, 02837, 02838, 02839, 02840, 02841, 02842, 02844, 02845, 02846, 02847, 02848, 02849, 02850, 02851, 02852, 02854, 02855, 02856, 02857, 02858, 02859, 02860, 02861, 02862, 02863, 02864, 02865, 02866, 02867, 02868, 02869, 02870, 02871, 02872, 02873, 02874, 02875, 02877, 02878, 02879, 02880, 02881, 02882, 02883, 02887, 02888, 02890, 02891, 02892, 02893, 02894, 02895, 02896, 02898, 02899, 02900, 02901, 02902, 02903, 02906, 02907, 02908, 02909, 02910, 02911, 02912, 02913, 02915, 02916, 02917, 02918, 02919, 02920, 02921, 02922, 02923, 02924, 02925, 02927, 02928, 02930, 02931, 02932, 02933, 02934, 02935, 02936, 02937, 02938, 02939, 02941, 02942, 02943, 02944, 02945, 02946, 02947, 02948, 02949, 02950, 02951, 02953, 02955, 02956, 02958, 02959, 02960, 02963, 02964, 02965, 02966, 02967, 02968, 02969, 02970, 02971, 02974, 02975, 02976, 02977, 02980, 02981, 02982, 02983, 02984, 02985, 02986, 02987, 02988, 02989, 02990, 02991, 02992, 02994, 02995, 02996, 02997, 02998, 02999, 03000, 03001, 03002, 03003, 03004, 03007, 03008, 03009, 03010, 03011, 03013, 03014, 03015, 03016, 03017, 03018, 03019, 03020, 03021, 03022, 03023, 03024, 03025, 03026, 03027, 03028, 03029, 03030, 03031, 03032, 03033, 03034, 03036, 03037, 03038, 03039, 03040, 03041, 03042, 03043, 03044, 03045, 03047, 03048, 03049, 03050, 03051, 03052, 03053, 03054, 03055, 03056, 03057, 03058, 03059, 03060, 03061, 03062, 03063, 03064, 03065, 03066, 03067, 03068, 03069, 03070, 03071, 03072, 03073, 03074, 03076, 03077, 03078, 03080, 03081, 03082, 03083, 03085, 03086, 03087, 03088, 03089, 03090, 03091, 03092, 03093, 03094, 03095, 03096, 03098, 03099, 03100, 03101, 03102, 03103, 03104, 03106, 03107, 03108, 03109, 03110, 03111, 03112, 03113, 03114, 03115, 03116, 03119, 03120, 03121, 03122, 03123, 03124, 03125, 03126, 03127, 03128, 03130, 03131, 03133, 03135, 03136, 03137, 03139, 03140, 03142, 03143, 03144, 03146, 03147, 03148, 03149, 03150, 03151, 03152, 03153, 03154, 03155, 03156, 03158, 03160, 03161, 03163, 03164, 03165, 03166, 03167, 03168, 03169, 03170, 03171, 03172, 03173, 03174, 03175, 03176, 03177, 03178, 03179, 03180, 03181, 03182, 03183, 03184, 03185, 03186, 03187, 03188, 03189, 03191, 03192, 03193, 03194, 03196, 03197, 03198, 03199, 03200, 03201, 03202, 03203, 03204, 03205, 03206, 03207, 03208, 03209, 03210, 03211, 03212, 03213, 03214, 03215, 03216, 03217, 03218, 03222, 03223, 03224, 03225, 03226, 03227, 03228, 03229, 03230, 03231, 03232, 03234, 03235, 03236, 03237, 03238, 03239, 03240, 03241, 03243, 03244, 03247, 03248, 03249, 03250, 03251, 03252, 03253, 03255, 03257, 03259, 03260, 03261, 03262, 03263, 03264, 03265, 03266, 03267, 03268, 03269, 03270, 03271, 03273, 03274, 03276, 03277, 03278, 03279, 03280, 03281, 03282, 03283, 03284, 03285, 03286, 03287, 03288, 03289, 03290, 03291, 03292, 03293, 03294, 03295, 03296, 03297, 03298, 03300, 03301, 03302, 03303, 03304, 03305, 03306, 03307, 03308, 03309, 03310, 03311, 03312, 03313, 03314, 03315, 03316, 03317, 03318, 03319, 03320, 03321, 03322, 03323, 03324, 03325, 03326, 03329, 03330, 03331, 03332, 03333, 03334, 03335, 03336, 03337, 03338, 03339, 03340, 03341, 03342, 03343, 03344, 03345, 03346, 03347, 03348, 03349, 03350, 03351, 03352, 03353, 03354, 03355, 03356, 03357, 03358, 03359, 03360, 03361, 03362, 03363, 03364, 03365, 03366, 03367, 03368, 03369, 03370, 03371, 03372, 03373, 03374, 03375, 03376, 03378, 03379, 03381, 03382, 03383, 03384, 03385, 03386, 03387, 03388, 03390, 03391, 03392, 03394, 03395, 03396, 03397, 03398, 03399, 03400, 03401, 03402, 03404, 03405, 03407, 03408, 03409, 03410, 03411, 03412, 03413, 03415, 03416, 03417, 03418, 03419, 03420, 03423, 03424, 03425, 03426, 03427, 03430, 03432, 03433, 03434, 03435, 03436, 03437, 03438, 03439, 03440, 03441, 03442, 03443, 03444, 03445, 03447, 03448, 03449, 03450, 03451, 03452, 03453, 03454, 03455, 03456, 03457, 03458, 03459, 03460, 03461, 03462, 03463, 03464, 03465, 03466, 03467, 03468, 03469, 03470, 03471, 03472, 03473, 03474, 03475, 03476, 03478, 03479, 03480, 03481, 03482, 03483, 03485, 03486, 03487, 03488, 03489, 03490, 03491, 03492, 03494, 03495, 03496, 03497, 03498, 03499, 03500, 03501, 03502, 03503, 03504, 03505, 03506, 03507, 03509, 03511, 03513, 03514, 03515, 03516, 03517, 03518, 03519, 03520, 03521, 03522, 03523, 03524, 03526, 03527, 03528, 03530, 03531, 03532, 03533, 03536, 03537, 03539, 03540, 03541, 03543, 03544, 03545, 03546, 03547, 03549, 03550, 03551, 03552, 03553, 03554, 03555, 03557, 03558, 03559, 03560, 03561, 03562, 03563, 03564, 03565, 03566, 03567, 03568, 03569, 03570, 03571, 03572, 03573, 03574, 03575, 03576, 03577, 03578, 03579, 03580, 03581, 03582, 03584, 03585, 03586, 03587, 03588, 03589, 03590, 03591, 03592, 03593, 03594, 03595, 03596, 03597, 03598, 03599, 03600, 03602, 03604, 03605, 03606, 03607, 03608, 03609, 03610, 03611, 03612, 03613, 03614, 03615, 03617, 03618, 03620, 03621, 03622, 03625, 03626, 03627, 03628, 03629, 03630, 03631, 03632, 03633, 03635, 03636, 03638, 03640, 03641, 03642, 03643, 03644, 03645, 03646, 03647, 03648, 03649, 03650, 03652, 03654, 03655, 03656, 03659, 03660, 03662, 03663, 03664, 03665, 03666, 03667, 03668, 03669, 03670, 03671, 03672, 03673, 03674, 03675, 03676, 03677, 03678, 03679, 03680, 03682, 03683, 03684, 03685, 03686, 03687, 03688, 03689, 03690, 03691, 03692, 03693, 03694, 03695, 03696, 03697, 03698, 03700, 03701, 03703, 03704, 03705, 03706, 03707, 03708, 03709, 03710, 03711, 03712, 03713, 03714, 03716, 03717, 03718, 03719, 03720, 03721, 03722, 03723, 03724, 03725, 03726, 03728, 03730, 03731, 03732, 03733, 03734, 03735, 03736, 03737, 03738, 03739, 03740, 03741, 03742, 03743, 03744, 03745, 03746, 03747, 03748, 03749, 03750, 03751, 03752, 03753, 03754, 03755, 03756, 03757, 03758, 03759, 03760, 03761, 03762, 03763, 03764, 03765, 03766, 03767, 03768, 03769, 03770, 03771, 03772, 03773, 03774, 03776, 03777, 03778, 03779, 03780, 03781, 03782, 03784, 03785, 03786, 03787, 03788, 03789, 03790, 03791, 03792, 03793, 03794, 03795, 03796, 03798, 03799, 03800, 03801, 03802, 03803, 03804, 03805, 03806, 03807, 03808, 03809, 03810, 03811, 03812, 03813, 03815, 03816, 03817, 03819, 03820, 03821, 03822, 03823, 03824, 03825, 03826, 03827, 03828, 03829, 03830, 03831, 03832, 03833, 03835, 03836, 03837, 03838, 03839, 03840, 03841, 03844, 03846, 03847, 03848, 03849, 03850, 03851, 03852, 03853, 03854, 03855, 03856, 03857, 03858, 03859, 03860, 03861, 03862, 03864, 03865, 03867, 03869, 03870, 03871, 03872, 03874, 03875, 03876, 03877, 03878, 03879, 03880, 03881, 03882, 03883, 03884, 03885, 03887, 03888, 03889, 03890, 03891, 03892, 03893, 03894, 03895, 03897, 03898, 03899, 03900, 03901, 03902, 03903, 03904, 03906, 03907, 03908, 03909, 03910, 03911, 03912, 03913, 03914, 03915, 03916, 03918, 03919, 03920, 03922, 03923, 03924, 03925, 03926, 03927, 03928, 03929, 03930, 03931, 03932, 03933, 03934, 03935, 03937, 03938, 03939, 03940, 03941, 03943, 03945, 03946, 03948, 03949, 03951, 03952, 03953, 03954, 03955, 03956, 03957, 03958, 03959, 03960, 03961, 03962, 03964, 03965, 03966, 03967, 03968, 03969, 03970, 03971, 03972, 03973, 03974, 03975, 03976, 03977, 03978, 03979, 03980, 03981, 03982, 03983, 03984, 03985, 03986, 03987, 03988, 03989, 03990, 03991, 03992, 03993, 03995, 03996, 03998, 03999, 04001, 04002, 04003, 04004, 04005, 04006, 04007, 04008, 04009, 04010, 04011, 04012, 04013, 04014, 04015, 04016, 04017, 04018, 04019, 04020, 04021, 04022, 04023, 04024, 04025, 04027, 04028, 04030, 04031, 04032, 04033, 04034, 04035, 04036, 04037, 04038, 04039, 04040, 04041, 04042, 04043, 04044, 04045, 04046, 04047, 04048, 04049, 04050, 04051, 04052, 04053, 04054, 04055, 04056, 04059, 04060, 04061, 04062, 04063, 04064, 04065, 04066, 04067, 04068, 04069, 04070, 04071, 04072, 04074, 04075, 04076, 04077, 04078, 04079, 04080, 04081, 04082, 04083, 04084, 04085, 04086, 04087, 04088, 04089, 04090, 04091, 04092, 04093, 04094, 04096, 04098, 04099, 04100, 04101, 04103, 04104, 04105, 04106, 04107, 04108, 04109, 04110, 04111, 04112, 04114, 04115, 04116, 04117, 04118, 04119, 04120, 04121, 04122, 04123, 04125, 04126, 04127, 04129, 04130, 04131, 04132, 04133, 04134, 04135, 04136, 04137, 04138, 04139, 04140, 04141, 04142, 04143, 04144, 04145, 04147, 04148, 04149, 04150, 04151, 04152, 04153, 04154, 04155, 04156, 04158, 04159, 04160, 04161, 04162, 04163, 04164, 04165, 04166, 04167, 04168, 04169, 04170, 04171, 04172, 04173, 04175, 04176, 04177, 04178, 04179, 04180, 04181, 04183, 04184, 04185, 04186, 04187, 04188, 04189, 04191, 04192, 04193, 04194, 04195, 04196, 04197, 04198, 04199, 04200, 04201, 04202, 04203, 04204, 04205, 04206, 04207, 04208, 04209, 04210, 04211, 04212, 04213, 04214, 04215, 04216, 04217, 04218, 04219, 04220, 04221, 04222, 04223, 04224, 04226, 04227, 04228, 04229, 04230, 04231, 04232, 04233, 04234, 04235, 04236, 04237, 04238, 04239, 04240, 04241, 04242, 04243, 04244, 04245, 04246, 04247, 04248, 04249, 04251, 04252, 04253, 04254, 04255, 04256, 04257, 04258, 04259, 04260, 04261, 04262, 04264, 04265, 04266, 04267, 04268, 04269, 04270, 04271, 04272, 04274, 04275, 04276, 04277, 04278, 04280, 04282, 04283, 04284, 04285, 04286, 04287, 04288, 04290, 04291, 04294, 04295, 04296, 04297, 04298, 04299, 04300, 04301, 04302, 04303, 04304, 04305, 04306, 04307, 04308, 04309, 04310, 04311, 04312, 04313, 04314, 04315, 04316, 04317, 04318, 04319, 04320, 04321, 04322, 04323, 04324, 04325, 04326, 04327, 04328, 04329, 04330, 04332, 04333, 04334, 04336, 04337, 04339, 04341, 04342, 04344, 04346, 04347, 04348, 04349, 04351, 04352, 04354, 04355, 04356, 04357, 04358, 04359, 04360, 04361, 04362, 04363, 04364, 04365, 04366, 04367, 04368, 04369, 04370, 04371, 04372, 04373, 04375, 04376, 04377, 04378, 04379, 04380, 04381, 04382, 04383, 04384, 04385, 04386, 04387, 04388, 04389, 04391, 04392, 04393, 04394, 04395, 04396, 04397, 04398, 04399, 04400, 04401, 04402, 04403, 04404, 04405, 04406, 04407, 04408, 04409, 04410, 04411, 04412, 04413, 04414, 04415, 04416, 04417, 04418, 04419, 04420, 04421, 04422, 04423, 04425, 04426, 04427, 04428, 04430, 04431, 04432, 04433, 04434, 04435, 04436, 04437, 04438, 04439, 04440, 04441, 04442, 04443, 04444, 04445, 04446, 04447, 04448, 04449, 04450, 04451, 04452, 04453, 04454, 04455, 04456, 04458, 04459, 04460, 04461, 04462, 04463, 04464, 04465, 04466, 04467, 04468, 04469, 04470, 04472, 04473, 04474, 04475, 04476, 04477, 04479, 04480, 04481, 04482, 04483, 04484, 04485, 04486, 04487, 04488, 04489, 04490, 04491, 04492, 04493, 04494, 04495, 04496, 04497, 04498, 04499, 04500, 04501, 04502, 04503, 04505, 04506, 04507, 04508, 04509, 04510, 04511, 04512, 04513, 04514, 04515, 04516, 04517, 04518, 04519, 04521, 04522, 04523, 04524, 04525, 04526, 04527, 04528, 04529, 04530, 04531, 04532, 04533, 04534, 04535, 04537, 04538, 04539, 04540, 04541, 04542, 04543, 04544, 04545, 04546, 04547, 04548, 04549, 04551, 04552, 04553, 04554, 04555, 04557, 04558, 04559, 04560, 04561, 04562, 04563, 04564, 04565, 04566, 04567, 04568, 04569, 04570, 04571, 04572, 04573, 04574, 04575, 04576, 04577, 04578, 04579, 04580, 04581, 04582, 04584, 04585, 04586, 04587, 04588, 04589, 04590, 04591, 04592, 04593, 04594, 04595, 04597, 04598, 04599, 04600, 04601, 04602, 04603, 04604, 04605, 04606, 04607, 04608, 04609, 04610, 04611, 04612, 04614, 04615, 04616, 04617, 04618, 04619, 04620, 04621, 04622, 04623, 04624, 04625, 04626, 04627, 04628, 04629, 04630, 04631, 04632, 04633, 04634, 04635, 04636, 04637, 04638, 04639, 04640, 04642, 04645, 04646, 04647, 04648, 04649, 04651, 04652, 04653, 04654, 04655, 04656, 04657, 04658, 04659, 04660, 04661, 04662, 04664, 04666, 04667, 04668, 04669, 04670, 04671, 04673, 04675, 04676, 04677, 04679, 04680, 04681, 04682, 04683, 04684, 04685, 04686, 04687, 04688, 04689, 04690, 04691, 04692, 04693, 04695, 04696, 04697, 04698, 04699, 04700, 04701, 04703, 04704, 04705, 04706, 04707, 04708, 04709, 04710, 04711, 04712, 04713, 04714, 04715, 04716, 04717, 04718, 04719, 04720, 04721, 04722, 04725, 04726, 04727, 04729, 04730, 04731, 04732, 04733, 04734, 04736, 04737, 04738, 04739, 04740, 04741, 04742, 04743, 04744, 04745, 04746, 04747, 04748, 04749, 04750, 04751, 04752, 04754, 04755, 04756, 04757, 04758, 04759, 04761, 04762, 04763, 04765, 04766, 04767, 04768, 04769, 04770, 04771, 04772, 04773, 04774, 04775, 04776, 04777, 04778, 04779, 04780, 04781, 04782, 04783, 04784, 04785, 04786, 04788, 04789, 04790, 04791, 04792, 04793, 04794, 04797, 04798, 04799, 04800, 04802, 04803, 04804, 04805, 04806, 04807, 04808, 04809, 04810, 04811, 04812, 04813, 04814, 04815, 04816, 04817, 04818, 04819, 04820, 04821, 04822, 04823, 04824, 04825, 04828, 04829, 04830, 04831, 04832, 04833, 04834, 04835, 04836, 04837, 04838, 04840, 04841, 04842, 04843, 04844, 04845, 04846, 04848, 04849, 04850, 04851, 04852, 04853, 04854, 04855, 04856, 04857, 04858, 04859, 04860, 04863, 04864, 04865, 04866, 04867, 04868, 04871, 04872, 04873, 04874, 04875, 04876, 04877, 04878, 04879, 04881, 04882, 04883, 04884, 04885, 04887, 04888, 04889, 04890, 04891, 04893, 04894, 04895, 04896, 04897, 04898, 04899, 04900, 04902, 04903, 04904, 04905, 04906, 04907, 04908, 04909, 04910, 04911, 04912, 04913, 04914, 04915, 04916, 04917, 04918, 04920, 04921, 04922, 04923, 04925, 04926, 04927, 04928, 04931, 04932, 04933, 04934, 04935, 04936, 04937, 04938, 04940, 04941, 04942, 04943, 04944, 04945, 04946, 04948, 04949, 04950, 04951, 04952, 04953, 04954, 04955, 04956, 04957, 04958, 04959, 04960, 04961, 04962, 04963, 04964, 04965, 04966, 04967, 04968, 04969, 04970, 04971, 04973, 04974, 04975, 04976, 04977, 04978, 04979, 04980, 04981, 04982, 04983, 04984, 04985, 04986, 04987, 04988, 04989, 04990, 04991, 04992, 04993, 04994, 04995, 04996, 04997, 04998, 05000, 05001, 05002, 05003, 05004, 05005, 05006, 05007, 05008, 05009, 05011, 05012, 05014, 05015, 05016, 05017, 05018, 05019, 05020, 05021, 05022, 05023, 05024, 05026, 05027, 05028, 05029, 05030, 05031, 05032, 05033, 05034, 05035, 05037, 05038, 05039, 05040, 05042, 05043, 05044, 05045, 05046, 05047, 05049, 05050, 05051, 05053, 05054, 05056, 05057, 05058, 05059, 05060, 05061, 05062, 05063, 05064, 05065, 05066, 05067, 05068, 05069, 05070, 05071, 05072, 05073, 05074, 05075, 05077, 05078, 05079, 05080, 05081, 05082, 05083, 05084, 05085, 05086, 05087, 05088, 05089, 05090, 05091, 05092, 05093, 05094, 05096, 05097, 05098, 05099, 05100, 05102, 05103, 05104, 05105, 05106, 05107, 05108, 05109, 05110, 05111, 05112, 05113, 05114, 05115, 05116, 05117, 05118, 05121, 05122, 05123, 05124, 05125, 05126, 05127, 05128, 05129, 05130, 05131, 05132, 05133, 05134, 05135, 05136, 05137, 05138, 05139, 05140, 05141, 05142, 05143, 05144, 05145, 05146, 05147, 05148, 05149, 05150, 05151, 05152, 05153, 05155, 05156, 05157, 05158, 05159, 05160, 05161, 05163, 05165, 05166, 05167, 05168, 05169, 05171, 05172, 05173, 05174, 05175, 05176, 05177, 05178, 05179, 05180, 05181, 05183, 05184, 05185, 05186, 05187, 05188, 05189, 05190, 05191, 05192, 05193, 05194, 05195, 05196, 05198, 05199, 05200, 05201, 05202, 05203, 05204, 05205, 05206, 05207, 05209, 05210, 05211, 05213, 05214, 05215, 05216, 05217, 05218, 05219, 05220, 05221, 05222, 05223, 05225, 05227, 05228, 05229, 05230, 05231, 05232, 05233, 05234, 05236, 05237, 05238, 05239, 05240, 05241, 05242, 05243, 05244, 05246, 05247, 05248, 05250, 05251, 05252, 05253, 05254, 05255, 05256, 05257, 05258, 05259, 05260, 05261, 05262, 05263, 05264, 05265, 05266, 05267, 05268, 05269, 05270, 05271, 05272, 05273, 05275, 05276, 05277, 05278, 05279, 05280, 05281, 05282, 05283, 05284, 05285, 05286, 05287, 05288, 05289, 05290, 05291, 05292, 05293, 05294, 05295, 05296, 05297, 05298, 05299, 05300, 05301, 05302, 05303, 05304, 05305, 05306, 05307, 05309, 05310, 05311, 05312, 05313, 05314, 05315, 05316, 05317, 05318, 05320, 05321, 05322, 05323, 05324, 05325, 05326, 05328, 05329, 05330, 05331, 05332, 05333, 05334, 05335, 05336, 05337, 05338, 05339, 05340, 05341, 05342, 05343, 05344, 05345, 05346, 05347, 05348, 05349, 05350, 05351, 05352, 05353, 05354, 05356, 05357, 05358, 05359, 05360, 05361, 05362, 05363, 05364, 05365, 05366, 05368, 05369, 05370, 05371, 05372, 05373, 05376, 05377, 05378, 05379, 05380, 05381, 05382, 05383, 05384, 05385, 05386, 05387, 05388, 05389, 05390, 05391, 05392, 05393, 05394, 05395, 05396, 05397, 05398, 05399, 05400, 05401, 05402, 05403, 05404, 05405, 05406, 05407, 05408, 05409, 05410, 05411, 05413, 05414, 05415, 05416, 05417, 05418, 05419, 05420, 05421, 05422, 05424, 05425, 05426, 05428, 05429, 05430, 05431, 05432, 05433, 05434, 05435, 05436, 05437, 05438, 05440, 05441, 05442, 05443, 05444, 05445, 05446, 05447, 05448, 05449, 05450, 05451, 05452, 05453, 05454, 05455, 05456, 05457, 05458, 05459, 05460, 05461, 05462, 05463, 05464, 05466, 05467, 05468, 05469, 05470, 05471, 05473, 05474, 05476, 05477, 05478, 05479, 05480, 05481, 05482, 05483, 05484, 05485, 05486, 05487, 05488, 05489, 05490, 05492, 05495, 05496, 05497, 05498, 05499, 05500, 05502, 05503, 05504, 05505, 05506, 05507, 05509, 05510, 05511, 05512, 05513, 05514, 05516, 05517, 05518, 05519, 05520, 05521, 05522, 05523, 05524, 05525, 05526, 05527, 05529, 05530, 05531, 05532, 05534, 05535, 05536, 05537, 05538, 05539, 05540, 05541, 05542, 05543, 05544, 05545, 05546, 05547, 05548, 05549, 05550, 05551, 05552, 05553, 05554, 05555, 05556, 05557, 05558, 05559, 05560, 05561, 05562, 05563, 05565, 05567, 05568, 05569, 05571, 05573, 05574, 05575, 05576, 05577, 05578, 05579, 05580, 05581, 05582, 05584, 05585, 05586, 05587, 05588, 05589, 05590, 05591, 05592, 05593, 05594, 05595, 05596, 05597, 05598, 05599, 05600, 05601, 05602, 05603, 05604, 05605, 05606, 05607, 05608, 05609, 05610, 05611, 05612, 05614, 05615, 05616, 05617, 05618, 05619, 05620, 05621, 05622, 05623, 05624, 05626, 05627, 05628, 05629, 05630, 05631, 05632, 05634, 05635, 05636, 05637, 05638, 05639, 05643, 05644, 05645, 05646, 05647, 05648, 05649, 05650, 05651, 05652, 05653, 05654, 05655, 05656, 05657, 05658, 05659, 05660, 05661, 05662, 05663, 05664, 05665, 05666, 05667, 05668, 05669, 05670, 05671, 05672, 05673, 05674, 05675, 05676, 05677, 05678, 05679, 05680, 05681, 05682, 05683, 05684, 05685, 05686, 05687, 05688, 05689, 05690, 05691, 05692, 05693, 05694, 05695, 05696, 05698, 05699, 05700, 05701, 05702, 05703, 05704, 05705, 05706, 05707, 05708, 05709, 05710, 05711, 05712, 05713, 05714, 05715, 05716, 05717, 05718, 05719, 05720, 05721, 05722, 05723, 05724, 05725, 05726, 05727, 05728, 05729, 05730, 05731, 05732, 05733, 05736, 05737, 05738, 05739, 05740, 05741, 05742, 05743, 05745, 05746, 05747, 05748, 05749, 05750, 05751, 05752, 05753, 05754, 05755, 05756, 05757, 05758, 05759, 05761, 05762, 05763, 05765, 05766, 05767, 05768, 05769, 05770, 05771, 05772, 05773, 05774, 05775, 05776, 05777, 05778, 05779, 05780, 05781, 05782, 05783, 05784, 05785, 05786, 05787, 05788, 05789, 05790, 05791, 05792, 05793, 05794, 05795, 05797, 05798, 05800, 05801, 05802, 05803, 05804, 05805, 05806, 05807, 05808, 05814, 05821, 05822, 05825, 05826, 05830, 05831, 05832, 05833, 05839, 05840, 05846, 05847, 05854, 05855, 05856, 05865, 05866, 05869, 05870, 05871, 05874, 05875, 05885, 05886, 05890, 05896, 05897, 05898, 05899, 05901, 05904, 05906, 05912, 05913, 05920, 05921, 05924, 05925, 05927, 05928, 05930, 05941, 05943, 05944, 05952, 05953, 05958, 05959, 05960, 05962, 05963, 05969, 05970, 05971, 05972, 05979, 05980, 05983, 05985, 05986, 05987, 05988, 05989, 05990, 05991, 05992, 05993, 05994, 06084, 06085, 06086, 06087, 06093, 06095, 06100, 06105, 06109, 06110, 06112, 06113, 06114, 06129, 06157, 06158, 06159, 06161, 06163, 06165, 06169, 06170, 06177, 06178, 06182, 06185, 06186, 06190, 06191, 06193, 06195, 06196, 06197, 06199, 06200, 06201, 06203, 06212, 06214, 06215, 06216, 06217, 06218, 06219, 06220, 06227, 06228, 06257, 06258, 06259, 06260, 06262, 06263, 06264, 06265, 06266, 06268, 06269, 06270, 06271, 06272, 06273, 06274, 06275, 06276, 06278, 06303, 06304, 06305, 06310, 06312, 06313, 06314, 06336, 06337, 06338, 06344, 06346, 06347, 07075, 07077, 07078, 07079, 07099, 07103, 07104, 07105, 07106, 07134, 07135, 07136, 07138, 07141, 07187, 07224, 07225, 07226, 07227, 07228, 07229, 07230, 07231, 07233, 07234, 07235, 07237, 07238, 07239, 07240, 07241, 07242, 07243, 07244, 07285, 07298, 07319, 07321, 07322, 07323, 07326, 07327, 07328, 07329, 07330, 07331, 07333, 07334, 07335, 07337, 07341, 07343, 07344, 07350, 07351, 07361, 07363, 07364, 07367, 07368, 07369, 07370, 07372, 07373, 07374, 07375, 07378, 07380, 07381, 07382, 07389, 07393, 07394, 07395, 07396, 07403, 07410, 07412, 07413, 07418, 07419, 07420, 07421, 07423, 07424, 07425, 07427, 07428, 07429, 07430, 07431, 07432, 07434, 07436, 07485, 07486, 07487, 07488, 07489, 07490, 07491, 07492, 07493, 07494, 07495, 07496, 07497, 07498, 07499, 07500, 10339, 13654, 13662, 13663, 13669, 13670, 13671, 13672, 13673, 13674, 13675, 13680, 13682, 13686, 13687, 13688, 13691, 13696, 13697, 13698, 13699, 13700, 13709, 13710, 13711, 13712, 13713, 13714, 13715, 13716, 13717, 13774, 13776, 13777, 13781, 13782, 13786, 13876, 13886, 13905, 13919, 13925, 13926, 13933, 13965, 13967, 13969, 13990, 14001, 14130, 14135, 14137, 14139, 14157, 14300, 14303, 14304, 14305, 14306, 14307, 14308, 14309, 14310, 14311, 14313, 14314, 14315, 14316, 14317, 14318, 14320, 14321, 14322, 14323, 14343, 14363, 14667, 14670, 15000, 15001, 15003, 15011, 15012, 15013, 15014, 15015, 15016, 15041, 15109, 15117, 15147, 15149, 15150, 15170, 15171, 15180, 15186, 15195, 15197, 15207, 15209, 15232, 15235, 15244, 15247, 15444, 15455, 15456, 15477, 15478, 15490, 15498, 15499, 15512, 15514, 15518, 15522, 15526, 15530, 15531, 15553, 15555, 15558, 15559, 15567, 15572, 15573, 15574, 15810, 15813, 15819, 15901, 15906, 15912, 15918, 15919, 15926, 15927, 15928, 15931, 15936, 15939, 15941, 15943, 15944, 15945, 15951, 15953, 15963, 15964, 15965, 15977, 15979, 15980, 15984, 15991, 15994, 16085, 16086, 16087, 19033, 19039, 19041, 19042, 19043, 19044, 19086, 19087, 19095, 19096, 19120, 19123, 19125, 19127, 19140, 19171, 19172, 19193, 19208, 19209, 19250, 19251, 19279, 19289, 19299, 19302, 19305, 19306, 19307, 19309, 19318, 19325, 19331, 19332, 19356, 19364, 19365, 19378, 19399, 19414, 19415, 19424, 19433, 19434, 19436, 19439, 19472, 19479, 19492, 19493, 19494, 19504, 19505, 19510, 19511, 19512, 19513, 19514, 19515, 19516, 19529, 19577, 19578, 19579, 19580, 19581, 19582, 19602, 19603, 19606, 19607, 19610, 19611, 19613, 19614, 19615, 19616, 19617, 19621, 19622, 19623, 19624, 19625, 19626, 19628, 19629, 19630, 19631, 19632, 19633, 19634, 19635, 19636, 19637, 19638, 19639, 19640, 19641, 19642, 19643, 19644, 19645, 19646, 19647, 19648, 19649, 19651, 19652, 19653, 19654, 19655, 19656, 19657, 19658, 19659, 19660, 19661, 19662, 19664, 19666, 19667, 19668, 19669, 19673, 19674, 19675, 19676, 19677, 19679, 19680, 19681, 19682, 19683, 19694, 19695, 19697, 19698, 19701, 19706, 19723, 19764], [(more_precip/more_precip)], [historical], None,None))
Get data for a parameter:
In [15]: from wetterdienst import Resolution, Period
In [16]: from wetterdienst.provider.dwd.observation import DwdObservationRequest, DwdObservationParameter
In [17]: observation_data = DwdObservationRequest(
....: parameter=DwdObservationParameter.DAILY.PRECIPITATION_HEIGHT,
....: resolution=Resolution.DAILY,
....: period=Period.HISTORICAL
....: )
....:
In [18]: print(next(stations.all().values.query()))
ValuesResult(df=shape: (105_920, 6)
┌────────────┬────────────────────┬────────────────────┬─────────────────────────┬───────┬─────────┐
│ station_id ┆ dataset ┆ parameter ┆ date ┆ value ┆ quality │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str ┆ datetime[μs, UTC] ┆ f64 ┆ f64 │
╞════════════╪════════════════════╪════════════════════╪═════════════════════════╪═══════╪═════════╡
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-01 00:00:00 UTC ┆ 0.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-02 00:00:00 UTC ┆ 1.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-03 00:00:00 UTC ┆ 0.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-04 00:00:00 UTC ┆ 1.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-05 00:00:00 UTC ┆ 7.0 ┆ 1.0 │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-26 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-27 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-28 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-29 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-30 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
└────────────┴────────────────────┴────────────────────┴─────────────────────────┴───────┴─────────┘, stations=StationsResult(df=shape: (5_740, 8)
┌────────────┬─────────────┬─────────────┬──────────┬───────────┬────────┬────────────┬────────────┐
│ station_id ┆ start_date ┆ end_date ┆ latitude ┆ longitude ┆ height ┆ name ┆ state │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ datetime[μs ┆ datetime[μs ┆ f64 ┆ f64 ┆ f64 ┆ str ┆ str │
│ ┆ , UTC] ┆ , UTC] ┆ ┆ ┆ ┆ ┆ │
╞════════════╪═════════════╪═════════════╪══════════╪═══════════╪════════╪════════════╪════════════╡
│ 00001 ┆ 1912-01-01 ┆ 1986-06-30 ┆ 47.8413 ┆ 8.8493 ┆ 478.0 ┆ Aach ┆ Baden-Würt │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ temberg │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00002 ┆ 1951-01-01 ┆ 2006-12-31 ┆ 50.8066 ┆ 6.0996 ┆ 138.0 ┆ Aachen (Kl ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ äranlage) ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00003 ┆ 1891-01-01 ┆ 2011-03-31 ┆ 50.7827 ┆ 6.0941 ┆ 202.0 ┆ Aachen ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00004 ┆ 1951-01-01 ┆ 1979-10-31 ┆ 50.7683 ┆ 6.1207 ┆ 243.0 ┆ Aachen-Bra ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ nd ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00006 ┆ 1982-11-01 ┆ 2024-10-05 ┆ 48.8361 ┆ 10.0598 ┆ 455.0 ┆ Aalen-Unte ┆ Baden-Würt │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ rrombach ┆ temberg │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 19698 ┆ 1945-04-01 ┆ 2006-12-31 ┆ 50.448 ┆ 12.3052 ┆ 595.0 ┆ Werda/Vogt ┆ Sachsen │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ land ┆ │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19701 ┆ 1931-01-01 ┆ 2004-12-31 ┆ 48.5575 ┆ 10.6742 ┆ 430.0 ┆ Wertingen/ ┆ Bayern │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ Zusam ┆ │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19706 ┆ 1941-01-01 ┆ 2003-12-31 ┆ 48.2851 ┆ 8.5764 ┆ 516.0 ┆ Oberndorf ┆ Baden-Würt │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ am Neckar ┆ temberg │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19723 ┆ 2023-04-01 ┆ 2024-10-05 ┆ 49.4966 ┆ 7.658 ┆ 220.0 ┆ Weilerbach ┆ Rheinland- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ Pfalz │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19764 ┆ 1945-08-01 ┆ 1978-04-15 ┆ 50.77 ┆ 12.55 ┆ 285.0 ┆ Thurm ┆ Sachsen │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ (Mülsen) ┆ │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
└────────────┴─────────────┴─────────────┴──────────┴───────────┴────────┴────────────┴────────────┘), values=DwdObservationRequestValues([00001, 00002, 00003, 00004, 00006, 00007, 00008, 00009, 00010, 00012, 00013, 00014, 00015, 00016, 00017, 00018, 00019, 00020, 00021, 00022, 00023, 00024, 00025, 00026, 00027, 00028, 00030, 00031, 00032, 00033, 00034, 00035, 00036, 00037, 00038, 00039, 00040, 00041, 00042, 00043, 00044, 00045, 00047, 00048, 00050, 00051, 00052, 00053, 00054, 00055, 00056, 00057, 00058, 00059, 00060, 00061, 00062, 00063, 00064, 00065, 00066, 00067, 00068, 00069, 00070, 00071, 00072, 00073, 00074, 00075, 00076, 00077, 00078, 00079, 00080, 00081, 00082, 00083, 00084, 00085, 00086, 00087, 00088, 00089, 00091, 00092, 00093, 00094, 00095, 00096, 00097, 00098, 00099, 00100, 00101, 00103, 00104, 00105, 00107, 00108, 00109, 00110, 00111, 00112, 00113, 00115, 00116, 00117, 00118, 00119, 00120, 00121, 00122, 00123, 00124, 00127, 00128, 00129, 00130, 00131, 00132, 00133, 00134, 00135, 00137, 00138, 00139, 00140, 00142, 00143, 00144, 00145, 00147, 00148, 00149, 00150, 00151, 00152, 00153, 00154, 00155, 00156, 00158, 00159, 00160, 00161, 00162, 00163, 00164, 00165, 00166, 00167, 00168, 00169, 00170, 00172, 00173, 00174, 00175, 00177, 00178, 00179, 00180, 00182, 00183, 00184, 00185, 00186, 00187, 00188, 00189, 00190, 00191, 00192, 00193, 00194, 00196, 00198, 00199, 00200, 00201, 00202, 00203, 00204, 00205, 00206, 00207, 00208, 00209, 00211, 00213, 00214, 00215, 00216, 00217, 00218, 00219, 00220, 00221, 00222, 00223, 00224, 00225, 00226, 00227, 00228, 00229, 00230, 00231, 00232, 00234, 00235, 00236, 00237, 00240, 00242, 00243, 00244, 00245, 00246, 00247, 00248, 00249, 00250, 00251, 00252, 00255, 00256, 00257, 00259, 00260, 00262, 00264, 00266, 00267, 00268, 00269, 00270, 00271, 00272, 00273, 00274, 00275, 00276, 00277, 00278, 00279, 00280, 00281, 00282, 00283, 00284, 00285, 00287, 00288, 00289, 00290, 00291, 00292, 00293, 00294, 00295, 00296, 00297, 00298, 00301, 00303, 00304, 00306, 00308, 00309, 00310, 00311, 00312, 00313, 00314, 00315, 00316, 00317, 00318, 00319, 00320, 00322, 00324, 00325, 00326, 00327, 00328, 00329, 00330, 00331, 00332, 00333, 00334, 00335, 00336, 00337, 00338, 00339, 00340, 00342, 00343, 00344, 00345, 00346, 00347, 00348, 00349, 00351, 00352, 00353, 00354, 00355, 00356, 00357, 00358, 00359, 00360, 00361, 00363, 00364, 00365, 00366, 00369, 00371, 00372, 00374, 00375, 00376, 00377, 00378, 00379, 00381, 00382, 00383, 00384, 00385, 00386, 00387, 00388, 00389, 00390, 00391, 00392, 00394, 00399, 00400, 00401, 00402, 00403, 00404, 00406, 00407, 00409, 00410, 00412, 00413, 00414, 00416, 00417, 00418, 00419, 00420, 00421, 00422, 00425, 00426, 00427, 00429, 00430, 00432, 00433, 00434, 00435, 00436, 00437, 00438, 00439, 00440, 00441, 00442, 00444, 00445, 00446, 00447, 00448, 00449, 00450, 00451, 00452, 00453, 00454, 00455, 00456, 00457, 00459, 00460, 00461, 00462, 00463, 00464, 00465, 00466, 00467, 00469, 00470, 00471, 00472, 00473, 00474, 00475, 00476, 00477, 00478, 00479, 00480, 00481, 00483, 00484, 00485, 00486, 00487, 00488, 00489, 00490, 00491, 00492, 00493, 00494, 00495, 00496, 00497, 00498, 00499, 00500, 00501, 00502, 00503, 00504, 00505, 00506, 00507, 00509, 00510, 00511, 00512, 00513, 00514, 00515, 00516, 00517, 00518, 00519, 00520, 00521, 00523, 00524, 00525, 00526, 00527, 00528, 00529, 00530, 00531, 00533, 00535, 00536, 00537, 00538, 00539, 00540, 00541, 00542, 00543, 00544, 00545, 00546, 00547, 00548, 00549, 00550, 00551, 00552, 00553, 00554, 00555, 00556, 00557, 00558, 00559, 00560, 00561, 00562, 00563, 00564, 00565, 00566, 00567, 00568, 00569, 00571, 00572, 00573, 00574, 00575, 00576, 00577, 00578, 00579, 00580, 00581, 00582, 00583, 00584, 00585, 00586, 00587, 00588, 00589, 00590, 00591, 00592, 00593, 00595, 00596, 00597, 00598, 00599, 00602, 00603, 00604, 00605, 00606, 00608, 00609, 00610, 00611, 00612, 00613, 00614, 00615, 00616, 00617, 00618, 00619, 00621, 00622, 00623, 00624, 00625, 00626, 00628, 00629, 00630, 00631, 00632, 00633, 00637, 00638, 00639, 00640, 00641, 00642, 00643, 00644, 00645, 00646, 00647, 00648, 00650, 00652, 00653, 00654, 00655, 00656, 00658, 00659, 00660, 00661, 00662, 00663, 00664, 00665, 00666, 00667, 00668, 00669, 00670, 00671, 00672, 00673, 00674, 00676, 00678, 00679, 00680, 00681, 00682, 00683, 00684, 00685, 00686, 00687, 00688, 00689, 00690, 00691, 00692, 00693, 00694, 00695, 00696, 00697, 00698, 00699, 00700, 00701, 00702, 00703, 00704, 00705, 00706, 00707, 00708, 00709, 00710, 00711, 00712, 00713, 00714, 00715, 00716, 00717, 00718, 00719, 00720, 00721, 00722, 00723, 00724, 00725, 00726, 00727, 00729, 00731, 00733, 00734, 00735, 00736, 00737, 00738, 00740, 00741, 00742, 00744, 00745, 00746, 00747, 00749, 00750, 00751, 00752, 00753, 00754, 00755, 00756, 00757, 00758, 00759, 00760, 00761, 00765, 00767, 00768, 00769, 00770, 00771, 00772, 00773, 00774, 00775, 00776, 00777, 00778, 00779, 00780, 00782, 00783, 00787, 00788, 00789, 00790, 00791, 00792, 00793, 00794, 00795, 00796, 00797, 00798, 00799, 00800, 00801, 00802, 00803, 00804, 00805, 00806, 00808, 00809, 00810, 00811, 00812, 00813, 00815, 00816, 00817, 00818, 00819, 00820, 00821, 00822, 00823, 00824, 00825, 00826, 00827, 00828, 00830, 00831, 00834, 00835, 00836, 00837, 00838, 00839, 00840, 00842, 00843, 00845, 00846, 00847, 00848, 00849, 00850, 00851, 00853, 00854, 00855, 00856, 00857, 00858, 00859, 00860, 00861, 00862, 00863, 00864, 00866, 00867, 00868, 00869, 00870, 00871, 00873, 00874, 00875, 00876, 00877, 00878, 00880, 00881, 00882, 00883, 00884, 00885, 00886, 00887, 00888, 00889, 00890, 00891, 00892, 00893, 00894, 00895, 00896, 00897, 00898, 00899, 00900, 00901, 00902, 00903, 00904, 00905, 00908, 00910, 00911, 00913, 00915, 00916, 00917, 00918, 00919, 00920, 00923, 00924, 00925, 00926, 00928, 00929, 00930, 00931, 00932, 00934, 00935, 00936, 00937, 00939, 00940, 00941, 00942, 00943, 00944, 00945, 00946, 00947, 00948, 00949, 00951, 00952, 00953, 00955, 00956, 00957, 00958, 00959, 00960, 00961, 00962, 00963, 00964, 00965, 00966, 00967, 00968, 00970, 00971, 00972, 00973, 00974, 00975, 00976, 00977, 00978, 00979, 00982, 00983, 00984, 00985, 00986, 00987, 00988, 00989, 00990, 00991, 00992, 00993, 00994, 00995, 00996, 00997, 00998, 00999, 01000, 01001, 01002, 01003, 01004, 01005, 01006, 01007, 01008, 01009, 01012, 01014, 01015, 01016, 01017, 01018, 01019, 01020, 01021, 01022, 01024, 01025, 01026, 01027, 01028, 01029, 01030, 01031, 01032, 01033, 01034, 01036, 01038, 01039, 01040, 01041, 01042, 01043, 01044, 01046, 01047, 01048, 01049, 01050, 01051, 01052, 01053, 01054, 01055, 01056, 01057, 01058, 01060, 01062, 01064, 01065, 01066, 01067, 01068, 01069, 01070, 01071, 01072, 01073, 01074, 01075, 01076, 01077, 01078, 01079, 01080, 01081, 01082, 01083, 01084, 01085, 01086, 01087, 01088, 01089, 01090, 01091, 01092, 01093, 01095, 01096, 01097, 01098, 01099, 01100, 01101, 01102, 01103, 01104, 01105, 01106, 01107, 01108, 01109, 01110, 01111, 01112, 01113, 01114, 01115, 01116, 01117, 01118, 01120, 01121, 01122, 01123, 01124, 01125, 01127, 01128, 01129, 01130, 01133, 01134, 01135, 01136, 01137, 01138, 01139, 01140, 01141, 01142, 01143, 01144, 01145, 01146, 01147, 01148, 01149, 01150, 01151, 01152, 01153, 01154, 01155, 01156, 01159, 01160, 01161, 01162, 01165, 01166, 01167, 01168, 01169, 01170, 01171, 01172, 01174, 01175, 01176, 01177, 01178, 01179, 01180, 01181, 01182, 01183, 01184, 01186, 01187, 01188, 01189, 01190, 01191, 01192, 01193, 01194, 01195, 01196, 01197, 01199, 01200, 01201, 01202, 01203, 01204, 01205, 01206, 01207, 01208, 01209, 01210, 01211, 01212, 01213, 01214, 01215, 01216, 01219, 01220, 01221, 01223, 01224, 01225, 01226, 01227, 01229, 01230, 01231, 01232, 01233, 01234, 01235, 01236, 01237, 01238, 01239, 01240, 01241, 01242, 01243, 01244, 01245, 01246, 01247, 01248, 01250, 01251, 01252, 01254, 01255, 01256, 01257, 01258, 01259, 01262, 01264, 01265, 01266, 01267, 01268, 01269, 01270, 01271, 01272, 01273, 01274, 01275, 01276, 01277, 01278, 01279, 01280, 01282, 01283, 01284, 01285, 01286, 01287, 01288, 01290, 01291, 01292, 01293, 01294, 01296, 01297, 01298, 01299, 01300, 01301, 01303, 01304, 01305, 01307, 01308, 01309, 01310, 01311, 01312, 01314, 01315, 01317, 01318, 01319, 01320, 01321, 01322, 01323, 01325, 01326, 01327, 01328, 01329, 01330, 01332, 01333, 01334, 01335, 01336, 01337, 01340, 01342, 01345, 01346, 01349, 01350, 01351, 01352, 01353, 01356, 01357, 01358, 01360, 01361, 01362, 01363, 01365, 01368, 01369, 01370, 01371, 01373, 01374, 01375, 01376, 01377, 01378, 01379, 01380, 01381, 01382, 01383, 01384, 01385, 01386, 01387, 01388, 01390, 01391, 01392, 01393, 01394, 01395, 01396, 01397, 01398, 01399, 01400, 01401, 01403, 01404, 01405, 01406, 01408, 01409, 01410, 01411, 01412, 01413, 01414, 01417, 01418, 01419, 01420, 01421, 01424, 01425, 01426, 01427, 01428, 01429, 01430, 01431, 01432, 01433, 01435, 01436, 01437, 01438, 01439, 01440, 01441, 01443, 01444, 01445, 01446, 01447, 01448, 01449, 01450, 01451, 01452, 01453, 01454, 01456, 01457, 01458, 01459, 01460, 01461, 01462, 01463, 01464, 01465, 01466, 01467, 01468, 01469, 01470, 01472, 01473, 01474, 01475, 01476, 01477, 01478, 01479, 01480, 01482, 01483, 01484, 01486, 01488, 01489, 01490, 01492, 01494, 01495, 01496, 01497, 01498, 01500, 01501, 01502, 01503, 01504, 01506, 01507, 01508, 01509, 01510, 01512, 01513, 01514, 01517, 01518, 01519, 01520, 01521, 01522, 01523, 01524, 01525, 01526, 01527, 01528, 01529, 01530, 01531, 01532, 01533, 01534, 01536, 01537, 01538, 01539, 01540, 01541, 01543, 01544, 01546, 01547, 01548, 01549, 01550, 01551, 01552, 01554, 01555, 01556, 01557, 01558, 01559, 01560, 01561, 01562, 01563, 01564, 01565, 01566, 01568, 01569, 01570, 01571, 01573, 01574, 01575, 01576, 01577, 01578, 01579, 01580, 01581, 01582, 01583, 01584, 01585, 01586, 01587, 01588, 01589, 01590, 01593, 01595, 01597, 01598, 01599, 01600, 01601, 01602, 01603, 01604, 01605, 01607, 01608, 01609, 01610, 01611, 01612, 01613, 01614, 01615, 01616, 01617, 01618, 01619, 01620, 01621, 01622, 01623, 01624, 01625, 01626, 01627, 01628, 01629, 01631, 01632, 01633, 01634, 01635, 01636, 01637, 01638, 01639, 01640, 01641, 01642, 01643, 01644, 01645, 01646, 01647, 01648, 01649, 01650, 01651, 01652, 01653, 01654, 01655, 01656, 01657, 01658, 01659, 01660, 01661, 01662, 01663, 01664, 01665, 01666, 01667, 01668, 01669, 01671, 01673, 01674, 01677, 01678, 01679, 01680, 01681, 01682, 01683, 01684, 01685, 01686, 01687, 01688, 01689, 01690, 01691, 01692, 01693, 01694, 01695, 01696, 01697, 01698, 01699, 01700, 01701, 01702, 01703, 01704, 01705, 01706, 01708, 01709, 01711, 01712, 01714, 01715, 01716, 01717, 01718, 01719, 01720, 01721, 01722, 01723, 01724, 01725, 01726, 01727, 01728, 01729, 01730, 01731, 01732, 01733, 01734, 01735, 01736, 01737, 01738, 01740, 01741, 01742, 01743, 01744, 01745, 01746, 01747, 01748, 01749, 01750, 01751, 01753, 01754, 01755, 01756, 01757, 01758, 01759, 01760, 01762, 01763, 01764, 01765, 01766, 01767, 01768, 01769, 01770, 01771, 01772, 01773, 01775, 01776, 01777, 01779, 01780, 01781, 01782, 01783, 01784, 01785, 01786, 01787, 01788, 01789, 01790, 01791, 01792, 01793, 01795, 01796, 01797, 01798, 01799, 01800, 01801, 01802, 01803, 01804, 01805, 01806, 01807, 01808, 01809, 01810, 01811, 01812, 01813, 01814, 01815, 01816, 01817, 01818, 01819, 01820, 01821, 01822, 01823, 01824, 01825, 01826, 01827, 01829, 01830, 01832, 01833, 01834, 01835, 01836, 01837, 01838, 01839, 01840, 01841, 01842, 01844, 01845, 01847, 01848, 01849, 01850, 01852, 01853, 01855, 01856, 01857, 01858, 01860, 01861, 01863, 01864, 01865, 01866, 01867, 01868, 01869, 01870, 01871, 01872, 01873, 01875, 01876, 01877, 01878, 01879, 01880, 01881, 01882, 01883, 01884, 01885, 01886, 01887, 01888, 01889, 01891, 01893, 01894, 01895, 01897, 01898, 01899, 01901, 01903, 01904, 01905, 01906, 01907, 01908, 01909, 01910, 01911, 01912, 01913, 01914, 01915, 01916, 01917, 01918, 01919, 01920, 01921, 01923, 01926, 01927, 01928, 01929, 01930, 01933, 01934, 01935, 01936, 01937, 01939, 01940, 01941, 01942, 01943, 01944, 01945, 01946, 01947, 01948, 01949, 01950, 01951, 01952, 01953, 01954, 01955, 01956, 01957, 01958, 01959, 01960, 01961, 01962, 01964, 01965, 01967, 01968, 01970, 01971, 01972, 01973, 01974, 01975, 01976, 01977, 01978, 01979, 01980, 01981, 01982, 01983, 01984, 01985, 01986, 01987, 01989, 01990, 01991, 01992, 01993, 01994, 01995, 01996, 01998, 01999, 02000, 02001, 02002, 02003, 02004, 02005, 02006, 02007, 02008, 02009, 02010, 02011, 02012, 02013, 02014, 02015, 02016, 02017, 02018, 02019, 02020, 02021, 02022, 02023, 02024, 02025, 02026, 02027, 02028, 02029, 02030, 02031, 02032, 02034, 02036, 02037, 02038, 02039, 02041, 02044, 02045, 02046, 02047, 02048, 02049, 02050, 02052, 02053, 02054, 02056, 02057, 02058, 02059, 02061, 02062, 02063, 02064, 02065, 02066, 02067, 02068, 02069, 02070, 02072, 02073, 02074, 02075, 02077, 02078, 02079, 02080, 02081, 02082, 02083, 02084, 02085, 02086, 02087, 02088, 02089, 02090, 02091, 02092, 02094, 02095, 02096, 02097, 02098, 02099, 02101, 02102, 02103, 02104, 02105, 02106, 02107, 02108, 02109, 02110, 02111, 02112, 02113, 02114, 02115, 02116, 02117, 02118, 02119, 02120, 02121, 02122, 02123, 02124, 02125, 02126, 02127, 02128, 02129, 02130, 02131, 02132, 02133, 02134, 02135, 02136, 02137, 02138, 02139, 02140, 02141, 02142, 02143, 02144, 02145, 02146, 02147, 02148, 02149, 02150, 02151, 02152, 02153, 02154, 02155, 02156, 02157, 02158, 02159, 02160, 02161, 02162, 02163, 02166, 02167, 02168, 02169, 02170, 02171, 02172, 02173, 02174, 02175, 02176, 02177, 02178, 02179, 02180, 02181, 02182, 02183, 02184, 02185, 02186, 02188, 02189, 02190, 02191, 02192, 02193, 02194, 02195, 02196, 02197, 02198, 02199, 02200, 02201, 02202, 02203, 02204, 02205, 02206, 02208, 02209, 02210, 02211, 02212, 02213, 02214, 02215, 02216, 02217, 02218, 02219, 02220, 02223, 02224, 02225, 02226, 02227, 02228, 02229, 02230, 02231, 02232, 02233, 02234, 02235, 02236, 02237, 02238, 02239, 02240, 02241, 02242, 02243, 02244, 02245, 02246, 02247, 02248, 02249, 02250, 02251, 02252, 02253, 02254, 02255, 02256, 02257, 02258, 02259, 02260, 02261, 02262, 02263, 02264, 02265, 02266, 02267, 02268, 02271, 02272, 02273, 02274, 02275, 02276, 02277, 02278, 02279, 02280, 02281, 02282, 02283, 02284, 02285, 02286, 02288, 02290, 02291, 02292, 02293, 02294, 02295, 02296, 02298, 02299, 02300, 02301, 02302, 02303, 02304, 02305, 02306, 02307, 02308, 02309, 02310, 02311, 02312, 02313, 02314, 02316, 02317, 02318, 02319, 02321, 02322, 02323, 02324, 02325, 02326, 02327, 02328, 02329, 02330, 02331, 02332, 02333, 02334, 02335, 02336, 02339, 02340, 02341, 02342, 02343, 02344, 02345, 02346, 02347, 02348, 02349, 02350, 02351, 02353, 02354, 02355, 02356, 02357, 02358, 02359, 02360, 02361, 02362, 02363, 02364, 02365, 02366, 02368, 02369, 02370, 02371, 02372, 02373, 02374, 02376, 02378, 02379, 02380, 02381, 02382, 02383, 02384, 02386, 02387, 02388, 02389, 02391, 02392, 02393, 02395, 02397, 02398, 02399, 02400, 02401, 02402, 02403, 02404, 02405, 02406, 02407, 02408, 02411, 02413, 02414, 02415, 02416, 02417, 02418, 02419, 02420, 02421, 02422, 02423, 02424, 02425, 02426, 02427, 02428, 02429, 02430, 02431, 02432, 02433, 02434, 02435, 02437, 02438, 02439, 02440, 02441, 02442, 02443, 02444, 02445, 02446, 02447, 02448, 02449, 02450, 02451, 02452, 02454, 02455, 02456, 02458, 02459, 02460, 02461, 02462, 02463, 02464, 02465, 02466, 02468, 02469, 02470, 02471, 02472, 02473, 02474, 02475, 02476, 02479, 02480, 02481, 02483, 02484, 02485, 02486, 02487, 02488, 02489, 02490, 02491, 02492, 02495, 02496, 02497, 02498, 02499, 02501, 02502, 02503, 02504, 02505, 02506, 02507, 02508, 02509, 02510, 02511, 02512, 02513, 02514, 02515, 02516, 02517, 02518, 02519, 02520, 02521, 02522, 02523, 02524, 02525, 02526, 02527, 02528, 02529, 02530, 02531, 02532, 02533, 02534, 02535, 02537, 02538, 02539, 02540, 02541, 02542, 02543, 02544, 02545, 02546, 02549, 02551, 02552, 02553, 02554, 02555, 02556, 02557, 02558, 02559, 02560, 02561, 02562, 02564, 02565, 02566, 02567, 02569, 02570, 02571, 02572, 02574, 02575, 02576, 02577, 02578, 02579, 02581, 02582, 02583, 02584, 02585, 02586, 02588, 02589, 02590, 02591, 02592, 02593, 02594, 02595, 02596, 02597, 02598, 02599, 02600, 02601, 02602, 02603, 02604, 02605, 02606, 02607, 02608, 02609, 02610, 02611, 02613, 02615, 02616, 02617, 02618, 02620, 02621, 02622, 02623, 02624, 02625, 02626, 02627, 02628, 02629, 02630, 02631, 02632, 02633, 02634, 02635, 02636, 02637, 02638, 02639, 02640, 02641, 02642, 02643, 02644, 02645, 02648, 02649, 02650, 02651, 02652, 02653, 02654, 02655, 02656, 02657, 02658, 02659, 02661, 02662, 02663, 02664, 02665, 02666, 02667, 02668, 02669, 02670, 02671, 02672, 02673, 02674, 02675, 02676, 02677, 02678, 02679, 02680, 02681, 02682, 02683, 02685, 02686, 02687, 02688, 02689, 02690, 02691, 02692, 02693, 02694, 02696, 02697, 02698, 02699, 02700, 02701, 02702, 02704, 02705, 02706, 02708, 02709, 02710, 02711, 02712, 02713, 02714, 02715, 02716, 02717, 02718, 02719, 02720, 02721, 02722, 02723, 02724, 02725, 02726, 02727, 02728, 02729, 02730, 02731, 02732, 02733, 02734, 02735, 02736, 02737, 02739, 02740, 02741, 02742, 02743, 02744, 02746, 02748, 02749, 02750, 02751, 02752, 02753, 02754, 02755, 02756, 02760, 02761, 02762, 02763, 02764, 02765, 02766, 02767, 02768, 02769, 02772, 02774, 02775, 02776, 02777, 02778, 02779, 02781, 02782, 02783, 02784, 02785, 02786, 02787, 02788, 02789, 02790, 02791, 02792, 02793, 02794, 02795, 02797, 02799, 02801, 02802, 02803, 02804, 02805, 02806, 02807, 02808, 02809, 02810, 02811, 02812, 02814, 02815, 02816, 02817, 02818, 02819, 02820, 02821, 02822, 02823, 02824, 02826, 02827, 02828, 02830, 02831, 02832, 02833, 02834, 02835, 02836, 02837, 02838, 02839, 02840, 02841, 02842, 02844, 02845, 02846, 02847, 02848, 02849, 02850, 02851, 02852, 02854, 02855, 02856, 02857, 02858, 02859, 02860, 02861, 02862, 02863, 02864, 02865, 02866, 02867, 02868, 02869, 02870, 02871, 02872, 02873, 02874, 02875, 02877, 02878, 02879, 02880, 02881, 02882, 02883, 02887, 02888, 02890, 02891, 02892, 02893, 02894, 02895, 02896, 02898, 02899, 02900, 02901, 02902, 02903, 02906, 02907, 02908, 02909, 02910, 02911, 02912, 02913, 02915, 02916, 02917, 02918, 02919, 02920, 02921, 02922, 02923, 02924, 02925, 02927, 02928, 02930, 02931, 02932, 02933, 02934, 02935, 02936, 02937, 02938, 02939, 02941, 02942, 02943, 02944, 02945, 02946, 02947, 02948, 02949, 02950, 02951, 02953, 02955, 02956, 02958, 02959, 02960, 02963, 02964, 02965, 02966, 02967, 02968, 02969, 02970, 02971, 02974, 02975, 02976, 02977, 02980, 02981, 02982, 02983, 02984, 02985, 02986, 02987, 02988, 02989, 02990, 02991, 02992, 02994, 02995, 02996, 02997, 02998, 02999, 03000, 03001, 03002, 03003, 03004, 03007, 03008, 03009, 03010, 03011, 03013, 03014, 03015, 03016, 03017, 03018, 03019, 03020, 03021, 03022, 03023, 03024, 03025, 03026, 03027, 03028, 03029, 03030, 03031, 03032, 03033, 03034, 03036, 03037, 03038, 03039, 03040, 03041, 03042, 03043, 03044, 03045, 03047, 03048, 03049, 03050, 03051, 03052, 03053, 03054, 03055, 03056, 03057, 03058, 03059, 03060, 03061, 03062, 03063, 03064, 03065, 03066, 03067, 03068, 03069, 03070, 03071, 03072, 03073, 03074, 03076, 03077, 03078, 03080, 03081, 03082, 03083, 03085, 03086, 03087, 03088, 03089, 03090, 03091, 03092, 03093, 03094, 03095, 03096, 03098, 03099, 03100, 03101, 03102, 03103, 03104, 03106, 03107, 03108, 03109, 03110, 03111, 03112, 03113, 03114, 03115, 03116, 03119, 03120, 03121, 03122, 03123, 03124, 03125, 03126, 03127, 03128, 03130, 03131, 03133, 03135, 03136, 03137, 03139, 03140, 03142, 03143, 03144, 03146, 03147, 03148, 03149, 03150, 03151, 03152, 03153, 03154, 03155, 03156, 03158, 03160, 03161, 03163, 03164, 03165, 03166, 03167, 03168, 03169, 03170, 03171, 03172, 03173, 03174, 03175, 03176, 03177, 03178, 03179, 03180, 03181, 03182, 03183, 03184, 03185, 03186, 03187, 03188, 03189, 03191, 03192, 03193, 03194, 03196, 03197, 03198, 03199, 03200, 03201, 03202, 03203, 03204, 03205, 03206, 03207, 03208, 03209, 03210, 03211, 03212, 03213, 03214, 03215, 03216, 03217, 03218, 03222, 03223, 03224, 03225, 03226, 03227, 03228, 03229, 03230, 03231, 03232, 03234, 03235, 03236, 03237, 03238, 03239, 03240, 03241, 03243, 03244, 03247, 03248, 03249, 03250, 03251, 03252, 03253, 03255, 03257, 03259, 03260, 03261, 03262, 03263, 03264, 03265, 03266, 03267, 03268, 03269, 03270, 03271, 03273, 03274, 03276, 03277, 03278, 03279, 03280, 03281, 03282, 03283, 03284, 03285, 03286, 03287, 03288, 03289, 03290, 03291, 03292, 03293, 03294, 03295, 03296, 03297, 03298, 03300, 03301, 03302, 03303, 03304, 03305, 03306, 03307, 03308, 03309, 03310, 03311, 03312, 03313, 03314, 03315, 03316, 03317, 03318, 03319, 03320, 03321, 03322, 03323, 03324, 03325, 03326, 03329, 03330, 03331, 03332, 03333, 03334, 03335, 03336, 03337, 03338, 03339, 03340, 03341, 03342, 03343, 03344, 03345, 03346, 03347, 03348, 03349, 03350, 03351, 03352, 03353, 03354, 03355, 03356, 03357, 03358, 03359, 03360, 03361, 03362, 03363, 03364, 03365, 03366, 03367, 03368, 03369, 03370, 03371, 03372, 03373, 03374, 03375, 03376, 03378, 03379, 03381, 03382, 03383, 03384, 03385, 03386, 03387, 03388, 03390, 03391, 03392, 03394, 03395, 03396, 03397, 03398, 03399, 03400, 03401, 03402, 03404, 03405, 03407, 03408, 03409, 03410, 03411, 03412, 03413, 03415, 03416, 03417, 03418, 03419, 03420, 03423, 03424, 03425, 03426, 03427, 03430, 03432, 03433, 03434, 03435, 03436, 03437, 03438, 03439, 03440, 03441, 03442, 03443, 03444, 03445, 03447, 03448, 03449, 03450, 03451, 03452, 03453, 03454, 03455, 03456, 03457, 03458, 03459, 03460, 03461, 03462, 03463, 03464, 03465, 03466, 03467, 03468, 03469, 03470, 03471, 03472, 03473, 03474, 03475, 03476, 03478, 03479, 03480, 03481, 03482, 03483, 03485, 03486, 03487, 03488, 03489, 03490, 03491, 03492, 03494, 03495, 03496, 03497, 03498, 03499, 03500, 03501, 03502, 03503, 03504, 03505, 03506, 03507, 03509, 03511, 03513, 03514, 03515, 03516, 03517, 03518, 03519, 03520, 03521, 03522, 03523, 03524, 03526, 03527, 03528, 03530, 03531, 03532, 03533, 03536, 03537, 03539, 03540, 03541, 03543, 03544, 03545, 03546, 03547, 03549, 03550, 03551, 03552, 03553, 03554, 03555, 03557, 03558, 03559, 03560, 03561, 03562, 03563, 03564, 03565, 03566, 03567, 03568, 03569, 03570, 03571, 03572, 03573, 03574, 03575, 03576, 03577, 03578, 03579, 03580, 03581, 03582, 03584, 03585, 03586, 03587, 03588, 03589, 03590, 03591, 03592, 03593, 03594, 03595, 03596, 03597, 03598, 03599, 03600, 03602, 03604, 03605, 03606, 03607, 03608, 03609, 03610, 03611, 03612, 03613, 03614, 03615, 03617, 03618, 03620, 03621, 03622, 03625, 03626, 03627, 03628, 03629, 03630, 03631, 03632, 03633, 03635, 03636, 03638, 03640, 03641, 03642, 03643, 03644, 03645, 03646, 03647, 03648, 03649, 03650, 03652, 03654, 03655, 03656, 03659, 03660, 03662, 03663, 03664, 03665, 03666, 03667, 03668, 03669, 03670, 03671, 03672, 03673, 03674, 03675, 03676, 03677, 03678, 03679, 03680, 03682, 03683, 03684, 03685, 03686, 03687, 03688, 03689, 03690, 03691, 03692, 03693, 03694, 03695, 03696, 03697, 03698, 03700, 03701, 03703, 03704, 03705, 03706, 03707, 03708, 03709, 03710, 03711, 03712, 03713, 03714, 03716, 03717, 03718, 03719, 03720, 03721, 03722, 03723, 03724, 03725, 03726, 03728, 03730, 03731, 03732, 03733, 03734, 03735, 03736, 03737, 03738, 03739, 03740, 03741, 03742, 03743, 03744, 03745, 03746, 03747, 03748, 03749, 03750, 03751, 03752, 03753, 03754, 03755, 03756, 03757, 03758, 03759, 03760, 03761, 03762, 03763, 03764, 03765, 03766, 03767, 03768, 03769, 03770, 03771, 03772, 03773, 03774, 03776, 03777, 03778, 03779, 03780, 03781, 03782, 03784, 03785, 03786, 03787, 03788, 03789, 03790, 03791, 03792, 03793, 03794, 03795, 03796, 03798, 03799, 03800, 03801, 03802, 03803, 03804, 03805, 03806, 03807, 03808, 03809, 03810, 03811, 03812, 03813, 03815, 03816, 03817, 03819, 03820, 03821, 03822, 03823, 03824, 03825, 03826, 03827, 03828, 03829, 03830, 03831, 03832, 03833, 03835, 03836, 03837, 03838, 03839, 03840, 03841, 03844, 03846, 03847, 03848, 03849, 03850, 03851, 03852, 03853, 03854, 03855, 03856, 03857, 03858, 03859, 03860, 03861, 03862, 03864, 03865, 03867, 03869, 03870, 03871, 03872, 03874, 03875, 03876, 03877, 03878, 03879, 03880, 03881, 03882, 03883, 03884, 03885, 03887, 03888, 03889, 03890, 03891, 03892, 03893, 03894, 03895, 03897, 03898, 03899, 03900, 03901, 03902, 03903, 03904, 03906, 03907, 03908, 03909, 03910, 03911, 03912, 03913, 03914, 03915, 03916, 03918, 03919, 03920, 03922, 03923, 03924, 03925, 03926, 03927, 03928, 03929, 03930, 03931, 03932, 03933, 03934, 03935, 03937, 03938, 03939, 03940, 03941, 03943, 03945, 03946, 03948, 03949, 03951, 03952, 03953, 03954, 03955, 03956, 03957, 03958, 03959, 03960, 03961, 03962, 03964, 03965, 03966, 03967, 03968, 03969, 03970, 03971, 03972, 03973, 03974, 03975, 03976, 03977, 03978, 03979, 03980, 03981, 03982, 03983, 03984, 03985, 03986, 03987, 03988, 03989, 03990, 03991, 03992, 03993, 03995, 03996, 03998, 03999, 04001, 04002, 04003, 04004, 04005, 04006, 04007, 04008, 04009, 04010, 04011, 04012, 04013, 04014, 04015, 04016, 04017, 04018, 04019, 04020, 04021, 04022, 04023, 04024, 04025, 04027, 04028, 04030, 04031, 04032, 04033, 04034, 04035, 04036, 04037, 04038, 04039, 04040, 04041, 04042, 04043, 04044, 04045, 04046, 04047, 04048, 04049, 04050, 04051, 04052, 04053, 04054, 04055, 04056, 04059, 04060, 04061, 04062, 04063, 04064, 04065, 04066, 04067, 04068, 04069, 04070, 04071, 04072, 04074, 04075, 04076, 04077, 04078, 04079, 04080, 04081, 04082, 04083, 04084, 04085, 04086, 04087, 04088, 04089, 04090, 04091, 04092, 04093, 04094, 04096, 04098, 04099, 04100, 04101, 04103, 04104, 04105, 04106, 04107, 04108, 04109, 04110, 04111, 04112, 04114, 04115, 04116, 04117, 04118, 04119, 04120, 04121, 04122, 04123, 04125, 04126, 04127, 04129, 04130, 04131, 04132, 04133, 04134, 04135, 04136, 04137, 04138, 04139, 04140, 04141, 04142, 04143, 04144, 04145, 04147, 04148, 04149, 04150, 04151, 04152, 04153, 04154, 04155, 04156, 04158, 04159, 04160, 04161, 04162, 04163, 04164, 04165, 04166, 04167, 04168, 04169, 04170, 04171, 04172, 04173, 04175, 04176, 04177, 04178, 04179, 04180, 04181, 04183, 04184, 04185, 04186, 04187, 04188, 04189, 04191, 04192, 04193, 04194, 04195, 04196, 04197, 04198, 04199, 04200, 04201, 04202, 04203, 04204, 04205, 04206, 04207, 04208, 04209, 04210, 04211, 04212, 04213, 04214, 04215, 04216, 04217, 04218, 04219, 04220, 04221, 04222, 04223, 04224, 04226, 04227, 04228, 04229, 04230, 04231, 04232, 04233, 04234, 04235, 04236, 04237, 04238, 04239, 04240, 04241, 04242, 04243, 04244, 04245, 04246, 04247, 04248, 04249, 04251, 04252, 04253, 04254, 04255, 04256, 04257, 04258, 04259, 04260, 04261, 04262, 04264, 04265, 04266, 04267, 04268, 04269, 04270, 04271, 04272, 04274, 04275, 04276, 04277, 04278, 04280, 04282, 04283, 04284, 04285, 04286, 04287, 04288, 04290, 04291, 04294, 04295, 04296, 04297, 04298, 04299, 04300, 04301, 04302, 04303, 04304, 04305, 04306, 04307, 04308, 04309, 04310, 04311, 04312, 04313, 04314, 04315, 04316, 04317, 04318, 04319, 04320, 04321, 04322, 04323, 04324, 04325, 04326, 04327, 04328, 04329, 04330, 04332, 04333, 04334, 04336, 04337, 04339, 04341, 04342, 04344, 04346, 04347, 04348, 04349, 04351, 04352, 04354, 04355, 04356, 04357, 04358, 04359, 04360, 04361, 04362, 04363, 04364, 04365, 04366, 04367, 04368, 04369, 04370, 04371, 04372, 04373, 04375, 04376, 04377, 04378, 04379, 04380, 04381, 04382, 04383, 04384, 04385, 04386, 04387, 04388, 04389, 04391, 04392, 04393, 04394, 04395, 04396, 04397, 04398, 04399, 04400, 04401, 04402, 04403, 04404, 04405, 04406, 04407, 04408, 04409, 04410, 04411, 04412, 04413, 04414, 04415, 04416, 04417, 04418, 04419, 04420, 04421, 04422, 04423, 04425, 04426, 04427, 04428, 04430, 04431, 04432, 04433, 04434, 04435, 04436, 04437, 04438, 04439, 04440, 04441, 04442, 04443, 04444, 04445, 04446, 04447, 04448, 04449, 04450, 04451, 04452, 04453, 04454, 04455, 04456, 04458, 04459, 04460, 04461, 04462, 04463, 04464, 04465, 04466, 04467, 04468, 04469, 04470, 04472, 04473, 04474, 04475, 04476, 04477, 04479, 04480, 04481, 04482, 04483, 04484, 04485, 04486, 04487, 04488, 04489, 04490, 04491, 04492, 04493, 04494, 04495, 04496, 04497, 04498, 04499, 04500, 04501, 04502, 04503, 04505, 04506, 04507, 04508, 04509, 04510, 04511, 04512, 04513, 04514, 04515, 04516, 04517, 04518, 04519, 04521, 04522, 04523, 04524, 04525, 04526, 04527, 04528, 04529, 04530, 04531, 04532, 04533, 04534, 04535, 04537, 04538, 04539, 04540, 04541, 04542, 04543, 04544, 04545, 04546, 04547, 04548, 04549, 04551, 04552, 04553, 04554, 04555, 04557, 04558, 04559, 04560, 04561, 04562, 04563, 04564, 04565, 04566, 04567, 04568, 04569, 04570, 04571, 04572, 04573, 04574, 04575, 04576, 04577, 04578, 04579, 04580, 04581, 04582, 04584, 04585, 04586, 04587, 04588, 04589, 04590, 04591, 04592, 04593, 04594, 04595, 04597, 04598, 04599, 04600, 04601, 04602, 04603, 04604, 04605, 04606, 04607, 04608, 04609, 04610, 04611, 04612, 04614, 04615, 04616, 04617, 04618, 04619, 04620, 04621, 04622, 04623, 04624, 04625, 04626, 04627, 04628, 04629, 04630, 04631, 04632, 04633, 04634, 04635, 04636, 04637, 04638, 04639, 04640, 04642, 04645, 04646, 04647, 04648, 04649, 04651, 04652, 04653, 04654, 04655, 04656, 04657, 04658, 04659, 04660, 04661, 04662, 04664, 04666, 04667, 04668, 04669, 04670, 04671, 04673, 04675, 04676, 04677, 04679, 04680, 04681, 04682, 04683, 04684, 04685, 04686, 04687, 04688, 04689, 04690, 04691, 04692, 04693, 04695, 04696, 04697, 04698, 04699, 04700, 04701, 04703, 04704, 04705, 04706, 04707, 04708, 04709, 04710, 04711, 04712, 04713, 04714, 04715, 04716, 04717, 04718, 04719, 04720, 04721, 04722, 04725, 04726, 04727, 04729, 04730, 04731, 04732, 04733, 04734, 04736, 04737, 04738, 04739, 04740, 04741, 04742, 04743, 04744, 04745, 04746, 04747, 04748, 04749, 04750, 04751, 04752, 04754, 04755, 04756, 04757, 04758, 04759, 04761, 04762, 04763, 04765, 04766, 04767, 04768, 04769, 04770, 04771, 04772, 04773, 04774, 04775, 04776, 04777, 04778, 04779, 04780, 04781, 04782, 04783, 04784, 04785, 04786, 04788, 04789, 04790, 04791, 04792, 04793, 04794, 04797, 04798, 04799, 04800, 04802, 04803, 04804, 04805, 04806, 04807, 04808, 04809, 04810, 04811, 04812, 04813, 04814, 04815, 04816, 04817, 04818, 04819, 04820, 04821, 04822, 04823, 04824, 04825, 04828, 04829, 04830, 04831, 04832, 04833, 04834, 04835, 04836, 04837, 04838, 04840, 04841, 04842, 04843, 04844, 04845, 04846, 04848, 04849, 04850, 04851, 04852, 04853, 04854, 04855, 04856, 04857, 04858, 04859, 04860, 04863, 04864, 04865, 04866, 04867, 04868, 04871, 04872, 04873, 04874, 04875, 04876, 04877, 04878, 04879, 04881, 04882, 04883, 04884, 04885, 04887, 04888, 04889, 04890, 04891, 04893, 04894, 04895, 04896, 04897, 04898, 04899, 04900, 04902, 04903, 04904, 04905, 04906, 04907, 04908, 04909, 04910, 04911, 04912, 04913, 04914, 04915, 04916, 04917, 04918, 04920, 04921, 04922, 04923, 04925, 04926, 04927, 04928, 04931, 04932, 04933, 04934, 04935, 04936, 04937, 04938, 04940, 04941, 04942, 04943, 04944, 04945, 04946, 04948, 04949, 04950, 04951, 04952, 04953, 04954, 04955, 04956, 04957, 04958, 04959, 04960, 04961, 04962, 04963, 04964, 04965, 04966, 04967, 04968, 04969, 04970, 04971, 04973, 04974, 04975, 04976, 04977, 04978, 04979, 04980, 04981, 04982, 04983, 04984, 04985, 04986, 04987, 04988, 04989, 04990, 04991, 04992, 04993, 04994, 04995, 04996, 04997, 04998, 05000, 05001, 05002, 05003, 05004, 05005, 05006, 05007, 05008, 05009, 05011, 05012, 05014, 05015, 05016, 05017, 05018, 05019, 05020, 05021, 05022, 05023, 05024, 05026, 05027, 05028, 05029, 05030, 05031, 05032, 05033, 05034, 05035, 05037, 05038, 05039, 05040, 05042, 05043, 05044, 05045, 05046, 05047, 05049, 05050, 05051, 05053, 05054, 05056, 05057, 05058, 05059, 05060, 05061, 05062, 05063, 05064, 05065, 05066, 05067, 05068, 05069, 05070, 05071, 05072, 05073, 05074, 05075, 05077, 05078, 05079, 05080, 05081, 05082, 05083, 05084, 05085, 05086, 05087, 05088, 05089, 05090, 05091, 05092, 05093, 05094, 05096, 05097, 05098, 05099, 05100, 05102, 05103, 05104, 05105, 05106, 05107, 05108, 05109, 05110, 05111, 05112, 05113, 05114, 05115, 05116, 05117, 05118, 05121, 05122, 05123, 05124, 05125, 05126, 05127, 05128, 05129, 05130, 05131, 05132, 05133, 05134, 05135, 05136, 05137, 05138, 05139, 05140, 05141, 05142, 05143, 05144, 05145, 05146, 05147, 05148, 05149, 05150, 05151, 05152, 05153, 05155, 05156, 05157, 05158, 05159, 05160, 05161, 05163, 05165, 05166, 05167, 05168, 05169, 05171, 05172, 05173, 05174, 05175, 05176, 05177, 05178, 05179, 05180, 05181, 05183, 05184, 05185, 05186, 05187, 05188, 05189, 05190, 05191, 05192, 05193, 05194, 05195, 05196, 05198, 05199, 05200, 05201, 05202, 05203, 05204, 05205, 05206, 05207, 05209, 05210, 05211, 05213, 05214, 05215, 05216, 05217, 05218, 05219, 05220, 05221, 05222, 05223, 05225, 05227, 05228, 05229, 05230, 05231, 05232, 05233, 05234, 05236, 05237, 05238, 05239, 05240, 05241, 05242, 05243, 05244, 05246, 05247, 05248, 05250, 05251, 05252, 05253, 05254, 05255, 05256, 05257, 05258, 05259, 05260, 05261, 05262, 05263, 05264, 05265, 05266, 05267, 05268, 05269, 05270, 05271, 05272, 05273, 05275, 05276, 05277, 05278, 05279, 05280, 05281, 05282, 05283, 05284, 05285, 05286, 05287, 05288, 05289, 05290, 05291, 05292, 05293, 05294, 05295, 05296, 05297, 05298, 05299, 05300, 05301, 05302, 05303, 05304, 05305, 05306, 05307, 05309, 05310, 05311, 05312, 05313, 05314, 05315, 05316, 05317, 05318, 05320, 05321, 05322, 05323, 05324, 05325, 05326, 05328, 05329, 05330, 05331, 05332, 05333, 05334, 05335, 05336, 05337, 05338, 05339, 05340, 05341, 05342, 05343, 05344, 05345, 05346, 05347, 05348, 05349, 05350, 05351, 05352, 05353, 05354, 05356, 05357, 05358, 05359, 05360, 05361, 05362, 05363, 05364, 05365, 05366, 05368, 05369, 05370, 05371, 05372, 05373, 05376, 05377, 05378, 05379, 05380, 05381, 05382, 05383, 05384, 05385, 05386, 05387, 05388, 05389, 05390, 05391, 05392, 05393, 05394, 05395, 05396, 05397, 05398, 05399, 05400, 05401, 05402, 05403, 05404, 05405, 05406, 05407, 05408, 05409, 05410, 05411, 05413, 05414, 05415, 05416, 05417, 05418, 05419, 05420, 05421, 05422, 05424, 05425, 05426, 05428, 05429, 05430, 05431, 05432, 05433, 05434, 05435, 05436, 05437, 05438, 05440, 05441, 05442, 05443, 05444, 05445, 05446, 05447, 05448, 05449, 05450, 05451, 05452, 05453, 05454, 05455, 05456, 05457, 05458, 05459, 05460, 05461, 05462, 05463, 05464, 05466, 05467, 05468, 05469, 05470, 05471, 05473, 05474, 05476, 05477, 05478, 05479, 05480, 05481, 05482, 05483, 05484, 05485, 05486, 05487, 05488, 05489, 05490, 05492, 05495, 05496, 05497, 05498, 05499, 05500, 05502, 05503, 05504, 05505, 05506, 05507, 05509, 05510, 05511, 05512, 05513, 05514, 05516, 05517, 05518, 05519, 05520, 05521, 05522, 05523, 05524, 05525, 05526, 05527, 05529, 05530, 05531, 05532, 05534, 05535, 05536, 05537, 05538, 05539, 05540, 05541, 05542, 05543, 05544, 05545, 05546, 05547, 05548, 05549, 05550, 05551, 05552, 05553, 05554, 05555, 05556, 05557, 05558, 05559, 05560, 05561, 05562, 05563, 05565, 05567, 05568, 05569, 05571, 05573, 05574, 05575, 05576, 05577, 05578, 05579, 05580, 05581, 05582, 05584, 05585, 05586, 05587, 05588, 05589, 05590, 05591, 05592, 05593, 05594, 05595, 05596, 05597, 05598, 05599, 05600, 05601, 05602, 05603, 05604, 05605, 05606, 05607, 05608, 05609, 05610, 05611, 05612, 05614, 05615, 05616, 05617, 05618, 05619, 05620, 05621, 05622, 05623, 05624, 05626, 05627, 05628, 05629, 05630, 05631, 05632, 05634, 05635, 05636, 05637, 05638, 05639, 05643, 05644, 05645, 05646, 05647, 05648, 05649, 05650, 05651, 05652, 05653, 05654, 05655, 05656, 05657, 05658, 05659, 05660, 05661, 05662, 05663, 05664, 05665, 05666, 05667, 05668, 05669, 05670, 05671, 05672, 05673, 05674, 05675, 05676, 05677, 05678, 05679, 05680, 05681, 05682, 05683, 05684, 05685, 05686, 05687, 05688, 05689, 05690, 05691, 05692, 05693, 05694, 05695, 05696, 05698, 05699, 05700, 05701, 05702, 05703, 05704, 05705, 05706, 05707, 05708, 05709, 05710, 05711, 05712, 05713, 05714, 05715, 05716, 05717, 05718, 05719, 05720, 05721, 05722, 05723, 05724, 05725, 05726, 05727, 05728, 05729, 05730, 05731, 05732, 05733, 05736, 05737, 05738, 05739, 05740, 05741, 05742, 05743, 05745, 05746, 05747, 05748, 05749, 05750, 05751, 05752, 05753, 05754, 05755, 05756, 05757, 05758, 05759, 05761, 05762, 05763, 05765, 05766, 05767, 05768, 05769, 05770, 05771, 05772, 05773, 05774, 05775, 05776, 05777, 05778, 05779, 05780, 05781, 05782, 05783, 05784, 05785, 05786, 05787, 05788, 05789, 05790, 05791, 05792, 05793, 05794, 05795, 05797, 05798, 05800, 05801, 05802, 05803, 05804, 05805, 05806, 05807, 05808, 05814, 05821, 05822, 05825, 05826, 05830, 05831, 05832, 05833, 05839, 05840, 05846, 05847, 05854, 05855, 05856, 05865, 05866, 05869, 05870, 05871, 05874, 05875, 05885, 05886, 05890, 05896, 05897, 05898, 05899, 05901, 05904, 05906, 05912, 05913, 05920, 05921, 05924, 05925, 05927, 05928, 05930, 05941, 05943, 05944, 05952, 05953, 05958, 05959, 05960, 05962, 05963, 05969, 05970, 05971, 05972, 05979, 05980, 05983, 05985, 05986, 05987, 05988, 05989, 05990, 05991, 05992, 05993, 05994, 06084, 06085, 06086, 06087, 06093, 06095, 06100, 06105, 06109, 06110, 06112, 06113, 06114, 06129, 06157, 06158, 06159, 06161, 06163, 06165, 06169, 06170, 06177, 06178, 06182, 06185, 06186, 06190, 06191, 06193, 06195, 06196, 06197, 06199, 06200, 06201, 06203, 06212, 06214, 06215, 06216, 06217, 06218, 06219, 06220, 06227, 06228, 06257, 06258, 06259, 06260, 06262, 06263, 06264, 06265, 06266, 06268, 06269, 06270, 06271, 06272, 06273, 06274, 06275, 06276, 06278, 06303, 06304, 06305, 06310, 06312, 06313, 06314, 06336, 06337, 06338, 06344, 06346, 06347, 07075, 07077, 07078, 07079, 07099, 07103, 07104, 07105, 07106, 07134, 07135, 07136, 07138, 07141, 07187, 07224, 07225, 07226, 07227, 07228, 07229, 07230, 07231, 07233, 07234, 07235, 07237, 07238, 07239, 07240, 07241, 07242, 07243, 07244, 07285, 07298, 07319, 07321, 07322, 07323, 07326, 07327, 07328, 07329, 07330, 07331, 07333, 07334, 07335, 07337, 07341, 07343, 07344, 07350, 07351, 07361, 07363, 07364, 07367, 07368, 07369, 07370, 07372, 07373, 07374, 07375, 07378, 07380, 07381, 07382, 07389, 07393, 07394, 07395, 07396, 07403, 07410, 07412, 07413, 07418, 07419, 07420, 07421, 07423, 07424, 07425, 07427, 07428, 07429, 07430, 07431, 07432, 07434, 07436, 07485, 07486, 07487, 07488, 07489, 07490, 07491, 07492, 07493, 07494, 07495, 07496, 07497, 07498, 07499, 07500, 10339, 13654, 13662, 13663, 13669, 13670, 13671, 13672, 13673, 13674, 13675, 13680, 13682, 13686, 13687, 13688, 13691, 13696, 13697, 13698, 13699, 13700, 13709, 13710, 13711, 13712, 13713, 13714, 13715, 13716, 13717, 13774, 13776, 13777, 13781, 13782, 13786, 13876, 13886, 13905, 13919, 13925, 13926, 13933, 13965, 13967, 13969, 13990, 14001, 14130, 14135, 14137, 14139, 14157, 14300, 14303, 14304, 14305, 14306, 14307, 14308, 14309, 14310, 14311, 14313, 14314, 14315, 14316, 14317, 14318, 14320, 14321, 14322, 14323, 14343, 14363, 14667, 14670, 15000, 15001, 15003, 15011, 15012, 15013, 15014, 15015, 15016, 15041, 15109, 15117, 15147, 15149, 15150, 15170, 15171, 15180, 15186, 15195, 15197, 15207, 15209, 15232, 15235, 15244, 15247, 15444, 15455, 15456, 15477, 15478, 15490, 15498, 15499, 15512, 15514, 15518, 15522, 15526, 15530, 15531, 15553, 15555, 15558, 15559, 15567, 15572, 15573, 15574, 15810, 15813, 15819, 15901, 15906, 15912, 15918, 15919, 15926, 15927, 15928, 15931, 15936, 15939, 15941, 15943, 15944, 15945, 15951, 15953, 15963, 15964, 15965, 15977, 15979, 15980, 15984, 15991, 15994, 16085, 16086, 16087, 19033, 19039, 19041, 19042, 19043, 19044, 19086, 19087, 19095, 19096, 19120, 19123, 19125, 19127, 19140, 19171, 19172, 19193, 19208, 19209, 19250, 19251, 19279, 19289, 19299, 19302, 19305, 19306, 19307, 19309, 19318, 19325, 19331, 19332, 19356, 19364, 19365, 19378, 19399, 19414, 19415, 19424, 19433, 19434, 19436, 19439, 19472, 19479, 19492, 19493, 19494, 19504, 19505, 19510, 19511, 19512, 19513, 19514, 19515, 19516, 19529, 19577, 19578, 19579, 19580, 19581, 19582, 19602, 19603, 19606, 19607, 19610, 19611, 19613, 19614, 19615, 19616, 19617, 19621, 19622, 19623, 19624, 19625, 19626, 19628, 19629, 19630, 19631, 19632, 19633, 19634, 19635, 19636, 19637, 19638, 19639, 19640, 19641, 19642, 19643, 19644, 19645, 19646, 19647, 19648, 19649, 19651, 19652, 19653, 19654, 19655, 19656, 19657, 19658, 19659, 19660, 19661, 19662, 19664, 19666, 19667, 19668, 19669, 19673, 19674, 19675, 19676, 19677, 19679, 19680, 19681, 19682, 19683, 19694, 19695, 19697, 19698, 19701, 19706, 19723, 19764], [(more_precip/more_precip)], [historical], None,None))
Get data for a parameter from another dataset:
In [19]: from wetterdienst import Resolution, Period
In [20]: from wetterdienst.provider.dwd.observation import DwdObservationRequest
In [21]: observation_data = DwdObservationRequest(
....: parameter=[("precipitation_height", "precipitation_more")],
....: resolution=Resolution.DAILY,
....: period=Period.HISTORICAL
....: )
....:
In [22]: print(next(stations.all().values.query()))
ValuesResult(df=shape: (105_920, 6)
┌────────────┬────────────────────┬────────────────────┬─────────────────────────┬───────┬─────────┐
│ station_id ┆ dataset ┆ parameter ┆ date ┆ value ┆ quality │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str ┆ datetime[μs, UTC] ┆ f64 ┆ f64 │
╞════════════╪════════════════════╪════════════════════╪═════════════════════════╪═══════╪═════════╡
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-01 00:00:00 UTC ┆ 0.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-02 00:00:00 UTC ┆ 1.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-03 00:00:00 UTC ┆ 0.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-04 00:00:00 UTC ┆ 1.0 ┆ 1.0 │
│ 00001 ┆ precipitation_more ┆ precipitation_form ┆ 1912-01-05 00:00:00 UTC ┆ 7.0 ┆ 1.0 │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-26 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-27 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-28 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-29 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
│ 00001 ┆ precipitation_more ┆ snow_depth_new ┆ 1986-06-30 00:00:00 UTC ┆ 0.0 ┆ 10.0 │
└────────────┴────────────────────┴────────────────────┴─────────────────────────┴───────┴─────────┘, stations=StationsResult(df=shape: (5_740, 8)
┌────────────┬─────────────┬─────────────┬──────────┬───────────┬────────┬────────────┬────────────┐
│ station_id ┆ start_date ┆ end_date ┆ latitude ┆ longitude ┆ height ┆ name ┆ state │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ datetime[μs ┆ datetime[μs ┆ f64 ┆ f64 ┆ f64 ┆ str ┆ str │
│ ┆ , UTC] ┆ , UTC] ┆ ┆ ┆ ┆ ┆ │
╞════════════╪═════════════╪═════════════╪══════════╪═══════════╪════════╪════════════╪════════════╡
│ 00001 ┆ 1912-01-01 ┆ 1986-06-30 ┆ 47.8413 ┆ 8.8493 ┆ 478.0 ┆ Aach ┆ Baden-Würt │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ temberg │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00002 ┆ 1951-01-01 ┆ 2006-12-31 ┆ 50.8066 ┆ 6.0996 ┆ 138.0 ┆ Aachen (Kl ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ äranlage) ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00003 ┆ 1891-01-01 ┆ 2011-03-31 ┆ 50.7827 ┆ 6.0941 ┆ 202.0 ┆ Aachen ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00004 ┆ 1951-01-01 ┆ 1979-10-31 ┆ 50.7683 ┆ 6.1207 ┆ 243.0 ┆ Aachen-Bra ┆ Nordrhein- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ nd ┆ Westfalen │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 00006 ┆ 1982-11-01 ┆ 2024-10-05 ┆ 48.8361 ┆ 10.0598 ┆ 455.0 ┆ Aalen-Unte ┆ Baden-Würt │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ rrombach ┆ temberg │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 19698 ┆ 1945-04-01 ┆ 2006-12-31 ┆ 50.448 ┆ 12.3052 ┆ 595.0 ┆ Werda/Vogt ┆ Sachsen │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ land ┆ │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19701 ┆ 1931-01-01 ┆ 2004-12-31 ┆ 48.5575 ┆ 10.6742 ┆ 430.0 ┆ Wertingen/ ┆ Bayern │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ Zusam ┆ │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19706 ┆ 1941-01-01 ┆ 2003-12-31 ┆ 48.2851 ┆ 8.5764 ┆ 516.0 ┆ Oberndorf ┆ Baden-Würt │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ am Neckar ┆ temberg │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19723 ┆ 2023-04-01 ┆ 2024-10-05 ┆ 49.4966 ┆ 7.658 ┆ 220.0 ┆ Weilerbach ┆ Rheinland- │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ Pfalz │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
│ 19764 ┆ 1945-08-01 ┆ 1978-04-15 ┆ 50.77 ┆ 12.55 ┆ 285.0 ┆ Thurm ┆ Sachsen │
│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ (Mülsen) ┆ │
│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ │
└────────────┴─────────────┴─────────────┴──────────┴───────────┴────────┴────────────┴────────────┘), values=DwdObservationRequestValues([00001, 00002, 00003, 00004, 00006, 00007, 00008, 00009, 00010, 00012, 00013, 00014, 00015, 00016, 00017, 00018, 00019, 00020, 00021, 00022, 00023, 00024, 00025, 00026, 00027, 00028, 00030, 00031, 00032, 00033, 00034, 00035, 00036, 00037, 00038, 00039, 00040, 00041, 00042, 00043, 00044, 00045, 00047, 00048, 00050, 00051, 00052, 00053, 00054, 00055, 00056, 00057, 00058, 00059, 00060, 00061, 00062, 00063, 00064, 00065, 00066, 00067, 00068, 00069, 00070, 00071, 00072, 00073, 00074, 00075, 00076, 00077, 00078, 00079, 00080, 00081, 00082, 00083, 00084, 00085, 00086, 00087, 00088, 00089, 00091, 00092, 00093, 00094, 00095, 00096, 00097, 00098, 00099, 00100, 00101, 00103, 00104, 00105, 00107, 00108, 00109, 00110, 00111, 00112, 00113, 00115, 00116, 00117, 00118, 00119, 00120, 00121, 00122, 00123, 00124, 00127, 00128, 00129, 00130, 00131, 00132, 00133, 00134, 00135, 00137, 00138, 00139, 00140, 00142, 00143, 00144, 00145, 00147, 00148, 00149, 00150, 00151, 00152, 00153, 00154, 00155, 00156, 00158, 00159, 00160, 00161, 00162, 00163, 00164, 00165, 00166, 00167, 00168, 00169, 00170, 00172, 00173, 00174, 00175, 00177, 00178, 00179, 00180, 00182, 00183, 00184, 00185, 00186, 00187, 00188, 00189, 00190, 00191, 00192, 00193, 00194, 00196, 00198, 00199, 00200, 00201, 00202, 00203, 00204, 00205, 00206, 00207, 00208, 00209, 00211, 00213, 00214, 00215, 00216, 00217, 00218, 00219, 00220, 00221, 00222, 00223, 00224, 00225, 00226, 00227, 00228, 00229, 00230, 00231, 00232, 00234, 00235, 00236, 00237, 00240, 00242, 00243, 00244, 00245, 00246, 00247, 00248, 00249, 00250, 00251, 00252, 00255, 00256, 00257, 00259, 00260, 00262, 00264, 00266, 00267, 00268, 00269, 00270, 00271, 00272, 00273, 00274, 00275, 00276, 00277, 00278, 00279, 00280, 00281, 00282, 00283, 00284, 00285, 00287, 00288, 00289, 00290, 00291, 00292, 00293, 00294, 00295, 00296, 00297, 00298, 00301, 00303, 00304, 00306, 00308, 00309, 00310, 00311, 00312, 00313, 00314, 00315, 00316, 00317, 00318, 00319, 00320, 00322, 00324, 00325, 00326, 00327, 00328, 00329, 00330, 00331, 00332, 00333, 00334, 00335, 00336, 00337, 00338, 00339, 00340, 00342, 00343, 00344, 00345, 00346, 00347, 00348, 00349, 00351, 00352, 00353, 00354, 00355, 00356, 00357, 00358, 00359, 00360, 00361, 00363, 00364, 00365, 00366, 00369, 00371, 00372, 00374, 00375, 00376, 00377, 00378, 00379, 00381, 00382, 00383, 00384, 00385, 00386, 00387, 00388, 00389, 00390, 00391, 00392, 00394, 00399, 00400, 00401, 00402, 00403, 00404, 00406, 00407, 00409, 00410, 00412, 00413, 00414, 00416, 00417, 00418, 00419, 00420, 00421, 00422, 00425, 00426, 00427, 00429, 00430, 00432, 00433, 00434, 00435, 00436, 00437, 00438, 00439, 00440, 00441, 00442, 00444, 00445, 00446, 00447, 00448, 00449, 00450, 00451, 00452, 00453, 00454, 00455, 00456, 00457, 00459, 00460, 00461, 00462, 00463, 00464, 00465, 00466, 00467, 00469, 00470, 00471, 00472, 00473, 00474, 00475, 00476, 00477, 00478, 00479, 00480, 00481, 00483, 00484, 00485, 00486, 00487, 00488, 00489, 00490, 00491, 00492, 00493, 00494, 00495, 00496, 00497, 00498, 00499, 00500, 00501, 00502, 00503, 00504, 00505, 00506, 00507, 00509, 00510, 00511, 00512, 00513, 00514, 00515, 00516, 00517, 00518, 00519, 00520, 00521, 00523, 00524, 00525, 00526, 00527, 00528, 00529, 00530, 00531, 00533, 00535, 00536, 00537, 00538, 00539, 00540, 00541, 00542, 00543, 00544, 00545, 00546, 00547, 00548, 00549, 00550, 00551, 00552, 00553, 00554, 00555, 00556, 00557, 00558, 00559, 00560, 00561, 00562, 00563, 00564, 00565, 00566, 00567, 00568, 00569, 00571, 00572, 00573, 00574, 00575, 00576, 00577, 00578, 00579, 00580, 00581, 00582, 00583, 00584, 00585, 00586, 00587, 00588, 00589, 00590, 00591, 00592, 00593, 00595, 00596, 00597, 00598, 00599, 00602, 00603, 00604, 00605, 00606, 00608, 00609, 00610, 00611, 00612, 00613, 00614, 00615, 00616, 00617, 00618, 00619, 00621, 00622, 00623, 00624, 00625, 00626, 00628, 00629, 00630, 00631, 00632, 00633, 00637, 00638, 00639, 00640, 00641, 00642, 00643, 00644, 00645, 00646, 00647, 00648, 00650, 00652, 00653, 00654, 00655, 00656, 00658, 00659, 00660, 00661, 00662, 00663, 00664, 00665, 00666, 00667, 00668, 00669, 00670, 00671, 00672, 00673, 00674, 00676, 00678, 00679, 00680, 00681, 00682, 00683, 00684, 00685, 00686, 00687, 00688, 00689, 00690, 00691, 00692, 00693, 00694, 00695, 00696, 00697, 00698, 00699, 00700, 00701, 00702, 00703, 00704, 00705, 00706, 00707, 00708, 00709, 00710, 00711, 00712, 00713, 00714, 00715, 00716, 00717, 00718, 00719, 00720, 00721, 00722, 00723, 00724, 00725, 00726, 00727, 00729, 00731, 00733, 00734, 00735, 00736, 00737, 00738, 00740, 00741, 00742, 00744, 00745, 00746, 00747, 00749, 00750, 00751, 00752, 00753, 00754, 00755, 00756, 00757, 00758, 00759, 00760, 00761, 00765, 00767, 00768, 00769, 00770, 00771, 00772, 00773, 00774, 00775, 00776, 00777, 00778, 00779, 00780, 00782, 00783, 00787, 00788, 00789, 00790, 00791, 00792, 00793, 00794, 00795, 00796, 00797, 00798, 00799, 00800, 00801, 00802, 00803, 00804, 00805, 00806, 00808, 00809, 00810, 00811, 00812, 00813, 00815, 00816, 00817, 00818, 00819, 00820, 00821, 00822, 00823, 00824, 00825, 00826, 00827, 00828, 00830, 00831, 00834, 00835, 00836, 00837, 00838, 00839, 00840, 00842, 00843, 00845, 00846, 00847, 00848, 00849, 00850, 00851, 00853, 00854, 00855, 00856, 00857, 00858, 00859, 00860, 00861, 00862, 00863, 00864, 00866, 00867, 00868, 00869, 00870, 00871, 00873, 00874, 00875, 00876, 00877, 00878, 00880, 00881, 00882, 00883, 00884, 00885, 00886, 00887, 00888, 00889, 00890, 00891, 00892, 00893, 00894, 00895, 00896, 00897, 00898, 00899, 00900, 00901, 00902, 00903, 00904, 00905, 00908, 00910, 00911, 00913, 00915, 00916, 00917, 00918, 00919, 00920, 00923, 00924, 00925, 00926, 00928, 00929, 00930, 00931, 00932, 00934, 00935, 00936, 00937, 00939, 00940, 00941, 00942, 00943, 00944, 00945, 00946, 00947, 00948, 00949, 00951, 00952, 00953, 00955, 00956, 00957, 00958, 00959, 00960, 00961, 00962, 00963, 00964, 00965, 00966, 00967, 00968, 00970, 00971, 00972, 00973, 00974, 00975, 00976, 00977, 00978, 00979, 00982, 00983, 00984, 00985, 00986, 00987, 00988, 00989, 00990, 00991, 00992, 00993, 00994, 00995, 00996, 00997, 00998, 00999, 01000, 01001, 01002, 01003, 01004, 01005, 01006, 01007, 01008, 01009, 01012, 01014, 01015, 01016, 01017, 01018, 01019, 01020, 01021, 01022, 01024, 01025, 01026, 01027, 01028, 01029, 01030, 01031, 01032, 01033, 01034, 01036, 01038, 01039, 01040, 01041, 01042, 01043, 01044, 01046, 01047, 01048, 01049, 01050, 01051, 01052, 01053, 01054, 01055, 01056, 01057, 01058, 01060, 01062, 01064, 01065, 01066, 01067, 01068, 01069, 01070, 01071, 01072, 01073, 01074, 01075, 01076, 01077, 01078, 01079, 01080, 01081, 01082, 01083, 01084, 01085, 01086, 01087, 01088, 01089, 01090, 01091, 01092, 01093, 01095, 01096, 01097, 01098, 01099, 01100, 01101, 01102, 01103, 01104, 01105, 01106, 01107, 01108, 01109, 01110, 01111, 01112, 01113, 01114, 01115, 01116, 01117, 01118, 01120, 01121, 01122, 01123, 01124, 01125, 01127, 01128, 01129, 01130, 01133, 01134, 01135, 01136, 01137, 01138, 01139, 01140, 01141, 01142, 01143, 01144, 01145, 01146, 01147, 01148, 01149, 01150, 01151, 01152, 01153, 01154, 01155, 01156, 01159, 01160, 01161, 01162, 01165, 01166, 01167, 01168, 01169, 01170, 01171, 01172, 01174, 01175, 01176, 01177, 01178, 01179, 01180, 01181, 01182, 01183, 01184, 01186, 01187, 01188, 01189, 01190, 01191, 01192, 01193, 01194, 01195, 01196, 01197, 01199, 01200, 01201, 01202, 01203, 01204, 01205, 01206, 01207, 01208, 01209, 01210, 01211, 01212, 01213, 01214, 01215, 01216, 01219, 01220, 01221, 01223, 01224, 01225, 01226, 01227, 01229, 01230, 01231, 01232, 01233, 01234, 01235, 01236, 01237, 01238, 01239, 01240, 01241, 01242, 01243, 01244, 01245, 01246, 01247, 01248, 01250, 01251, 01252, 01254, 01255, 01256, 01257, 01258, 01259, 01262, 01264, 01265, 01266, 01267, 01268, 01269, 01270, 01271, 01272, 01273, 01274, 01275, 01276, 01277, 01278, 01279, 01280, 01282, 01283, 01284, 01285, 01286, 01287, 01288, 01290, 01291, 01292, 01293, 01294, 01296, 01297, 01298, 01299, 01300, 01301, 01303, 01304, 01305, 01307, 01308, 01309, 01310, 01311, 01312, 01314, 01315, 01317, 01318, 01319, 01320, 01321, 01322, 01323, 01325, 01326, 01327, 01328, 01329, 01330, 01332, 01333, 01334, 01335, 01336, 01337, 01340, 01342, 01345, 01346, 01349, 01350, 01351, 01352, 01353, 01356, 01357, 01358, 01360, 01361, 01362, 01363, 01365, 01368, 01369, 01370, 01371, 01373, 01374, 01375, 01376, 01377, 01378, 01379, 01380, 01381, 01382, 01383, 01384, 01385, 01386, 01387, 01388, 01390, 01391, 01392, 01393, 01394, 01395, 01396, 01397, 01398, 01399, 01400, 01401, 01403, 01404, 01405, 01406, 01408, 01409, 01410, 01411, 01412, 01413, 01414, 01417, 01418, 01419, 01420, 01421, 01424, 01425, 01426, 01427, 01428, 01429, 01430, 01431, 01432, 01433, 01435, 01436, 01437, 01438, 01439, 01440, 01441, 01443, 01444, 01445, 01446, 01447, 01448, 01449, 01450, 01451, 01452, 01453, 01454, 01456, 01457, 01458, 01459, 01460, 01461, 01462, 01463, 01464, 01465, 01466, 01467, 01468, 01469, 01470, 01472, 01473, 01474, 01475, 01476, 01477, 01478, 01479, 01480, 01482, 01483, 01484, 01486, 01488, 01489, 01490, 01492, 01494, 01495, 01496, 01497, 01498, 01500, 01501, 01502, 01503, 01504, 01506, 01507, 01508, 01509, 01510, 01512, 01513, 01514, 01517, 01518, 01519, 01520, 01521, 01522, 01523, 01524, 01525, 01526, 01527, 01528, 01529, 01530, 01531, 01532, 01533, 01534, 01536, 01537, 01538, 01539, 01540, 01541, 01543, 01544, 01546, 01547, 01548, 01549, 01550, 01551, 01552, 01554, 01555, 01556, 01557, 01558, 01559, 01560, 01561, 01562, 01563, 01564, 01565, 01566, 01568, 01569, 01570, 01571, 01573, 01574, 01575, 01576, 01577, 01578, 01579, 01580, 01581, 01582, 01583, 01584, 01585, 01586, 01587, 01588, 01589, 01590, 01593, 01595, 01597, 01598, 01599, 01600, 01601, 01602, 01603, 01604, 01605, 01607, 01608, 01609, 01610, 01611, 01612, 01613, 01614, 01615, 01616, 01617, 01618, 01619, 01620, 01621, 01622, 01623, 01624, 01625, 01626, 01627, 01628, 01629, 01631, 01632, 01633, 01634, 01635, 01636, 01637, 01638, 01639, 01640, 01641, 01642, 01643, 01644, 01645, 01646, 01647, 01648, 01649, 01650, 01651, 01652, 01653, 01654, 01655, 01656, 01657, 01658, 01659, 01660, 01661, 01662, 01663, 01664, 01665, 01666, 01667, 01668, 01669, 01671, 01673, 01674, 01677, 01678, 01679, 01680, 01681, 01682, 01683, 01684, 01685, 01686, 01687, 01688, 01689, 01690, 01691, 01692, 01693, 01694, 01695, 01696, 01697, 01698, 01699, 01700, 01701, 01702, 01703, 01704, 01705, 01706, 01708, 01709, 01711, 01712, 01714, 01715, 01716, 01717, 01718, 01719, 01720, 01721, 01722, 01723, 01724, 01725, 01726, 01727, 01728, 01729, 01730, 01731, 01732, 01733, 01734, 01735, 01736, 01737, 01738, 01740, 01741, 01742, 01743, 01744, 01745, 01746, 01747, 01748, 01749, 01750, 01751, 01753, 01754, 01755, 01756, 01757, 01758, 01759, 01760, 01762, 01763, 01764, 01765, 01766, 01767, 01768, 01769, 01770, 01771, 01772, 01773, 01775, 01776, 01777, 01779, 01780, 01781, 01782, 01783, 01784, 01785, 01786, 01787, 01788, 01789, 01790, 01791, 01792, 01793, 01795, 01796, 01797, 01798, 01799, 01800, 01801, 01802, 01803, 01804, 01805, 01806, 01807, 01808, 01809, 01810, 01811, 01812, 01813, 01814, 01815, 01816, 01817, 01818, 01819, 01820, 01821, 01822, 01823, 01824, 01825, 01826, 01827, 01829, 01830, 01832, 01833, 01834, 01835, 01836, 01837, 01838, 01839, 01840, 01841, 01842, 01844, 01845, 01847, 01848, 01849, 01850, 01852, 01853, 01855, 01856, 01857, 01858, 01860, 01861, 01863, 01864, 01865, 01866, 01867, 01868, 01869, 01870, 01871, 01872, 01873, 01875, 01876, 01877, 01878, 01879, 01880, 01881, 01882, 01883, 01884, 01885, 01886, 01887, 01888, 01889, 01891, 01893, 01894, 01895, 01897, 01898, 01899, 01901, 01903, 01904, 01905, 01906, 01907, 01908, 01909, 01910, 01911, 01912, 01913, 01914, 01915, 01916, 01917, 01918, 01919, 01920, 01921, 01923, 01926, 01927, 01928, 01929, 01930, 01933, 01934, 01935, 01936, 01937, 01939, 01940, 01941, 01942, 01943, 01944, 01945, 01946, 01947, 01948, 01949, 01950, 01951, 01952, 01953, 01954, 01955, 01956, 01957, 01958, 01959, 01960, 01961, 01962, 01964, 01965, 01967, 01968, 01970, 01971, 01972, 01973, 01974, 01975, 01976, 01977, 01978, 01979, 01980, 01981, 01982, 01983, 01984, 01985, 01986, 01987, 01989, 01990, 01991, 01992, 01993, 01994, 01995, 01996, 01998, 01999, 02000, 02001, 02002, 02003, 02004, 02005, 02006, 02007, 02008, 02009, 02010, 02011, 02012, 02013, 02014, 02015, 02016, 02017, 02018, 02019, 02020, 02021, 02022, 02023, 02024, 02025, 02026, 02027, 02028, 02029, 02030, 02031, 02032, 02034, 02036, 02037, 02038, 02039, 02041, 02044, 02045, 02046, 02047, 02048, 02049, 02050, 02052, 02053, 02054, 02056, 02057, 02058, 02059, 02061, 02062, 02063, 02064, 02065, 02066, 02067, 02068, 02069, 02070, 02072, 02073, 02074, 02075, 02077, 02078, 02079, 02080, 02081, 02082, 02083, 02084, 02085, 02086, 02087, 02088, 02089, 02090, 02091, 02092, 02094, 02095, 02096, 02097, 02098, 02099, 02101, 02102, 02103, 02104, 02105, 02106, 02107, 02108, 02109, 02110, 02111, 02112, 02113, 02114, 02115, 02116, 02117, 02118, 02119, 02120, 02121, 02122, 02123, 02124, 02125, 02126, 02127, 02128, 02129, 02130, 02131, 02132, 02133, 02134, 02135, 02136, 02137, 02138, 02139, 02140, 02141, 02142, 02143, 02144, 02145, 02146, 02147, 02148, 02149, 02150, 02151, 02152, 02153, 02154, 02155, 02156, 02157, 02158, 02159, 02160, 02161, 02162, 02163, 02166, 02167, 02168, 02169, 02170, 02171, 02172, 02173, 02174, 02175, 02176, 02177, 02178, 02179, 02180, 02181, 02182, 02183, 02184, 02185, 02186, 02188, 02189, 02190, 02191, 02192, 02193, 02194, 02195, 02196, 02197, 02198, 02199, 02200, 02201, 02202, 02203, 02204, 02205, 02206, 02208, 02209, 02210, 02211, 02212, 02213, 02214, 02215, 02216, 02217, 02218, 02219, 02220, 02223, 02224, 02225, 02226, 02227, 02228, 02229, 02230, 02231, 02232, 02233, 02234, 02235, 02236, 02237, 02238, 02239, 02240, 02241, 02242, 02243, 02244, 02245, 02246, 02247, 02248, 02249, 02250, 02251, 02252, 02253, 02254, 02255, 02256, 02257, 02258, 02259, 02260, 02261, 02262, 02263, 02264, 02265, 02266, 02267, 02268, 02271, 02272, 02273, 02274, 02275, 02276, 02277, 02278, 02279, 02280, 02281, 02282, 02283, 02284, 02285, 02286, 02288, 02290, 02291, 02292, 02293, 02294, 02295, 02296, 02298, 02299, 02300, 02301, 02302, 02303, 02304, 02305, 02306, 02307, 02308, 02309, 02310, 02311, 02312, 02313, 02314, 02316, 02317, 02318, 02319, 02321, 02322, 02323, 02324, 02325, 02326, 02327, 02328, 02329, 02330, 02331, 02332, 02333, 02334, 02335, 02336, 02339, 02340, 02341, 02342, 02343, 02344, 02345, 02346, 02347, 02348, 02349, 02350, 02351, 02353, 02354, 02355, 02356, 02357, 02358, 02359, 02360, 02361, 02362, 02363, 02364, 02365, 02366, 02368, 02369, 02370, 02371, 02372, 02373, 02374, 02376, 02378, 02379, 02380, 02381, 02382, 02383, 02384, 02386, 02387, 02388, 02389, 02391, 02392, 02393, 02395, 02397, 02398, 02399, 02400, 02401, 02402, 02403, 02404, 02405, 02406, 02407, 02408, 02411, 02413, 02414, 02415, 02416, 02417, 02418, 02419, 02420, 02421, 02422, 02423, 02424, 02425, 02426, 02427, 02428, 02429, 02430, 02431, 02432, 02433, 02434, 02435, 02437, 02438, 02439, 02440, 02441, 02442, 02443, 02444, 02445, 02446, 02447, 02448, 02449, 02450, 02451, 02452, 02454, 02455, 02456, 02458, 02459, 02460, 02461, 02462, 02463, 02464, 02465, 02466, 02468, 02469, 02470, 02471, 02472, 02473, 02474, 02475, 02476, 02479, 02480, 02481, 02483, 02484, 02485, 02486, 02487, 02488, 02489, 02490, 02491, 02492, 02495, 02496, 02497, 02498, 02499, 02501, 02502, 02503, 02504, 02505, 02506, 02507, 02508, 02509, 02510, 02511, 02512, 02513, 02514, 02515, 02516, 02517, 02518, 02519, 02520, 02521, 02522, 02523, 02524, 02525, 02526, 02527, 02528, 02529, 02530, 02531, 02532, 02533, 02534, 02535, 02537, 02538, 02539, 02540, 02541, 02542, 02543, 02544, 02545, 02546, 02549, 02551, 02552, 02553, 02554, 02555, 02556, 02557, 02558, 02559, 02560, 02561, 02562, 02564, 02565, 02566, 02567, 02569, 02570, 02571, 02572, 02574, 02575, 02576, 02577, 02578, 02579, 02581, 02582, 02583, 02584, 02585, 02586, 02588, 02589, 02590, 02591, 02592, 02593, 02594, 02595, 02596, 02597, 02598, 02599, 02600, 02601, 02602, 02603, 02604, 02605, 02606, 02607, 02608, 02609, 02610, 02611, 02613, 02615, 02616, 02617, 02618, 02620, 02621, 02622, 02623, 02624, 02625, 02626, 02627, 02628, 02629, 02630, 02631, 02632, 02633, 02634, 02635, 02636, 02637, 02638, 02639, 02640, 02641, 02642, 02643, 02644, 02645, 02648, 02649, 02650, 02651, 02652, 02653, 02654, 02655, 02656, 02657, 02658, 02659, 02661, 02662, 02663, 02664, 02665, 02666, 02667, 02668, 02669, 02670, 02671, 02672, 02673, 02674, 02675, 02676, 02677, 02678, 02679, 02680, 02681, 02682, 02683, 02685, 02686, 02687, 02688, 02689, 02690, 02691, 02692, 02693, 02694, 02696, 02697, 02698, 02699, 02700, 02701, 02702, 02704, 02705, 02706, 02708, 02709, 02710, 02711, 02712, 02713, 02714, 02715, 02716, 02717, 02718, 02719, 02720, 02721, 02722, 02723, 02724, 02725, 02726, 02727, 02728, 02729, 02730, 02731, 02732, 02733, 02734, 02735, 02736, 02737, 02739, 02740, 02741, 02742, 02743, 02744, 02746, 02748, 02749, 02750, 02751, 02752, 02753, 02754, 02755, 02756, 02760, 02761, 02762, 02763, 02764, 02765, 02766, 02767, 02768, 02769, 02772, 02774, 02775, 02776, 02777, 02778, 02779, 02781, 02782, 02783, 02784, 02785, 02786, 02787, 02788, 02789, 02790, 02791, 02792, 02793, 02794, 02795, 02797, 02799, 02801, 02802, 02803, 02804, 02805, 02806, 02807, 02808, 02809, 02810, 02811, 02812, 02814, 02815, 02816, 02817, 02818, 02819, 02820, 02821, 02822, 02823, 02824, 02826, 02827, 02828, 02830, 02831, 02832, 02833, 02834, 02835, 02836, 02837, 02838, 02839, 02840, 02841, 02842, 02844, 02845, 02846, 02847, 02848, 02849, 02850, 02851, 02852, 02854, 02855, 02856, 02857, 02858, 02859, 02860, 02861, 02862, 02863, 02864, 02865, 02866, 02867, 02868, 02869, 02870, 02871, 02872, 02873, 02874, 02875, 02877, 02878, 02879, 02880, 02881, 02882, 02883, 02887, 02888, 02890, 02891, 02892, 02893, 02894, 02895, 02896, 02898, 02899, 02900, 02901, 02902, 02903, 02906, 02907, 02908, 02909, 02910, 02911, 02912, 02913, 02915, 02916, 02917, 02918, 02919, 02920, 02921, 02922, 02923, 02924, 02925, 02927, 02928, 02930, 02931, 02932, 02933, 02934, 02935, 02936, 02937, 02938, 02939, 02941, 02942, 02943, 02944, 02945, 02946, 02947, 02948, 02949, 02950, 02951, 02953, 02955, 02956, 02958, 02959, 02960, 02963, 02964, 02965, 02966, 02967, 02968, 02969, 02970, 02971, 02974, 02975, 02976, 02977, 02980, 02981, 02982, 02983, 02984, 02985, 02986, 02987, 02988, 02989, 02990, 02991, 02992, 02994, 02995, 02996, 02997, 02998, 02999, 03000, 03001, 03002, 03003, 03004, 03007, 03008, 03009, 03010, 03011, 03013, 03014, 03015, 03016, 03017, 03018, 03019, 03020, 03021, 03022, 03023, 03024, 03025, 03026, 03027, 03028, 03029, 03030, 03031, 03032, 03033, 03034, 03036, 03037, 03038, 03039, 03040, 03041, 03042, 03043, 03044, 03045, 03047, 03048, 03049, 03050, 03051, 03052, 03053, 03054, 03055, 03056, 03057, 03058, 03059, 03060, 03061, 03062, 03063, 03064, 03065, 03066, 03067, 03068, 03069, 03070, 03071, 03072, 03073, 03074, 03076, 03077, 03078, 03080, 03081, 03082, 03083, 03085, 03086, 03087, 03088, 03089, 03090, 03091, 03092, 03093, 03094, 03095, 03096, 03098, 03099, 03100, 03101, 03102, 03103, 03104, 03106, 03107, 03108, 03109, 03110, 03111, 03112, 03113, 03114, 03115, 03116, 03119, 03120, 03121, 03122, 03123, 03124, 03125, 03126, 03127, 03128, 03130, 03131, 03133, 03135, 03136, 03137, 03139, 03140, 03142, 03143, 03144, 03146, 03147, 03148, 03149, 03150, 03151, 03152, 03153, 03154, 03155, 03156, 03158, 03160, 03161, 03163, 03164, 03165, 03166, 03167, 03168, 03169, 03170, 03171, 03172, 03173, 03174, 03175, 03176, 03177, 03178, 03179, 03180, 03181, 03182, 03183, 03184, 03185, 03186, 03187, 03188, 03189, 03191, 03192, 03193, 03194, 03196, 03197, 03198, 03199, 03200, 03201, 03202, 03203, 03204, 03205, 03206, 03207, 03208, 03209, 03210, 03211, 03212, 03213, 03214, 03215, 03216, 03217, 03218, 03222, 03223, 03224, 03225, 03226, 03227, 03228, 03229, 03230, 03231, 03232, 03234, 03235, 03236, 03237, 03238, 03239, 03240, 03241, 03243, 03244, 03247, 03248, 03249, 03250, 03251, 03252, 03253, 03255, 03257, 03259, 03260, 03261, 03262, 03263, 03264, 03265, 03266, 03267, 03268, 03269, 03270, 03271, 03273, 03274, 03276, 03277, 03278, 03279, 03280, 03281, 03282, 03283, 03284, 03285, 03286, 03287, 03288, 03289, 03290, 03291, 03292, 03293, 03294, 03295, 03296, 03297, 03298, 03300, 03301, 03302, 03303, 03304, 03305, 03306, 03307, 03308, 03309, 03310, 03311, 03312, 03313, 03314, 03315, 03316, 03317, 03318, 03319, 03320, 03321, 03322, 03323, 03324, 03325, 03326, 03329, 03330, 03331, 03332, 03333, 03334, 03335, 03336, 03337, 03338, 03339, 03340, 03341, 03342, 03343, 03344, 03345, 03346, 03347, 03348, 03349, 03350, 03351, 03352, 03353, 03354, 03355, 03356, 03357, 03358, 03359, 03360, 03361, 03362, 03363, 03364, 03365, 03366, 03367, 03368, 03369, 03370, 03371, 03372, 03373, 03374, 03375, 03376, 03378, 03379, 03381, 03382, 03383, 03384, 03385, 03386, 03387, 03388, 03390, 03391, 03392, 03394, 03395, 03396, 03397, 03398, 03399, 03400, 03401, 03402, 03404, 03405, 03407, 03408, 03409, 03410, 03411, 03412, 03413, 03415, 03416, 03417, 03418, 03419, 03420, 03423, 03424, 03425, 03426, 03427, 03430, 03432, 03433, 03434, 03435, 03436, 03437, 03438, 03439, 03440, 03441, 03442, 03443, 03444, 03445, 03447, 03448, 03449, 03450, 03451, 03452, 03453, 03454, 03455, 03456, 03457, 03458, 03459, 03460, 03461, 03462, 03463, 03464, 03465, 03466, 03467, 03468, 03469, 03470, 03471, 03472, 03473, 03474, 03475, 03476, 03478, 03479, 03480, 03481, 03482, 03483, 03485, 03486, 03487, 03488, 03489, 03490, 03491, 03492, 03494, 03495, 03496, 03497, 03498, 03499, 03500, 03501, 03502, 03503, 03504, 03505, 03506, 03507, 03509, 03511, 03513, 03514, 03515, 03516, 03517, 03518, 03519, 03520, 03521, 03522, 03523, 03524, 03526, 03527, 03528, 03530, 03531, 03532, 03533, 03536, 03537, 03539, 03540, 03541, 03543, 03544, 03545, 03546, 03547, 03549, 03550, 03551, 03552, 03553, 03554, 03555, 03557, 03558, 03559, 03560, 03561, 03562, 03563, 03564, 03565, 03566, 03567, 03568, 03569, 03570, 03571, 03572, 03573, 03574, 03575, 03576, 03577, 03578, 03579, 03580, 03581, 03582, 03584, 03585, 03586, 03587, 03588, 03589, 03590, 03591, 03592, 03593, 03594, 03595, 03596, 03597, 03598, 03599, 03600, 03602, 03604, 03605, 03606, 03607, 03608, 03609, 03610, 03611, 03612, 03613, 03614, 03615, 03617, 03618, 03620, 03621, 03622, 03625, 03626, 03627, 03628, 03629, 03630, 03631, 03632, 03633, 03635, 03636, 03638, 03640, 03641, 03642, 03643, 03644, 03645, 03646, 03647, 03648, 03649, 03650, 03652, 03654, 03655, 03656, 03659, 03660, 03662, 03663, 03664, 03665, 03666, 03667, 03668, 03669, 03670, 03671, 03672, 03673, 03674, 03675, 03676, 03677, 03678, 03679, 03680, 03682, 03683, 03684, 03685, 03686, 03687, 03688, 03689, 03690, 03691, 03692, 03693, 03694, 03695, 03696, 03697, 03698, 03700, 03701, 03703, 03704, 03705, 03706, 03707, 03708, 03709, 03710, 03711, 03712, 03713, 03714, 03716, 03717, 03718, 03719, 03720, 03721, 03722, 03723, 03724, 03725, 03726, 03728, 03730, 03731, 03732, 03733, 03734, 03735, 03736, 03737, 03738, 03739, 03740, 03741, 03742, 03743, 03744, 03745, 03746, 03747, 03748, 03749, 03750, 03751, 03752, 03753, 03754, 03755, 03756, 03757, 03758, 03759, 03760, 03761, 03762, 03763, 03764, 03765, 03766, 03767, 03768, 03769, 03770, 03771, 03772, 03773, 03774, 03776, 03777, 03778, 03779, 03780, 03781, 03782, 03784, 03785, 03786, 03787, 03788, 03789, 03790, 03791, 03792, 03793, 03794, 03795, 03796, 03798, 03799, 03800, 03801, 03802, 03803, 03804, 03805, 03806, 03807, 03808, 03809, 03810, 03811, 03812, 03813, 03815, 03816, 03817, 03819, 03820, 03821, 03822, 03823, 03824, 03825, 03826, 03827, 03828, 03829, 03830, 03831, 03832, 03833, 03835, 03836, 03837, 03838, 03839, 03840, 03841, 03844, 03846, 03847, 03848, 03849, 03850, 03851, 03852, 03853, 03854, 03855, 03856, 03857, 03858, 03859, 03860, 03861, 03862, 03864, 03865, 03867, 03869, 03870, 03871, 03872, 03874, 03875, 03876, 03877, 03878, 03879, 03880, 03881, 03882, 03883, 03884, 03885, 03887, 03888, 03889, 03890, 03891, 03892, 03893, 03894, 03895, 03897, 03898, 03899, 03900, 03901, 03902, 03903, 03904, 03906, 03907, 03908, 03909, 03910, 03911, 03912, 03913, 03914, 03915, 03916, 03918, 03919, 03920, 03922, 03923, 03924, 03925, 03926, 03927, 03928, 03929, 03930, 03931, 03932, 03933, 03934, 03935, 03937, 03938, 03939, 03940, 03941, 03943, 03945, 03946, 03948, 03949, 03951, 03952, 03953, 03954, 03955, 03956, 03957, 03958, 03959, 03960, 03961, 03962, 03964, 03965, 03966, 03967, 03968, 03969, 03970, 03971, 03972, 03973, 03974, 03975, 03976, 03977, 03978, 03979, 03980, 03981, 03982, 03983, 03984, 03985, 03986, 03987, 03988, 03989, 03990, 03991, 03992, 03993, 03995, 03996, 03998, 03999, 04001, 04002, 04003, 04004, 04005, 04006, 04007, 04008, 04009, 04010, 04011, 04012, 04013, 04014, 04015, 04016, 04017, 04018, 04019, 04020, 04021, 04022, 04023, 04024, 04025, 04027, 04028, 04030, 04031, 04032, 04033, 04034, 04035, 04036, 04037, 04038, 04039, 04040, 04041, 04042, 04043, 04044, 04045, 04046, 04047, 04048, 04049, 04050, 04051, 04052, 04053, 04054, 04055, 04056, 04059, 04060, 04061, 04062, 04063, 04064, 04065, 04066, 04067, 04068, 04069, 04070, 04071, 04072, 04074, 04075, 04076, 04077, 04078, 04079, 04080, 04081, 04082, 04083, 04084, 04085, 04086, 04087, 04088, 04089, 04090, 04091, 04092, 04093, 04094, 04096, 04098, 04099, 04100, 04101, 04103, 04104, 04105, 04106, 04107, 04108, 04109, 04110, 04111, 04112, 04114, 04115, 04116, 04117, 04118, 04119, 04120, 04121, 04122, 04123, 04125, 04126, 04127, 04129, 04130, 04131, 04132, 04133, 04134, 04135, 04136, 04137, 04138, 04139, 04140, 04141, 04142, 04143, 04144, 04145, 04147, 04148, 04149, 04150, 04151, 04152, 04153, 04154, 04155, 04156, 04158, 04159, 04160, 04161, 04162, 04163, 04164, 04165, 04166, 04167, 04168, 04169, 04170, 04171, 04172, 04173, 04175, 04176, 04177, 04178, 04179, 04180, 04181, 04183, 04184, 04185, 04186, 04187, 04188, 04189, 04191, 04192, 04193, 04194, 04195, 04196, 04197, 04198, 04199, 04200, 04201, 04202, 04203, 04204, 04205, 04206, 04207, 04208, 04209, 04210, 04211, 04212, 04213, 04214, 04215, 04216, 04217, 04218, 04219, 04220, 04221, 04222, 04223, 04224, 04226, 04227, 04228, 04229, 04230, 04231, 04232, 04233, 04234, 04235, 04236, 04237, 04238, 04239, 04240, 04241, 04242, 04243, 04244, 04245, 04246, 04247, 04248, 04249, 04251, 04252, 04253, 04254, 04255, 04256, 04257, 04258, 04259, 04260, 04261, 04262, 04264, 04265, 04266, 04267, 04268, 04269, 04270, 04271, 04272, 04274, 04275, 04276, 04277, 04278, 04280, 04282, 04283, 04284, 04285, 04286, 04287, 04288, 04290, 04291, 04294, 04295, 04296, 04297, 04298, 04299, 04300, 04301, 04302, 04303, 04304, 04305, 04306, 04307, 04308, 04309, 04310, 04311, 04312, 04313, 04314, 04315, 04316, 04317, 04318, 04319, 04320, 04321, 04322, 04323, 04324, 04325, 04326, 04327, 04328, 04329, 04330, 04332, 04333, 04334, 04336, 04337, 04339, 04341, 04342, 04344, 04346, 04347, 04348, 04349, 04351, 04352, 04354, 04355, 04356, 04357, 04358, 04359, 04360, 04361, 04362, 04363, 04364, 04365, 04366, 04367, 04368, 04369, 04370, 04371, 04372, 04373, 04375, 04376, 04377, 04378, 04379, 04380, 04381, 04382, 04383, 04384, 04385, 04386, 04387, 04388, 04389, 04391, 04392, 04393, 04394, 04395, 04396, 04397, 04398, 04399, 04400, 04401, 04402, 04403, 04404, 04405, 04406, 04407, 04408, 04409, 04410, 04411, 04412, 04413, 04414, 04415, 04416, 04417, 04418, 04419, 04420, 04421, 04422, 04423, 04425, 04426, 04427, 04428, 04430, 04431, 04432, 04433, 04434, 04435, 04436, 04437, 04438, 04439, 04440, 04441, 04442, 04443, 04444, 04445, 04446, 04447, 04448, 04449, 04450, 04451, 04452, 04453, 04454, 04455, 04456, 04458, 04459, 04460, 04461, 04462, 04463, 04464, 04465, 04466, 04467, 04468, 04469, 04470, 04472, 04473, 04474, 04475, 04476, 04477, 04479, 04480, 04481, 04482, 04483, 04484, 04485, 04486, 04487, 04488, 04489, 04490, 04491, 04492, 04493, 04494, 04495, 04496, 04497, 04498, 04499, 04500, 04501, 04502, 04503, 04505, 04506, 04507, 04508, 04509, 04510, 04511, 04512, 04513, 04514, 04515, 04516, 04517, 04518, 04519, 04521, 04522, 04523, 04524, 04525, 04526, 04527, 04528, 04529, 04530, 04531, 04532, 04533, 04534, 04535, 04537, 04538, 04539, 04540, 04541, 04542, 04543, 04544, 04545, 04546, 04547, 04548, 04549, 04551, 04552, 04553, 04554, 04555, 04557, 04558, 04559, 04560, 04561, 04562, 04563, 04564, 04565, 04566, 04567, 04568, 04569, 04570, 04571, 04572, 04573, 04574, 04575, 04576, 04577, 04578, 04579, 04580, 04581, 04582, 04584, 04585, 04586, 04587, 04588, 04589, 04590, 04591, 04592, 04593, 04594, 04595, 04597, 04598, 04599, 04600, 04601, 04602, 04603, 04604, 04605, 04606, 04607, 04608, 04609, 04610, 04611, 04612, 04614, 04615, 04616, 04617, 04618, 04619, 04620, 04621, 04622, 04623, 04624, 04625, 04626, 04627, 04628, 04629, 04630, 04631, 04632, 04633, 04634, 04635, 04636, 04637, 04638, 04639, 04640, 04642, 04645, 04646, 04647, 04648, 04649, 04651, 04652, 04653, 04654, 04655, 04656, 04657, 04658, 04659, 04660, 04661, 04662, 04664, 04666, 04667, 04668, 04669, 04670, 04671, 04673, 04675, 04676, 04677, 04679, 04680, 04681, 04682, 04683, 04684, 04685, 04686, 04687, 04688, 04689, 04690, 04691, 04692, 04693, 04695, 04696, 04697, 04698, 04699, 04700, 04701, 04703, 04704, 04705, 04706, 04707, 04708, 04709, 04710, 04711, 04712, 04713, 04714, 04715, 04716, 04717, 04718, 04719, 04720, 04721, 04722, 04725, 04726, 04727, 04729, 04730, 04731, 04732, 04733, 04734, 04736, 04737, 04738, 04739, 04740, 04741, 04742, 04743, 04744, 04745, 04746, 04747, 04748, 04749, 04750, 04751, 04752, 04754, 04755, 04756, 04757, 04758, 04759, 04761, 04762, 04763, 04765, 04766, 04767, 04768, 04769, 04770, 04771, 04772, 04773, 04774, 04775, 04776, 04777, 04778, 04779, 04780, 04781, 04782, 04783, 04784, 04785, 04786, 04788, 04789, 04790, 04791, 04792, 04793, 04794, 04797, 04798, 04799, 04800, 04802, 04803, 04804, 04805, 04806, 04807, 04808, 04809, 04810, 04811, 04812, 04813, 04814, 04815, 04816, 04817, 04818, 04819, 04820, 04821, 04822, 04823, 04824, 04825, 04828, 04829, 04830, 04831, 04832, 04833, 04834, 04835, 04836, 04837, 04838, 04840, 04841, 04842, 04843, 04844, 04845, 04846, 04848, 04849, 04850, 04851, 04852, 04853, 04854, 04855, 04856, 04857, 04858, 04859, 04860, 04863, 04864, 04865, 04866, 04867, 04868, 04871, 04872, 04873, 04874, 04875, 04876, 04877, 04878, 04879, 04881, 04882, 04883, 04884, 04885, 04887, 04888, 04889, 04890, 04891, 04893, 04894, 04895, 04896, 04897, 04898, 04899, 04900, 04902, 04903, 04904, 04905, 04906, 04907, 04908, 04909, 04910, 04911, 04912, 04913, 04914, 04915, 04916, 04917, 04918, 04920, 04921, 04922, 04923, 04925, 04926, 04927, 04928, 04931, 04932, 04933, 04934, 04935, 04936, 04937, 04938, 04940, 04941, 04942, 04943, 04944, 04945, 04946, 04948, 04949, 04950, 04951, 04952, 04953, 04954, 04955, 04956, 04957, 04958, 04959, 04960, 04961, 04962, 04963, 04964, 04965, 04966, 04967, 04968, 04969, 04970, 04971, 04973, 04974, 04975, 04976, 04977, 04978, 04979, 04980, 04981, 04982, 04983, 04984, 04985, 04986, 04987, 04988, 04989, 04990, 04991, 04992, 04993, 04994, 04995, 04996, 04997, 04998, 05000, 05001, 05002, 05003, 05004, 05005, 05006, 05007, 05008, 05009, 05011, 05012, 05014, 05015, 05016, 05017, 05018, 05019, 05020, 05021, 05022, 05023, 05024, 05026, 05027, 05028, 05029, 05030, 05031, 05032, 05033, 05034, 05035, 05037, 05038, 05039, 05040, 05042, 05043, 05044, 05045, 05046, 05047, 05049, 05050, 05051, 05053, 05054, 05056, 05057, 05058, 05059, 05060, 05061, 05062, 05063, 05064, 05065, 05066, 05067, 05068, 05069, 05070, 05071, 05072, 05073, 05074, 05075, 05077, 05078, 05079, 05080, 05081, 05082, 05083, 05084, 05085, 05086, 05087, 05088, 05089, 05090, 05091, 05092, 05093, 05094, 05096, 05097, 05098, 05099, 05100, 05102, 05103, 05104, 05105, 05106, 05107, 05108, 05109, 05110, 05111, 05112, 05113, 05114, 05115, 05116, 05117, 05118, 05121, 05122, 05123, 05124, 05125, 05126, 05127, 05128, 05129, 05130, 05131, 05132, 05133, 05134, 05135, 05136, 05137, 05138, 05139, 05140, 05141, 05142, 05143, 05144, 05145, 05146, 05147, 05148, 05149, 05150, 05151, 05152, 05153, 05155, 05156, 05157, 05158, 05159, 05160, 05161, 05163, 05165, 05166, 05167, 05168, 05169, 05171, 05172, 05173, 05174, 05175, 05176, 05177, 05178, 05179, 05180, 05181, 05183, 05184, 05185, 05186, 05187, 05188, 05189, 05190, 05191, 05192, 05193, 05194, 05195, 05196, 05198, 05199, 05200, 05201, 05202, 05203, 05204, 05205, 05206, 05207, 05209, 05210, 05211, 05213, 05214, 05215, 05216, 05217, 05218, 05219, 05220, 05221, 05222, 05223, 05225, 05227, 05228, 05229, 05230, 05231, 05232, 05233, 05234, 05236, 05237, 05238, 05239, 05240, 05241, 05242, 05243, 05244, 05246, 05247, 05248, 05250, 05251, 05252, 05253, 05254, 05255, 05256, 05257, 05258, 05259, 05260, 05261, 05262, 05263, 05264, 05265, 05266, 05267, 05268, 05269, 05270, 05271, 05272, 05273, 05275, 05276, 05277, 05278, 05279, 05280, 05281, 05282, 05283, 05284, 05285, 05286, 05287, 05288, 05289, 05290, 05291, 05292, 05293, 05294, 05295, 05296, 05297, 05298, 05299, 05300, 05301, 05302, 05303, 05304, 05305, 05306, 05307, 05309, 05310, 05311, 05312, 05313, 05314, 05315, 05316, 05317, 05318, 05320, 05321, 05322, 05323, 05324, 05325, 05326, 05328, 05329, 05330, 05331, 05332, 05333, 05334, 05335, 05336, 05337, 05338, 05339, 05340, 05341, 05342, 05343, 05344, 05345, 05346, 05347, 05348, 05349, 05350, 05351, 05352, 05353, 05354, 05356, 05357, 05358, 05359, 05360, 05361, 05362, 05363, 05364, 05365, 05366, 05368, 05369, 05370, 05371, 05372, 05373, 05376, 05377, 05378, 05379, 05380, 05381, 05382, 05383, 05384, 05385, 05386, 05387, 05388, 05389, 05390, 05391, 05392, 05393, 05394, 05395, 05396, 05397, 05398, 05399, 05400, 05401, 05402, 05403, 05404, 05405, 05406, 05407, 05408, 05409, 05410, 05411, 05413, 05414, 05415, 05416, 05417, 05418, 05419, 05420, 05421, 05422, 05424, 05425, 05426, 05428, 05429, 05430, 05431, 05432, 05433, 05434, 05435, 05436, 05437, 05438, 05440, 05441, 05442, 05443, 05444, 05445, 05446, 05447, 05448, 05449, 05450, 05451, 05452, 05453, 05454, 05455, 05456, 05457, 05458, 05459, 05460, 05461, 05462, 05463, 05464, 05466, 05467, 05468, 05469, 05470, 05471, 05473, 05474, 05476, 05477, 05478, 05479, 05480, 05481, 05482, 05483, 05484, 05485, 05486, 05487, 05488, 05489, 05490, 05492, 05495, 05496, 05497, 05498, 05499, 05500, 05502, 05503, 05504, 05505, 05506, 05507, 05509, 05510, 05511, 05512, 05513, 05514, 05516, 05517, 05518, 05519, 05520, 05521, 05522, 05523, 05524, 05525, 05526, 05527, 05529, 05530, 05531, 05532, 05534, 05535, 05536, 05537, 05538, 05539, 05540, 05541, 05542, 05543, 05544, 05545, 05546, 05547, 05548, 05549, 05550, 05551, 05552, 05553, 05554, 05555, 05556, 05557, 05558, 05559, 05560, 05561, 05562, 05563, 05565, 05567, 05568, 05569, 05571, 05573, 05574, 05575, 05576, 05577, 05578, 05579, 05580, 05581, 05582, 05584, 05585, 05586, 05587, 05588, 05589, 05590, 05591, 05592, 05593, 05594, 05595, 05596, 05597, 05598, 05599, 05600, 05601, 05602, 05603, 05604, 05605, 05606, 05607, 05608, 05609, 05610, 05611, 05612, 05614, 05615, 05616, 05617, 05618, 05619, 05620, 05621, 05622, 05623, 05624, 05626, 05627, 05628, 05629, 05630, 05631, 05632, 05634, 05635, 05636, 05637, 05638, 05639, 05643, 05644, 05645, 05646, 05647, 05648, 05649, 05650, 05651, 05652, 05653, 05654, 05655, 05656, 05657, 05658, 05659, 05660, 05661, 05662, 05663, 05664, 05665, 05666, 05667, 05668, 05669, 05670, 05671, 05672, 05673, 05674, 05675, 05676, 05677, 05678, 05679, 05680, 05681, 05682, 05683, 05684, 05685, 05686, 05687, 05688, 05689, 05690, 05691, 05692, 05693, 05694, 05695, 05696, 05698, 05699, 05700, 05701, 05702, 05703, 05704, 05705, 05706, 05707, 05708, 05709, 05710, 05711, 05712, 05713, 05714, 05715, 05716, 05717, 05718, 05719, 05720, 05721, 05722, 05723, 05724, 05725, 05726, 05727, 05728, 05729, 05730, 05731, 05732, 05733, 05736, 05737, 05738, 05739, 05740, 05741, 05742, 05743, 05745, 05746, 05747, 05748, 05749, 05750, 05751, 05752, 05753, 05754, 05755, 05756, 05757, 05758, 05759, 05761, 05762, 05763, 05765, 05766, 05767, 05768, 05769, 05770, 05771, 05772, 05773, 05774, 05775, 05776, 05777, 05778, 05779, 05780, 05781, 05782, 05783, 05784, 05785, 05786, 05787, 05788, 05789, 05790, 05791, 05792, 05793, 05794, 05795, 05797, 05798, 05800, 05801, 05802, 05803, 05804, 05805, 05806, 05807, 05808, 05814, 05821, 05822, 05825, 05826, 05830, 05831, 05832, 05833, 05839, 05840, 05846, 05847, 05854, 05855, 05856, 05865, 05866, 05869, 05870, 05871, 05874, 05875, 05885, 05886, 05890, 05896, 05897, 05898, 05899, 05901, 05904, 05906, 05912, 05913, 05920, 05921, 05924, 05925, 05927, 05928, 05930, 05941, 05943, 05944, 05952, 05953, 05958, 05959, 05960, 05962, 05963, 05969, 05970, 05971, 05972, 05979, 05980, 05983, 05985, 05986, 05987, 05988, 05989, 05990, 05991, 05992, 05993, 05994, 06084, 06085, 06086, 06087, 06093, 06095, 06100, 06105, 06109, 06110, 06112, 06113, 06114, 06129, 06157, 06158, 06159, 06161, 06163, 06165, 06169, 06170, 06177, 06178, 06182, 06185, 06186, 06190, 06191, 06193, 06195, 06196, 06197, 06199, 06200, 06201, 06203, 06212, 06214, 06215, 06216, 06217, 06218, 06219, 06220, 06227, 06228, 06257, 06258, 06259, 06260, 06262, 06263, 06264, 06265, 06266, 06268, 06269, 06270, 06271, 06272, 06273, 06274, 06275, 06276, 06278, 06303, 06304, 06305, 06310, 06312, 06313, 06314, 06336, 06337, 06338, 06344, 06346, 06347, 07075, 07077, 07078, 07079, 07099, 07103, 07104, 07105, 07106, 07134, 07135, 07136, 07138, 07141, 07187, 07224, 07225, 07226, 07227, 07228, 07229, 07230, 07231, 07233, 07234, 07235, 07237, 07238, 07239, 07240, 07241, 07242, 07243, 07244, 07285, 07298, 07319, 07321, 07322, 07323, 07326, 07327, 07328, 07329, 07330, 07331, 07333, 07334, 07335, 07337, 07341, 07343, 07344, 07350, 07351, 07361, 07363, 07364, 07367, 07368, 07369, 07370, 07372, 07373, 07374, 07375, 07378, 07380, 07381, 07382, 07389, 07393, 07394, 07395, 07396, 07403, 07410, 07412, 07413, 07418, 07419, 07420, 07421, 07423, 07424, 07425, 07427, 07428, 07429, 07430, 07431, 07432, 07434, 07436, 07485, 07486, 07487, 07488, 07489, 07490, 07491, 07492, 07493, 07494, 07495, 07496, 07497, 07498, 07499, 07500, 10339, 13654, 13662, 13663, 13669, 13670, 13671, 13672, 13673, 13674, 13675, 13680, 13682, 13686, 13687, 13688, 13691, 13696, 13697, 13698, 13699, 13700, 13709, 13710, 13711, 13712, 13713, 13714, 13715, 13716, 13717, 13774, 13776, 13777, 13781, 13782, 13786, 13876, 13886, 13905, 13919, 13925, 13926, 13933, 13965, 13967, 13969, 13990, 14001, 14130, 14135, 14137, 14139, 14157, 14300, 14303, 14304, 14305, 14306, 14307, 14308, 14309, 14310, 14311, 14313, 14314, 14315, 14316, 14317, 14318, 14320, 14321, 14322, 14323, 14343, 14363, 14667, 14670, 15000, 15001, 15003, 15011, 15012, 15013, 15014, 15015, 15016, 15041, 15109, 15117, 15147, 15149, 15150, 15170, 15171, 15180, 15186, 15195, 15197, 15207, 15209, 15232, 15235, 15244, 15247, 15444, 15455, 15456, 15477, 15478, 15490, 15498, 15499, 15512, 15514, 15518, 15522, 15526, 15530, 15531, 15553, 15555, 15558, 15559, 15567, 15572, 15573, 15574, 15810, 15813, 15819, 15901, 15906, 15912, 15918, 15919, 15926, 15927, 15928, 15931, 15936, 15939, 15941, 15943, 15944, 15945, 15951, 15953, 15963, 15964, 15965, 15977, 15979, 15980, 15984, 15991, 15994, 16085, 16086, 16087, 19033, 19039, 19041, 19042, 19043, 19044, 19086, 19087, 19095, 19096, 19120, 19123, 19125, 19127, 19140, 19171, 19172, 19193, 19208, 19209, 19250, 19251, 19279, 19289, 19299, 19302, 19305, 19306, 19307, 19309, 19318, 19325, 19331, 19332, 19356, 19364, 19365, 19378, 19399, 19414, 19415, 19424, 19433, 19434, 19436, 19439, 19472, 19479, 19492, 19493, 19494, 19504, 19505, 19510, 19511, 19512, 19513, 19514, 19515, 19516, 19529, 19577, 19578, 19579, 19580, 19581, 19582, 19602, 19603, 19606, 19607, 19610, 19611, 19613, 19614, 19615, 19616, 19617, 19621, 19622, 19623, 19624, 19625, 19626, 19628, 19629, 19630, 19631, 19632, 19633, 19634, 19635, 19636, 19637, 19638, 19639, 19640, 19641, 19642, 19643, 19644, 19645, 19646, 19647, 19648, 19649, 19651, 19652, 19653, 19654, 19655, 19656, 19657, 19658, 19659, 19660, 19661, 19662, 19664, 19666, 19667, 19668, 19669, 19673, 19674, 19675, 19676, 19677, 19679, 19680, 19681, 19682, 19683, 19694, 19695, 19697, 19698, 19701, 19706, 19723, 19764], [(more_precip/more_precip)], [historical], None,None))
Mosmix¶
Get stations for MOSMIX-SMALL:
In [23]: from wetterdienst import Resolution, Period
In [24]: from wetterdienst.provider.dwd.mosmix import DwdMosmixRequest, DwdMosmixType
In [25]: stations = DwdMosmixRequest(parameter="large", mosmix_type=DwdMosmixType.LARGE)
In [26]: print(stations.all().df.head())
shape: (5, 9)
┌────────────┬─────────┬──────────────┬─────────────┬───┬───────────┬────────┬─────────────┬───────┐
│ station_id ┆ icao_id ┆ start_date ┆ end_date ┆ … ┆ longitude ┆ height ┆ name ┆ state │
│ --- ┆ --- ┆ --- ┆ --- ┆ ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ datetime[μs, ┆ datetime[μs ┆ ┆ f64 ┆ f64 ┆ str ┆ str │
│ ┆ ┆ UTC] ┆ , UTC] ┆ ┆ ┆ ┆ ┆ │
╞════════════╪═════════╪══════════════╪═════════════╪═══╪═══════════╪════════╪═════════════╪═══════╡
│ 01001 ┆ ENJA ┆ null ┆ null ┆ … ┆ -8.67 ┆ 10.0 ┆ JAN MAYEN ┆ null │
│ 01008 ┆ ENSB ┆ null ┆ null ┆ … ┆ 15.47 ┆ 29.0 ┆ SVALBARD ┆ null │
│ 01025 ┆ null ┆ null ┆ null ┆ … ┆ 18.92 ┆ 10.0 ┆ TROMSOE ┆ null │
│ 01028 ┆ ENBJ ┆ null ┆ null ┆ … ┆ 19.02 ┆ 16.0 ┆ BJORNOYA ┆ null │
│ 01049 ┆ ENAT ┆ null ┆ null ┆ … ┆ 23.37 ┆ 3.0 ┆ ALTA ┆ null │
│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ LUFTHAVN ┆ │
└────────────┴─────────┴──────────────┴─────────────┴───┴───────────┴────────┴─────────────┴───────┘
Get data for MOSMIX-LARGE:
In [27]: from wetterdienst import Resolution, Period
In [28]: from wetterdienst.provider.dwd.mosmix import DwdMosmixRequest, DwdMosmixType
In [29]: stations = DwdMosmixRequest(parameter="large", mosmix_type=DwdMosmixType.LARGE).filter_by_station_id(
....: station_id=["01001", "01008"]
....: )
....:
In [30]: print(stations.values.all().df.head())
shape: (5, 6)
┌────────────┬─────────┬───────────────────────┬─────────────────────────┬───────┬─────────┐
│ station_id ┆ dataset ┆ parameter ┆ date ┆ value ┆ quality │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str ┆ datetime[μs, UTC] ┆ f64 ┆ f64 │
╞════════════╪═════════╪═══════════════════════╪═════════════════════════╪═══════╪═════════╡
│ 01001 ┆ large ┆ cloud_cover_above_7km ┆ 2024-10-06 16:00:00 UTC ┆ 4.0 ┆ null │
│ 01001 ┆ large ┆ cloud_cover_above_7km ┆ 2024-10-06 17:00:00 UTC ┆ 7.0 ┆ null │
│ 01001 ┆ large ┆ cloud_cover_above_7km ┆ 2024-10-06 18:00:00 UTC ┆ 0.0 ┆ null │
│ 01001 ┆ large ┆ cloud_cover_above_7km ┆ 2024-10-06 19:00:00 UTC ┆ null ┆ null │
│ 01001 ┆ large ┆ cloud_cover_above_7km ┆ 2024-10-06 20:00:00 UTC ┆ null ┆ null │
└────────────┴─────────┴───────────────────────┴─────────────────────────┴───────┴─────────┘
Radar¶
Sites¶
Retrieve information about all OPERA radar sites.
In [31]: from wetterdienst.provider.eumetnet.opera.sites import OperaRadarSites
# Acquire information for all OPERA sites.
In [32]: sites = OperaRadarSites().all()
In [33]: print(f"Number of OPERA radar sites: {len(sites)}")
Number of OPERA radar sites: 205
# Acquire information for a specific OPERA site.
In [34]: site_ukdea = OperaRadarSites().by_odim_code("ukdea")
In [35]: print(site_ukdea)
{'number': 1312, 'country': 'United Kingdom', 'countryid': 'EGRR61', 'oldcountryid': 'UK61', 'wmocode': 3859, 'wigosid': None, 'odimcode': 'ukdea', 'location': 'Dean Hill', 'status': True, 'latitude': 51.0307, 'longitude': -1.6534, 'heightofstation': 155.0, 'band': 'C', 'doppler': True, 'polarization': 'D', 'maxrange': 255, 'startyear': 2005, 'heightantenna': 180.0, 'diametrantenna': 3.66, 'beam': 1.0, 'gain': 43.0, 'frequency': 5.627, 'stratus': None, 'cirusnimbus': None, 'wrwp': None}
Retrieve information about the DWD radar sites.
In [36]: from wetterdienst.provider.dwd.radar.api import DwdRadarSites
# Acquire information for a specific site.
In [37]: site_asb = DwdRadarSites().by_odim_code("ASB")
In [38]: print(site_asb)
{'number': 1389, 'country': 'Germany', 'countryid': 'EDZW40', 'oldcountryid': 'DL40', 'wmocode': 10103, 'wigosid': None, 'odimcode': 'deasb', 'location': 'Isle of Borkum', 'status': True, 'latitude': 53.564, 'longitude': 6.7482, 'heightofstation': 4.0, 'band': 'C', 'doppler': True, 'polarization': 'S', 'maxrange': 180, 'startyear': 2018, 'heightantenna': 36.2, 'diametrantenna': 2.4, 'beam': 1.57, 'gain': 41.55, 'frequency': 5.64, 'stratus': None, 'cirusnimbus': None, 'wrwp': None}
Data¶
To use DWDRadarRequest
, you have to provide a RadarParameter
,
which designates the type of radar data you want to obtain. There is
radar data available at different locations within the DWD data repository:
https://opendata.dwd.de/climate_environment/CDC/grids_germany/daily/radolan/
https://opendata.dwd.de/climate_environment/CDC/grids_germany/hourly/radolan/
https://opendata.dwd.de/climate_environment/CDC/grids_germany/5_minutes/radolan/
For RADOLAN_CDC
-data, the time resolution parameter (either hourly or daily)
must be specified.
The date_times
(list of datetimes or strings) or a start_date
and end_date
parameters can optionally be specified to obtain data
from specific points in time.
For RADOLAN_CDC
-data, datetimes are rounded to HH:50min
, as the
data is packaged for this minute step.
This is an example on how to acquire RADOLAN_CDC
data using
wetterdienst
and process it using wradlib
.
For more examples, please have a look at examples/radar/.
from wetterdienst.provider.dwd.radar import DwdRadarValues, DwdRadarParameter, DwdRadarResolution
import wradlib as wrl
radar = DwdRadarValues(
radar_parameter=DwdRadarParameter.RADOLAN_CDC,
resolution=DwdRadarResolution.DAILY,
start_date="2020-09-04T12:00:00",
end_date="2020-09-04T12:00:00"
)
for item in radar.query():
# Decode item.
timestamp, buffer = item
# Decode data using wradlib.
data, attributes = wrl.io.read_radolan_composite(buffer)
# Do something with the data (numpy.ndarray) here.