Математический форум Math Help Planet
http://mathhelpplanet.com/

Ортогональные латинские квадраты 10-го порядка
http://mathhelpplanet.com/viewtopic.php?f=57&t=46638
Страница 85 из 421

Автор:  Avgust [ 09 мар 2016, 22:26 ]
Заголовок сообщения:  Re: Ортогональные латинские квадраты 10-го порядка

Nataly-Mak
Эту систему относительно каких параметров решать? И почему х11 и х41 такие длинные, откуда взялось 16 справа от х11 ? Как-то не все понимаю :oops:.

Автор:  Nataly-Mak [ 09 мар 2016, 22:43 ]
Заголовок сообщения:  Re: Ортогональные латинские квадраты 10-го порядка

Avgust
Это не система. Это общая формула для ДЛК.

Решать никакие системы не надо. Система уже была мной составлена и решена.
Вы видите общее решение системы.
Теперь те перменные, что справа в формулах - это свободные переменные. Их надо перебирать.
А те переменные, что слева в формулах, - это зависимые переменные, они вычисляются.

Вот вы задали значения для свободной переменной x26 и вычислили по формуле значение переменной x1.
И так далее для всех зависимых переменных.
Главное - хорошо организовать перебор. Ну, тут всего 19 вложенных циклов. Перебор идёт очень быстро и квадратов много получается.

Автор:  Avgust [ 09 мар 2016, 23:07 ]
Заголовок сообщения:  Re: Ортогональные латинские квадраты 10-го порядка

Nataly-Mak
А можно генерировать 19 параметров случайным образом? При таком количестве вероятность повторов мизерная. И наверняка решения могут оказаться самые неожиданные.

Автор:  Nataly-Mak [ 09 мар 2016, 23:18 ]
Заголовок сообщения:  Re: Ортогональные латинские квадраты 10-го порядка

Avgust писал(а):
А можно генерировать 19 параметров случайным образом? При таком количестве вероятность повторов мизерная. И наверняка решения могут оказаться самые неожиданные.

Можно.
Но не забывайте, что надо следить за различностью всех элементов в строках, столбцах и главных диагоналях. Иначе квадрат не будет ДЛК.
За этим у меня следит программа, конечно. Она все элементы сравнивает и одинаковые (в строках, столбцах, диагоналях) не пропускает.

Автор:  Avgust [ 09 мар 2016, 23:25 ]
Заголовок сообщения:  Re: Ортогональные латинские квадраты 10-го порядка

Nataly-Mak
Так лучше скиньте программу отслеживания допустимых 19 параметров. Так не хочется повторять ваши муки творческого программирования. Тем более, что я в Бейсике пишу :)

Автор:  Nataly-Mak [ 09 мар 2016, 23:45 ]
Заголовок сообщения:  Re: Ортогональные латинские квадраты 10-го порядка

Avgust
для вас всё, что угодно :)
Вот текст программы:

#COMPILE EXE
#DIM NONE


FUNCTION PBMAIN () AS LONG
LOCAL I,J,K,I2,I8,I14,I20,I25,I29,I37,I26,I30,I28,I16,I17,I19,I21,I42,I43,I38,I39,I45 AS LONG
LOCAL I1 AS LONG

DIM A(10,10) AS LONG, X(45) AS LONG

OPEN "A12.TXT" FOR OUTPUT AS #1

FOR I=1 TO 10:A(1,I)=I-1:NEXT I
X(31)=9:A(8,1)=9:X(32)=8:A(8,2)=8:X(33)=7:A(8,3)=7:X(34)=6:A(8,4)=6:X(35)=5:A(8,5)=5
A(8,6)=4:A(8,7)=3:A(8,8)=2:A(8,9)=1:A(8,10)=0

FOR I2=2 TO 9
IF I2<>8 THEN IF I2<>9-X(33) THEN 200
GOTO 1000
200 X(2)=I2:A(2,2)=X(2):A(2,9)=9-X(2)

X(27)=9-X(2)
IF X(27)<>1 THEN IF X(27)<>8 THEN 202
GOTO 1000

202 A(7,2)=X(27):A(7,9)=9-X(27)

FOR I8=0 TO 9
IF I8<>2 THEN IF I8<>7 THEN IF I8<>X(2) THEN IF 9-I8<>9 THEN 204
GOTO 998
204 X(8)=I8:A(3,3)=X(8):A(3,8)=9-X(8)

X(18)=9-X(8)
IF X(18)<>2 THEN IF X(18)<>7 THEN 206
GOTO 998

206 A(5,3)=X(18):A(5,8)=9-X(18)

FOR I14=1 TO 9
IF I14<>3 THEN IF I14<>6 THEN IF I14<>X(2) THEN IF I14<>X(8) THEN IF 9-I14<>9 THEN IF I14<>9-X(33) THEN 208
GOTO 996
208 X(14)=I14:A(4,4)=X(14):A(4,7)=9-X(14)

X(44)=9-X(14)
IF X(44)<>3 THEN IF X(44)<>6 THEN 210
GOTO 996
210 A(10,4)=X(44):A(10,7)=9-X(44)

FOR I20=1 TO 9
IF I20<>4 THEN IF I20<>5 THEN IF I20<>X(2) THEN IF I20<>X(8) THEN IF I20<>X(14) THEN IF 9-I20<>9 THEN IF I20<>9-X(33) THEN 212
GOTO 994
212 X(20)=I20:A(5,5)=X(20):A(5,6)=9-X(20)

X(10)=9-X(20)
IF X(10)<>4 THEN IF X(10)<>5 THEN IF X(10)<>X(8) THEN IF X(10)<>9-X(8) THEN 214
GOTO 994
214 A(3,5)=X(10):A(3,6)=9-X(10)

FOR I25=0 TO 8
IF I25<>4 THEN IF I25<>5 THEN IF I25<>X(10) THEN IF I25<>X(20) THEN IF I25<>X(33) THEN IF I25<>9-X(20) THEN IF I25<>9-X(14) THEN IF I25<>9-X(8) THEN IF I25<>9-X(2) THEN 216
GOTO 992
216 X(25)=I25:A(6,5)=X(25):A(6,6)=9-X(25)

X(40)=9-X(25)
IF X(40)<>4 THEN IF X(40)<>5 THEN IF X(40)<>X(8) THEN IF X(40)<>X(10) THEN IF X(40)<>X(20) THEN 218
GOTO 992
218 A(9,5)=X(40):A(9,6)=9-X(40)

FOR I29=0 TO 8
IF I29<>3 THEN IF I29<>6 THEN IF I29<>X(14) THEN IF I29<>X(27) THEN IF I29<>X(33) THEN IF I29<>9-X(20) THEN IF I29<>9-X(14) THEN IF I29<>9-X(8) THEN IF I29<>9-X(2) THEN IF I29<>X(25) THEN IF I29<>X(44) THEN IF I29<>9-X(27) THEN 220
GOTO 990
220 X(29)=I29:A(7,4)=X(29):A(7,7)=9-X(29)

X(4)=9-X(29)
IF X(4)<>3 THEN IF X(4)<>6 THEN IF X(4)<>X(2) THEN IF X(4)<>X(44) THEN IF X(4)<>X(14) THEN IF X(4)<>9-X(2) THEN 222
GOTO 990
222 A(2,4)=X(4):A(2,7)=9-X(4)

FOR I37=0 TO 8
IF I37<>1 THEN IF I37<>8 THEN IF I37<>X(2) THEN IF I37<>X(22) THEN IF I37<>X(27) THEN IF I37<>X(40) THEN IF I37<>9-X(40) THEN IF I37<>X(29) THEN IF I37<>X(25) THEN IF I37<>X(33) THEN IF I37<>9-X(20) THEN IF I37<>9-X(14) THEN 226
GOTO 988
226 IF I37<>9-X(8) THEN IF I37<>9-X(2) THEN 227
GOTO 988
227 X(37)=I37:A(9,2)=X(37):A(9,9)=9-X(37)

X(22)=9-X(37)
IF X(22)<>1 THEN IF X(22)<>8 THEN IF X(22)<>X(2) THEN IF X(22)<>X(27) THEN IF X(22)<>X(25) THEN IF X(22)<>9-X(25) THEN 228
GOTO 988
228 A(6,2)=X(22):A(6,9)=9-X(22)

x(41) = x(2)+ x(20)- x(25)+ x(14)- x(37)- x(29)+ x(8)-7
IF X(41)<>0 THEN IF X(41)<>9 THEN IF X(41)<>X(44) THEN IF X(41)<>9-X(44) THEN 230
GOTO 988
230 FOR I=25 TO 37 STEP 4
IF X(41)=X(I) THEN 988
NEXT I
FOR I=2 TO 20 STEP 6
IF X(41)=9-X(I) THEN 988
NEXT I
A(10,1)=X(41):A(10,10)=9-X(41)

x(11) = - x(2)- x(20)+ x(25)- x(14)+ x(37)+ x(29)- x(8)+16
IF X(11)<>0 THEN IF X(11)<>9 THEN IF X(11)<>X(14) THEN IF X(11)<>9-X(14) THEN 232
GOTO 988
232 A(4,1)=X(11):A(4,10)=9-X(11)

FOR I26=1 TO 8
IF I26<>X(11) THEN IF I26<>X(41) THEN IF I26<>X(27) THEN IF I26<>9-X(27) THEN IF I26<>X(29) THEN IF I26<>9-X(29) THEN 234
GOTO 986
234 X(26)=I26:A(7,1)=X(26):A(7,10)=9-X(26)

X(1)=9-X(26)
IF X(1)<>0 THEN IF X(1)<>9 THEN IF X(1)<>X(11) THEN IF X(1)<>X(41) THEN IF X(1)<>X(2) THEN IF X(1)<>9-X(2) THEN IF X(1)<>X(4) THEN IF X(1)<>9-X(4) THEN 236
GOTO 986
236 A(2,1)=X(1):A(2,10)=9-X(1)

FOR I30=0 TO 9
IF I30<>4 THEN IF I30<>5 THEN IF I30<>X(26) THEN IF I30<>9-X(26) THEN IF I30<>X(10) THEN IF I30<>X(20) THEN IF I30<>X(25) THEN IF I30<>X(40) THEN IF I30<>X(29) THEN IF I30<>9-X(29) THEN 238
GOTO 984
238 X(30)=I30:A(7,5)=X(30):A(7,6)=9-X(30)

X(5)=9-X(30)
IF X(5)<>4 THEN IF X(5)<>5 THEN IF X(5)<>X(1) THEN IF X(5)<>9-X(1) THEN IF X(5)<>X(2) THEN IF X(5)<>9-X(2) THEN IF X(5)<>X(4) THEN IF X(5)<>9-X(4) THEN 240
GOTO 984
240 IF X(5)<>X(10) THEN IF X(5)<>X(20) THEN IF X(5)<>X(20) THEN IF X(5)<>X(25) THEN IF X(5)<>X(40) THEN 242
GOTO 984
242 A(2,5)=X(5):A(2,6)=9-X(5)

FOR I28=0 TO 9
IF I28<>2 THEN IF I28<>7 THEN IF I28<>X(8) THEN IF I28<>X(18) THEN IF I28<>X(26) THEN IF I28<>9-X(26) THEN IF I28<>X(27) THEN IF I28<>9-X(27) THEN IF I28<>X(29) THEN IF I28<>9-X(29) THEN IF I28<>X(30) THEN IF I28<>9-X(30) THEN 244
GOTO 982
244 X(28)=I28:A(7,3)=X(28):A(7,8)=9-X(28)

X(3)=9-X(28)
IF X(3)<>2 THEN IF X(3)<>7 THEN IF X(3)<>X(1) THEN IF X(3)<>9-X(1) THEN IF X(3)<>X(2) THEN IF X(3)<>9-X(2) THEN IF X(3)<>X(4) THEN IF X(3)<>9-X(4) THEN IF X(3)<>X(5) THEN IF X(3)<>9-X(5) THEN 246
GOTO 982
246 IF X(3)<>X(8) THEN IF X(3)<>X(18) THEN IF X(3)<>X(28) THEN 248
GOTO 982
248 A(2,3)=X(3):A(2,8)=9-X(3)

FOR I16=1 TO 8
IF I16<>X(1) THEN IF I16<>X(6) THEN IF I16<>X(11) THEN IF I16<>X(26) THEN IF I16<>X(41) THEN IF I16<>X(18) THEN IF I16<>9-X(18) THEN IF I16<>X(20) THEN IF I16<>9-X(20) THEN 249
GOTO 980
249 X(16)=I16:A(5,1)=X(16):A(5,10)=9-X(16)

X(6)=9-X(16)
IF X(6)<>0 THEN IF X(6)<>9 THEN IF X(6)<>X(1) THEN IF X(6)<>X(11) THEN IF X(6)<>X(26) THEN IF X(6)<>X(41) THEN IF X(6)<>X(8) THEN IF X(6)<>9-X(8) THEN IF X(6)<>X(10) THEN IF X(6)<>9-X(10) THEN 250
GOTO 980
250 A(3,1)=X(6):A(3,10)=9-X(6)

FOR I17=0 TO 9
IF I17<>1 THEN IF I17<>8 THEN IF I17<>X(2) THEN IF I17<>X(22) THEN IF I17<>X(27) THEN IF I17<>X(37) THEN IF I17<>X(16) THEN IF I17<>9-X(16) THEN IF I17<>X(18) THEN IF I17<>9-X(18) THEN IF I17<>X(20) THEN IF I17<>9-X(20) THEN 252
GOTO 978
252 X(17)=I17:A(5,2)=X(17):A(5,9)=9-X(17)

X(7)=9-X(17)
IF X(7)<>1 THEN IF X(7)<>8 THEN IF X(7)<>X(2) THEN IF X(7)<>X(17) THEN IF X(7)<>X(22) THEN IF X(7)<>X(27) THEN IF X(7)<>X(37) THEN IF X(7)<>X(8) THEN IF X(7)<>9-X(8) THEN IF X(7)<>X(10) THEN IF X(7)<>9-X(10) THEN IF X(7)<>X(6) THEN IF X(7)<>9-X(6) THEN 254
GOTO 978
254 A(3,2)=X(7):A(3,9)=9-X(7)


FOR I19=0 TO 9
IF I19<>3 THEN IF I19<>6 THEN IF I19<>X(4) THEN IF I19<>X(14) THEN IF I19<>X(29) THEN IF I19<>X(44) THEN IF I19<>X(20) THEN IF I19<>9-X(20) THEN 256
GOTO 976
256 FOR I=16 TO 18
IF I19=X(I) THEN 976
IF I19=9-X(I) THEN 976
NEXT I
258 X(19)=I19:A(5,4)=X(19):A(5,7)=9-X(19)

X(9)=9-X(19)
IF X(9)<>3 THEN IF X(9)<>6 THEN IF X(9)<>X(4) THEN IF X(9)<>X(14) THEN IF X(9)<>X(29) THEN IF X(9)<>X(44) THEN IF X(9)<>X(10) THEN IF X(9)<>9-X(10) THEN 260
GOTO 976
260 FOR I=6 TO 8
IF X(9)=X(I) THEN 976
IF X(9)=9-X(I) THEN 976
NEXT I
262 A(3,4)=X(9):A(3,7)=9-X(9)

FOR I21=1 TO 8
IF I21<>X(26) THEN IF I21<>X(41) THEN IF I21<>X(22) THEN IF I21<>9-X(22) THEN IF I21<>X(25) THEN IF I21<>9-X(25) THEN 264
GOTO 974
264 FOR I=1 TO 16 STEP 5
IF I21=X(I) THEN 974
NEXT I
X(21)=I21:A(6,1)=X(21):A(6,10)=9-X(21)

X(36)=9-X(21)
IF X(36)<>0 THEN IF X(36)<>9 THEN IF X(36)<>X(41) THEN IF X(36)<>X(37) THEN IF X(36)<>9-X(37) THEN IF X(36)<>X(40) THEN IF X(36)<>9-X(40) THEN IF X(36)<>X(26) THEN 266
GOTO 974
266 FOR I=1 TO 16 STEP 5
IF X(36)=X(I) THEN 974
NEXT I
A(9,1)=X(36):A(9,10)=9-X(36)

FOR I42=0 TO 9
IF I42<>1 THEN IF I42<>X(41) THEN IF I42<>9-X(41) THEN IF I42<>X(44) THEN IF I42<>9-X(44) THEN IF I42<>X(2) THEN IF I42<>X(7) THEN 268
GOTO 972
268 FOR I=17 TO 37 STEP 5
IF I42=X(I) THEN 972
NEXT I
X(42)=I42:A(10,2)=X(42):A(10,9)=9-X(42)

X(12)=9-X(42)
IF X(12)<>1 THEN IF X(12)<>8 THEN IF X(12)<>X(2) THEN IF X(12)<>X(7) THEN IF X(12)<>X(11) THEN IF X(12)<>9-X(11) THEN IF X(12)<>X(14) THEN IF X(12)<>9-X(14) THEN 270
GOTO 972
270 FOR I=17 TO 42 STEP 5
IF X(12)=X(I) THEN 972
NEXT I
A(4,2)=X(12):A(4,9)=9-X(12)

FOR I43=0 TO 9
IF I43<>2 THEN IF I43<>7 THEN IF I43<>X(41) THEN IF I43<>9-X(41) THEN IF I43<>X(44) THEN IF I43<>9-X(44) THEN IF I43<>X(3) THEN IF I43<>X(8) THEN IF I43<>X(42) THEN IF I43<>9-X(42) THEN 272
GOTO 970
272 IF I43=X(18) THEN 970
IF I43=X(28) THEN 970
X(43)=I43:A(10,3)=X(43):A(10,8)=9-X(43)

X(13)=9-X(43)
IF X(13)<>2 THEN IF X(13)<>7 THEN IF X(13)<>X(3) THEN IF X(13)<>X(8) THEN IF X(13)<>X(18) THEN IF X(13)<>X(28) THEN IF X(13)<>X(11) THEN IF X(13)<>9-X(11) THEN IF X(13)<>X(12) THEN IF X(13)<>9-X(12) THEN 274
GOTO 970
274 IF X(13)=X(14) THEN 970
IF X(13)=9-X(14) THEN 972
A(4,3)=X(13):A(4,8)=9-X(13)

FOR I38=0 TO 9
IF I38<>2 THEN IF I38<>7 THEN IF I38<>X(36) THEN IF I38<>9-X(36) THEN IF I38<>X(37) THEN IF I38<>9-X(37) THEN IF I38<>X(40) THEN IF I38<>9-X(40) THEN IF I38<>X(28) THEN IF I38<>X(43) THEN 276
GOTO 968
276 FOR I=3 TO 18 STEP 5
IF I38=X(I) THEN 968
NEXT I
X(38)=I38:A(9,3)=X(38):A(9,8)=9-X(38)

X(23)=9-X(38)
IF X(23)<>2 THEN IF X(23)<>7 THEN IF X(23)<>X(21) THEN IF X(23)<>9-X(21) THEN IF X(23)<>X(22) THEN IF X(23)<>9-X(22) THEN IF X(23)<>X(25) THEN IF X(23)<>9-X(25) THEN IF X(23)<>X(28) THEN IF X(23)<>X(43) THEN 280
GOTO 968
280 FOR I=3 TO 18 STEP 5
IF X(23)=X(I) THEN 968
NEXT I
A(6,3)=X(23):A(6,8)=9-X(23)

FOR I39=0 TO 9
IF I39<>3 THEN IF I39<>6 THEN IF I39<>X(36) THEN IF I39<>9-X(36) THEN IF I39<>X(37) THEN IF I39<>9-X(37) THEN IF I39<>X(38) THEN IF I39<>9-X(38) THEN IF I39<>X(40) THEN IF I39<>9-X(40) THEN IF I39<>X(29) THEN IF I39<>X(44) THEN 282
GOTO 966
282 FOR I=4 TO 19 STEP 5
IF I39=X(I) THEN 966
NEXT I
X(39)=I39:A(9,4)=X(39):A(9,7)=9-X(39)

X(24)=9-X(39)
IF X(24)<>3 THEN IF X(24)<>6 THEN IF X(24)<>X(21) THEN IF X(24)<>9-X(21) THEN IF X(24)<>X(22) THEN IF X(24)<>9-X(22) THEN IF X(24)<>X(23) THEN IF X(24)<>9-X(23) THEN IF X(24)<>X(25) THEN IF X(24)<>9-X(25) THEN IF X(24)<>X(29) THEN IF X(24)<>X(44) THEN 284
GOTO 966
284 FOR I=4 TO 19 STEP 5
IF X(24)=X(I) THEN 966
NEXT I
A(6,4)=X(24):A(6,7)=9-X(24)

FOR I45=0 TO 9
IF I45<>4 THEN IF I45<>X(41) THEN IF I45<>9-X(41) THEN IF I45<>X(42) THEN IF I45<>9-X(42) THEN IF I45<>X(43) THEN IF I45<>9-X(43) THEN IF I45<>X(44) THEN IF I45<>9-X(44) THEN 286
GOTO 964
286 IF I45=X(5) THEN 964
IF I45=X(10) THEN 964
FOR I=20 TO 40 STEP 5
IF I45=X(I) THEN 964
NEXT I
X(45)=I45:A(10,5)=X(45):A(10,6)=9-X(45)

X(15)=9-X(45)
IF X(15)<>4 THEN IF X(15)<>X(11) THEN IF X(15)<>9-X(11) THEN IF X(15)<>X(12) THEN IF X(15)<>9-X(12) THEN IF X(15)<>X(13) THEN IF X(15)<>9-X(13) THEN IF X(15)<>X(14) THEN IF X(15)<>9-X(14) THEN 288
GOTO 964
288 IF X(15)=X(5) THEN 964
IF X(15)=X(10) THEN 964
FOR I=20 TO 40 STEP 5
IF X(15)=X(I) THEN 964
NEXT I
A(4,5)=X(15):A(4,6)=9-X(15)



GOTO 300

964 NEXT I45
966 NEXT I39
968 NEXT I38
970 NEXT I43
972 NEXT I42
974 NEXT I21
976 NEXT I19
978 NEXT I17
980 NEXT I16
982 NEXT I28
984 NEXT I30
986 NEXT I26
988 NEXT I37
990 NEXT I29
992 NEXT I25
994 NEXT I20
996 NEXT I14
998 NEXT I8
1000 NEXT I2

GOTO 2000

300 K=K+1

FOR I=1 TO 10
FOR J=1 TO 10
PRINT #1,A(I,J);
NEXT J
PRINT #1,
NEXT I
PRINT #1,

IF K=10000 THEN 2000
GOTO 964


2000 CLOSE #1
END

END FUNCTION

Автор:  Nataly-Mak [ 09 мар 2016, 23:55 ]
Заголовок сообщения:  Re: Ортогональные латинские квадраты 10-го порядка

Да, там в самом конце задаётся K - сколько квадратов генерировать.

IF K=10000 THEN 2000
GOTO 964


Сейчас задано 10000.
Я уже и 50000 генерировала.
Но для генерации различных квадратов в порции, как вы понимаете, надо изменять значения перебираемых переменных.
Если для одних и тех же будете генерировать, то квадраты у вас всё время одни и те же будут получаться.

Автор:  Avgust [ 10 мар 2016, 00:13 ]
Заголовок сообщения:  Re: Ортогональные латинские квадраты 10-го порядка

Nataly-Mak
Ой, нет! Это не мой Yabasic (достаточно сказать, что в нем отсутствует операнд GOTO). Проще, конечно, самому написать, чем разбираться и потом все равно закапываться :D1 . Тем более, что я буду генерировать 19 свободных переменных случайным образом. Мне тогда девятнадцати циклов не потребуется, а напороться на хороший результат, возможно, будет быстрее. Это по опыту прежних работ из другой области.

Автор:  Nataly-Mak [ 10 мар 2016, 00:27 ]
Заголовок сообщения:  Re: Ортогональные латинские квадраты 10-го порядка

Avgust
ну так я вам сто лет назад говорила, что Бейсики у нас разные.
Так что, не ленитесь :)
Писать всё равно самому придётся программу. Если интересно поискать.

Кстати, я выложила исполняемую программу на boinc.ru
http://forum.boinc.ru/default.aspx?g=po ... #post80696

Все желающие могут взять там программу и поиграть в генерацию ДЛК из семейства Брауна.

Автор:  Avgust [ 10 мар 2016, 00:46 ]
Заголовок сообщения:  Re: Ортогональные латинские квадраты 10-го порядка

Nataly-Mak
Прога моя будет элементарной: случайно набираю 19 параметров в пределах от 0 до 9, вставляю в ваши формулы, затем просто проверяю знаки и условия, чтобы сумма квадратов по строкам, колонкам и главным диагоналям была 285. Благодаря сумасшедшей скорости компа, решений будет очень много, а вероятность повтора мизерной. Мне не придется тщательно следить за отсутствием совпадений чисел - все это возьмут на себя проверка положительности параметров и число 285.

Страница 85 из 421 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/