1. Си / Говнокод #23405

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    int
    next_day( int mmdd )
    {
       struct tm time;
       time_t clock;
       int date;
       int secs_in_day = 60 * 60 * 24;
    
       /* convert date to mmdd if in yyyymmdd format */
       if (mmdd > 9999)
          mmdd = mmdd % 10000;
    
       /* Get today's date/time in seconds since 1970 */
       clock = time( NULL );
    
       /* Loop until we obtain a clock time corresponding to the day passed in */
       while ( 1 )
       {
          /* Get structure with filled in date/time info. for day corresponding to
           * the clock value we're currently working on & construct date from that.
           */
          localtime( &clock, &time );
          date =  (tm->tm_mon + 1) * 100 + tm->tm_mday;
          if ( date > mmdd )
          {
             /* Set clock back to previous day */
             clock -= secs_in_day;
             continue;
          }
    
          /* Set clock forward to next day */
          clock += secs_in_day;
          if ( date < mmdd )     /* Date is in future */
             continue;
    
          tm = localtime( &clock );
          date =  (tm->tm_mon + 1) * 100 + tm->tm_mday;
          return date;     /* Next date after one passed in */
       }
    }

    Функция, получает день в виде числа в формате mmdd, возвращает следующий день в текущем году в таком же формате.

    vovochka, 13 Октября 2017

    Комментарии (0)
  2. Си / Говнокод #23400

    +6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    #include<stdio.h>
    #include<stdlib.h>	
    #include<string.h>	
    	int main(void){
    	void run_func(char *map[], char *fnt  , char *km , float *x ,  float *y , int line , int row , int lift    );
    				char *long_met[3][8] = {{"mile","0.621371"  ,  "yard","1093.61" , "fut","3280.84" , "duim","39370.1" } ,
    							{ "mile" ,"1.60934" , "yard","0.0009144" ,  "fut","0.0003048" ,  "duim","0.0000254"},
     			   				{"kilometer","1"  , "meter","1000"  ,   "stmeter","100000" ,   "mmeter","1000000" } }; 
    				char *amount[3][4] = { { "gallon" , "0.264172" ,       "quarta" , "1.05669"     } , 
    						{"gallon" , " 3.78541"  ,     "quarta" , "0.946353"   },
    						{"litr" , "1"  , "mililitr" , "1000"   }};
    				char *mass[3][8] = {   {"eng.tonna","0.984207"  ,  "amer.tonna","1.10231" , "stone","157.473" , "funt","2204.62" } ,
       						{ "eng.tonna" , "1.01605" , "amer.tonna", "0.907185" ,  "stone","0.00635029" ,  "funt","0.000453592"},
    						{"tonna","1" ,         "kilogram" , "1000"  , "miligram","100000"   , "microgram","1000000"  }}; 
    				char **cp;
    				char *buf_data;
    				char *fnt_sys;
    				char *mtr_sys;
    				char *word[100];
    	while(1){
    	int bg  = 0,convert_ch = 3,y = 0, d = 0, numb = 0;
      	float mn =0  , xm = 0 ;
    	printf("%s", "enter data for converter: ");
    		fgets( (char *) word, 99 ,stdin);
    		buf_data = strtok((char *) word, " ");
    		if( ! strcmp(buf_data, "funt.sys"   )     ){
    		convert_ch = 0;	
    		}
    		else	if( ! strcmp(buf_data, "metric.sys"    )     ){
    			convert_ch = 1;	
    		}
    		for( bg = 0 ;  buf_data != NULL;  buf_data = strtok(NULL, " ")  , bg++ ) {
    			switch(bg){
    				case 1:
    					if( !strcmp("long_met" , buf_data  )  ){
    			  			 y	=   sizeof(*long_met) / sizeof(long_met[0][0]); 
    	          	      	                 d	=   sizeof(long_met) /   sizeof(long_met[0][0]); 
    			  		        cp  = &long_met[convert_ch][0]  ;
    					}
    			   		else if(!strcmp("amount" , buf_data  ) ){
    			  			 y	= sizeof(*amount) /  sizeof(amount [0][0]); 
    		            	                 d	= sizeof(amount) /  sizeof(amount[0][0]); 
    				    	        cp = &amount[convert_ch][0] ;
    					}
    				 	else if(!strcmp("mass" , buf_data  ) ){
    				  		 y	= sizeof(*mass ) /  sizeof(mass[0][0]); 
    		         		         d	= sizeof(mass ) /  sizeof(mass[0][0]); 
    				 		 cp = &mass[convert_ch][0] ; 
    					}
    					break;
    				case 2:
    				fnt_sys = buf_data;
    					break;
    				case 3:
    				mtr_sys = buf_data;
    					break;
    				case 4:
    				numb =   atoi(buf_data);
    					break;
    			}
    		}
    		if( !y || !d || !cp || convert_ch == 3 || !numb ){
    	
    			puts("error");
    		}
    		else{
    			run_func( cp,   fnt_sys ,  mtr_sys , &mn ,  &xm , y  , d , convert_ch );
    			if( !mn || !xm  ){
    		puts("error");
    				} else{
    			printf("%f\n" , !convert_ch  ?    (mn  /  xm ) * numb :  (  mn  *  xm   ) * numb         );	
    			}
    		}
    	}
    	return 0;
    	}
    	void run_func(char *map[], char *fnt  , char *km , float *x ,  float *y , int line , int row  , int lift    ){
    		int m ;
    	if(  ( lift )   ){
    			row    -= line;	
    		}
    	for(  m = 0 ; m <= line   ; m++){
    		if(!strcmp(fnt,map[m])){
    			*x = atof(map[m  + 1] )  ;
    			break;
    			}
    		}
    	for( m =   (row  - line) ; m <=  row - 1  ; m++){
    		if( !strcmp( km   ,  map[m] ) ){
    			*y = atof(map[m  + 1 ] );
    			break;
    				}
    			}
    		}

    gne4do, 11 Октября 2017

    Комментарии (0)
  3. Си / Говнокод #23396

    +9

    1. 1
    gist.github.com/superhackkiller1997/c479a4216b3ab15171db

    d_fomenok, 09 Октября 2017

    Комментарии (35)
  4. Си / Говнокод #23371

    0

    1. 1
    2. 2
    if((ArrCharDead[i].keyindex == index) && (ArrCharDead[i].numdead == ActiveDead)) 
    goto vpizdu;

    Windows (C)

    d_fomenok, 28 Сентября 2017

    Комментарии (0)
  5. Си / Говнокод #23367

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    #include <stdio.h>
    #include "iwlib.h"
    
    int set_essid(int	skfd, char ifname[], char arg[], int count);
    
    int main(int argc, char *argv[])
    {
      int skfd;
      if((skfd = iw_sockets_open()) < 0)
      {
        perror("socket");
        exit(-1);
      }
      
      if(argc != 3) {
        printf("Использование: %s [интерфейс] [essid]\n", argv[0]);
        goto quit;
      }
      
      if( set_essid(skfd, argv[2], argv[3], 0) == 0 ) {
        printf("Успешно установлено\n");
      }
      else {
        printf("Произошла ошибка\n");
        perror("iw_set_ext");
      }
      
      quit:
      iw_sockets_close(skfd);
      return 0;
    }
    
    int set_essid(int	skfd, char ifname[], char arg[], int count)
    {
      struct iwreq wrq;
      char essid[IW_ESSID_MAX_SIZE + 1];
      int we_kernel_version;
      
      
      wrq.u.essid.flags = 1;
      strcpy(essid, arg); //копируем ессайди
      
      we_kernel_version = iw_get_kernel_we_version();
      
      wrq.u.essid.pointer = (caddr_t) essid;
      wrq.u.essid.length = strlen(essid);
      if(we_kernel_version < 21)
        wrq.u.essid.length++;
    
      if(iw_set_ext(skfd, ifname, SIOCSIWESSID, &wrq) < 0)
        return(-1);
      
      return 0;
    }

    Хотел написать ахуенчик но нихуя не вышло

    GOVNOCODER-SYKA, 28 Сентября 2017

    Комментарии (0)
  6. Си / Говнокод #23350

    +4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    #include<stdio.h>
    #include<math.h>
    
    int const n = 50, n1 = 40, m = n / n1;
    double f1(double t, double x, double y, double z);
    double f2(double t, double x, double y, double z);
    double f3(double t, double x, double y, double z);
    
    int main() {
    	int i, k, ll;
    	double k11, k12, k13, k21, k22, k23, k31, k32, k33, k14, k24, k34;
    	double x, y, z, max;
    	double res[12][n1 + 1], h, a, b, t, pi, xn, yn, zn;
    	max = 1000.0; x = 3.0;
    	y = -2.0; z = -3.0;
    	a = 0.0; b = 1.0;
    	h = (b - a) / double(n);
    
    	k = 0; t = a;
    	res[0][0] = t; res[1][0] = x;
    	res[2][0] = y;
    	res[3][0] = z;
    	for (i = 1; i <= n; i++) {
    		k11 = f1(t, x, y, z);
    		k21 = f2(t, x, y, z);
    		k31 = f3(t, x, y, z);
    		k12 = f1(t + h / 2.0, x + h*k11 / 2.0, y + h*k21 / 2.0, z + h*k31 / 2.0);
    		k22 = f2(t + h / 2.0, x + h*k11 / 2.0, y + h*k21 / 2.0, z + h*k31 / 2.0);
    		k32 = f3(t + h / 2.0, x + h*k11 / 2.0, y + h*k21 / 2.0, z + h*k31 / 2.0);
    		k13 = f1(t + h / 2.0, x + h*k12 / 2.0, y + h*k22 / 2.0, z + h*k32 / 2.0);
    		k23 = f2(t + h / 2.0, x + h*k12 / 2.0, y + h*k22 / 2.0, z + h*k32 / 2.0);
    		k33 = f3(t + h / 2.0, x + h*k12 / 2.0, y + h*k22 / 2.0, z + h*k32 / 2.0);
    		k14 = f1(t + h, x + h*k13, y + h*k23, z + h*k33);
    		k24 = f2(t + h, x + h*k13, y + h*k23, z + h*k33);
    		k34 = f3(t + h, x + h*k13, y + h*k23, z + h*k33);
    		x = x + h*(k11 + 2.0*(k12 + k13) + k14) / 6.0;
    		y = y + h*(k21 + 2.0*(k22 + k23) + k24) / 6.0;
    		z = z + h*(k31 + 2.0*(k32 + k33) + k34) / 6.0;
    		t = t + h;
    		if (i%m == 0) {
    			k = k + 1;
    			res[0][k] = t;
    			res[1][k] = x;
    			res[2][k] = y;
    			res[3][k] = z;
    			res[4][k] = exp(t) + exp(2.0*t) + exp(-t);
    			res[5][k] = exp(t) - 3.0*exp(-t);
    			res[6][k] = exp(t) + exp(2.0*t) - 5.0*exp(-t);
    			res[7][k] = res[4][k] - res[1][k];
    			res[8][k] = res[5][k] - res[2][k];
    			res[9][k] = res[6][k] - res[3][k];
    		} if (res[7][k] < 0.0) {
    			res[7][k] = -res[7][k];
    		}
    		else if (res[8][k] < 0.0) {
    			res[8][k] = -res[8][k];
    		}
    		else if (res[9][k] < 0.0) {
    			res[9][k] = -res[9][k];
    		}
    		res[10][k] = res[7][k] + res[8][k] + res[9][k];
    	}
    
    	ll = k;
    	printf("k=%d\n", ll);
    	for (i = 0; i <= ll; i++) {
    		if (res[10][i] < max) max = res[10][i];
    	} for (i = 0; i <= n1; i++) {
    		printf("t=%.16lf\n", res[0][i]);
    		printf("x=%.16lf x(exact)=%.16lf delta=%.16lf\n", res[1][k], res[4][k], res[1][k] - res[4][k]);
    		printf("y=%.16lf y(exact)=%.16lf delta=%.16lf \n", res[2][k], res[5][k], res[2][k] - res[5][k]);
    		printf("z=%.16lf z(exact)=%.16lf delta=%.16lf \n", res[3][k], res[6][k], res[3][k] - res[6][k]);
    	}
    	printf("result:\n");
    	printf("t=%.16lf\n", res[0][n1]);
    	printf("x=%.16lf x(exact)=%.16lf delta=%.16lf\n", res[1][n1], res[4][n1], res[1][n1] - res[4][n1]);
    	printf("y=%.16lf y(exact)=%.16lf delta=%.16lf \n", res[2][n1], res[5][n1], res[2][n1] - res[5][n1]);
    	printf("z=%.16lf z(exact)=%.16lf delta=%.16lf \n", res[3][n1], res[6][n1], res[3][n1] - res[6][n1]);
    	printf("max norma|x|1=%.16lf \n", max / 3.0);
    
    	system("pause");
    
    	return 0;
    }
    
    double f1(double t, double x, double y, double z)
    {
    	return x + z - y;
    }
    
    double f2(double t, double x, double y, double z)
    {
    	return x + y - z;
    }
    
    double f3(double t, double x, double y, double z)
    {
    	return 2.0*x - y;
    }

    Кандидат физико-математических наук сделал методичку по предмету "Моделирование систем". Это он так описал алгоритм решения системы ОДУ методом Рунге-Кутты.

    mazazadah, 22 Сентября 2017

    Комментарии (58)
  7. Си / Говнокод #23348

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    // https://github.com/vk-com/kphp-kdb/blob/ce6dead5b3345f4b38487cc9e45d55ced3dd7139/bayes/bayes-data.c#L569
      for (i = j = 0; v[i]; i++) {
        f[j] = i;
        if (v[i + 1] == '#' && (v[i] == '&' || v[i] == '$')) {
          int r = 0, ti = i;
          if (v[i + 2] != 'x') {
            for (i += 2; v[i] != ';' && v[i]; i++) {
              if ('0' <= v[i] && v[i] <= '9') {
                r = r * 10 + v[i] - '0';
              } else {
                break;
              }
            }
          } else {
            for (i += 3; v[i] != ';' && v[i]; i++) {
              if (('0' <= v[i] && v[i] <= '9') ||
                  ('a' <= v[i] && v[i] <= 'f') ||
                  ('A' <= v[i] && v[i] <= 'F')) {
                r = r * 16;
                if (v[i] <= '9') {
                  r += v[i] - '0';
                } else if (v[i] <= 'F') {
                  r += v[i] - 'A' + 10;
                } else {
                  r += v[i] - 'a' + 10;
                }
              } else {
                break;
              }
            }
          }
          if (r == 0) {
            bad[j] = 0;
            pv[j++] = v[i = ti];
          } else {
            bad[j] = 1;
            pv[j++] = r;
            if (v[i] != ';') {
              i--;
            }
          }
        } else if (v[i] == '%' && '0' <= v[i + 1] && v[i + 1] <= '7' &&
                                (('0' <= v[i + 2] && v[i + 2] <= '9') ||
                                 ('a' <= v[i + 2] && v[i + 2] <= 'f') ||
                                 ('A' <= v[i + 2] && v[i + 2] <= 'F'))) {
          int r = (v[i + 1] - '0') * 16;
          if (v[i + 2] <= '9') {
            r += v[i + 2] - '0';
          } else if (v[i + 2] <= 'F') {
            r += v[i + 2] - 'A' + 10;
          } else {
            r += v[i + 2] - 'a' + 10;
          }
          i += 2;
          if (r != ':' && r != '/' && r != '=' && r != '?' && r != '&' && r != '+') {
            bad[j] = 1;
          } else {
            bad[j] = 0;
          }
          pv[j++] = r;
        } else {
          bad[j] = 0;
          pv[j++] = v[i];
        }
      }
      f[j] = i;
      pv[j] = 0;
    
      for (i = 0; i < j; i++) {
        if ('A' <= pv[i] && pv[i] <= 'Z') {
          pv[i] = pv[i] - 'A' + 'a';
          bad[i] += 2;
        }
      }

    Очередной ебаный пиздец из kPHP
    В предыдущих сериях:
    http://govnokod.ru/19842
    http://govnokod.ru/15406

    j123123, 22 Сентября 2017

    Комментарии (20)
  8. Си / Говнокод #23327

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    #include <stdio.h>
    
    int main(int argc, char *argv[])
    {
      FILE *f = fopen(argv[1], "r");
      if(f == NULL)
      {
        perror("open");
        return 1;
      }
      char str[8];
      while( fgets(str, 9, f) != NULL)
      {
        if(str[0] == '\n') continue;
        printf("%s", str);
      }
      fclose(f);
      
      return 0;
    }

    вот так на си тяжко работать со строками

    MasterGovnokodinga, 03 Сентября 2017

    Комментарии (6)
  9. Си / Говнокод #23325

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    #include <stdio.h>
    #include <stdlib.h>
    
    char *pins[1][1777];
    
    int load(char *name)
    {
    	FILE *f;
    	f = fopen(name, "r");
    	if(f == NULL) return -1;
    	char str[8];
    	char *tmp;
    	int i=0;
    	while( fgets(str, 9, f) != NULL)
    	{
    		if(str[0] == '\n') continue;
    		tmp = str;
    		pins[0][i] = tmp;
    		i++;
    	}
    	return 0;
    }
    
    int main(int argc, char *argv[])
    {
    	if(argc != 3) { printf("Usage: %s [file] [mac]\n", argv[0]); return 1; }
    	if(load(argv[1]) == -1) {
    		printf("Error load file\n"); return 1;
    	}
    	
    	char cmd[100];
    	for(int i=0; i<1777; i++)
    	{
    		sprintf(cmd, "wpa_cli wps_reg %s %s", argv[2], pins[0][i]);
    		printf("%s\n", cmd);
    	}
    	
    	return 0;
    }

    Эта программа хачит вайфай по впс и пиздец какая легкая
    Но я ебал её за то что она не тормозит когда пин подошел!

    MasterGovnokodinga, 03 Сентября 2017

    Комментарии (0)
  10. Си / Говнокод #23321

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    #include <stdio.h>
    #define A(t,o,w,v) t=(t&~(((1<<w)-1)<<o))|(((t&(((1<<w)-1)<<o))>>o)+(v)<<o)
    int main()
    {
        unsigned long long c = 1451412270569574000, r = 0;
        for (int i = 0; i < 32; i++) {
            int o = (c >>(62-i*2))&3,b=o&1?o&2?putchar('a'+(r&63)),r|=64:(r=((r&63)<<7)|((r &63)<<13)):o&2?r&0x7e000?A(r,13,6,-1),i-=((c>>(60-i*2))&3)+2:(r+=(r&0x1f80)>>7,i++):(A(r,0,6,((c>>(60-i*2))&3)+1-!!(r&64)*(r&63)),r&=~64,i++);
        }
        return 0;
    }

    Мне вчера было нехуй делать
    https://ideone.com/x0EHUj

    cykablyad, 02 Сентября 2017

    Комментарии (12)