Диссертация (Индексы влияния, зависящие от предпочтений участников - аксиоматическое построение и методы вычисления), страница 20

PDF-файл Диссертация (Индексы влияния, зависящие от предпочтений участников - аксиоматическое построение и методы вычисления), страница 20 Физико-математические науки (41897): Диссертация - Аспирантура и докторантураДиссертация (Индексы влияния, зависящие от предпочтений участников - аксиоматическое построение и методы вычисления) - PDF, страница 20 (41897) - Студ2019-05-20СтудИзба

Описание файла

Файл "Диссертация" внутри архива находится в папке "Индексы влияния, зависящие от предпочтений участников - аксиоматическое построение и методы вычисления". PDF-файл из архива "Индексы влияния, зависящие от предпочтений участников - аксиоматическое построение и методы вычисления", который расположен в категории "". Всё это находится в предмете "физико-математические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве НИУ ВШЭ. Не смотря на прямую связь этого архива с НИУ ВШЭ, его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата физико-математических наук.

Просмотр PDF-файла онлайн

Текст 20 страницы из PDF

‚ 644. 59 p.146[69] Leech D. Computing Power Indices for Large Voting Games // ManagementScience. 2003. ‚ 49(6). P. 831|837.[70] Lehrer E. An Axiomatizaton of the Banzhaf Value // Inttrnational Journal ofGame Theory. 1988. ‚ 17(2). P. 88|99.[71] Lindner I., Machover M. L.S.

Penrose's limit theorem: Proof of some specialcases // Mathematical Social Sciences. 2004. ‚ 47. P. 37|49.[72] Mann I., Shapley L. S. Values of Large Games IV: Evaluating the ElectoralCollege by Montecarlo Techniques // Rand Corporation memo RM-2651, 1960,The Rand Corporation, Santa Monica, CA.[73] Mann I., Shapley L. S.

Values of Large Games VI: Evaluating the ElectoralCollege Exactly // Rand Corporation memo RM-3158, 1962, The Rand Corporation, Santa Monica, CA.[74] Matsui Y., Matsui N. NP-completeness for calculating power indices of weightedmajority games // Theoretical Computer Science. 2001. ‚ 263. P. 305|310.[75] Myerson R.B.

Graphs and Cooperation in Games // Mathematics of OperationsResearch. 1977. V. 2. ‚ 3. P. 225|229. Published by:[76] Napel S., Widgren M. The Possibility of Preference Based Power Index //Journal of Theoretical Politics. 2005. ‚ 17. P. 377|387.[77] Von Neuman J., Morgenstern O. Theory of Games and Economic Behavior.Prineston university press, 1944. 650 p.[78] Nowak A.S.

An Axiomatizaton of the Banzhaf Value without the Additivityaxiom // International Journal of Game Theory. 1997. ‚ 26(1). P. 137|141.147[79] Owen G. Multilinear extensions of games. Management Science. 1972. ‚ 18 (5,Part 2). P. 64|79.[80] Owen G. Multilinear extensions and the Banzhaf value // Naval Reearch Logistic Quart.

1975. ‚ 22. P. 741|750.[81] Owen G. Game theory, 2nd ed. Academic Press, New York, 1982.[82] Owen G., Shapley L.S. Optimal location of candidates in ideological space //International Journal of Game Theory. 1989, ‚ 1. P. 125|142.[83] Penrose L.S. Elementary statistics of majority voting // Journal of the RoyalStatictics Society. 1946. ‚ 109. P. 53|57.[84] Rae D.W. Decision rules and individual values in constitutional choice // TheAmerican Political Science Review. 1969.

‚ 63. P. 40|56.[85] Riker W.H. The rst power index // Social Choice and Welfare. 1986. ‚ 3(4).P. 293|295.[86] Shapley L.S. A Value for n-person Games. In: Annals of Mathematical Studies.‚ 28. P. 307|317. Princeton University Press, 1953.[87] Shapley L.S. Political Science: Voting and Barganing games. In "Notes of Lectures in Mathematics in the Behavioral Sciences". Williamstorm, MA. Mathematical Association of America. 1973.

P. 37|92.[88] Shapley L.S., Shubik M. A method for Evaluating the Distribution of Power ina Committee System // American Political Science Review. 1954. ‚ 48(3). P.787|792.[89] Steunenberg B., Schmidtchen D., Coboldt C., Strategic Power in the EuropeanUnion // Journal of Theoretical Politics. 1999. ‚ 11.

P. 339|366.148[90] Stran P. Homogeneity, independence, and power indices // Public Choice.1977. ‚ 30. P. 107|118.[91] Taylor A.D., Zwicker W.S. A characterization of weighted voting // Proceedingsof the American Mathematical Society. 1992. ‚ 115. P. 1089|1094.[92] Taylor A.D., Zwicker W.S.

Simple Games. Princeton University Press, 1999.[93] Weber R.J. Probabilistic values for games // A. E. Roth, Ed. The ShapleyValue: Essays in Honor of Lloyd S. Shapley. 1988. Cambridge University Press,p. 101|119.[94] Widgren M. A note on Matthias Sutter // Journal of Theoretical Politics. 2000.‚ 12(4). P. 451|454.[95] Yakuba V. Evaluation of Banzhaf index with restrictions on coalitions formation// Mathematical and Computer Modelling. 2008.

‚ 48(9|10). P. 1602|1610.[96] Yakuba V. Power Distribution in the European Council of Ministers in EU25// ôÒÕÄÙ 4-Ê íÏÓËÏ×ÓËÏÊ ÍÅÖÄÕÎÁÒÏÄÎÏÊ ËÏÎÆÅÒÅÎÃÉÉ ÐÏ ÉÓÓÌÅÄÏ×ÁÎÉÀÏÐÅÒÁÃÉÊ, (ORM2004). í:. ÷íë íçõ. 2004. ó. 238|239.[97] Young H. P. Monotonic solutions of cooperative games // International Journalof Game Theory. 1985. ‚ 14. P. 65|72.149ðÒÉÌÏÖÅÎÉÑðÒÉÌÏÖÅÎÉÅ 1: ÐÒÏÇÒÁÍÍÁ, ×ÙÞÉÓÌÑÀÝÁÑ ÉÎÄÅËÓÙ ×ÌÉÑÎÉÑ, ÚÁ×ÉÓÑÝÉÅ ÏÔ ÐÒÅÄÐÏÞÔÅÎÉÊ ÕÞÁÓÔÎÉËÏ×æÁÊÌ index.c#include <stdio.h>#include <conio.h>#include <stdlib.h>#include <alloc.h>#include <math.h>const max=200;/*íÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÉÇÒÏËÏ× */main(int argc,char **argv){FILE *f,*g,*h;char c;int j,k,kk,l,par,efpar,*place;long i, *vote, sum, psum, m, ml, mf, *vmax, *vmin, pmax, pmin;float **pr, *b, **prob, **coal, tmp, beta;150if(argc<4) exit(1);f = fopen(argv[1],"rb");h = fopen(argv[2],"rb");g = fopen(argv[3],"wb");vote=(long*)malloc(sizeof(long)*max);par=0; sum=0;/* þÔÅÎÉÅ ÐÒÁ×ÉÌ ÉÇÒÙ ÉÚ ÆÁÊÌÁ */while(!feof(f)){if(fscanf(f,"%d",&k)>0){vote[par]=k;if (par>0) sum=sum+k;par++;if (par>max) {printf("Too many players!"); exit(1);}}}par--;if(vote[0]<1) {printf("Too small quote!"); exit(1);}if(vote[0]>sum) {printf("Too large quote!"); exit(1);}if(sum==0){printf("No players"); exit(1);}/* þÔÅÎÉÅ ÐÒÅÄÐÏÞÔÅÎÉÊ ÉÚ ÆÁÊÌÁ */pr=(float**)malloc(sizeof(float*)*(par+1));if(pr==0){printf("Not enough memory"); exit(1);}for(j=0;j<=par;j++){pr[j]=(float*)malloc(sizeof(float)*(par+1));if(pr[j]==0){printf("Not enough memory - pr[%d]",j); exit(1);}}151b=(float*)malloc(sizeof(float)*(par+1));if(b==0){printf("Not enough memory"); exit(1);}j=k=1;while(!feof(h)){if(fscanf(h,"%lf",&tmp)==1){if(k>par) {printf("Too many elements in preference matrix!");exit(1);}pr[j][k]=tmp;j++;if(j>par){j=1; k++;}}c=';'; while(c==';') c=fgetc(h);}if(k!=(par+1)) {printf("Not enough alements in preference matrix!");exit(1);}fclose(h);/* óÏÒÔÉÒÏ×ËÁ ÉÇÒÏËÏ× ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ (ÐÕÚÙÒØËÏÍ ÄÌÑ ÐÒÏÓÔÏÔÙ ÏÎÁ ÎÅ ÏÐÒÅÄÅÌÑÅÔ ÓÌÏÖÎÏÓÔØ ×ÙÞÉÓÌÅÎÉÊ).÷ ÑÞÅÊËÅ place[i] ÈÒÁÎÉÔÓÑ ÎÏÍÅÒ i-ÇÏ ÉÇÒÏËÁ.*/place=(int*)malloc(sizeof(int)*(par+1));for(j=1;j<=par;j++) place[j]=j;for(l=1;l<par;l++){k=l;for(j=l+1;j<=par;j++) if(vote[j]<vote[k]) k=j;m=vote[l]; vote[l]=vote[k]; vote[k]=m;for(j=1;j<=par;j++){tmp=pr[l][j]; pr[l][j]=pr[k][j]; pr[k][j]=tmp;}152for(j=1;j<=par;j++){tmp=pr[j][l]; pr[j][l]=pr[j][k]; pr[j][k]=tmp;}m=place[l]; place[l]=place[k]; place[k]=m;}/* úÁx×ÁÔ ÐÁÍÑÔÉ */vmax=(long*)malloc(sizeof(long)*par);vmin=(long*)malloc(sizeof(long)*par);vmax[0]=vmin[0]=0;efpar=par-1;for(j=1;j<par;j++){vmax[j]=vmax[j-1]+vote[par+1-j];if (vmax[j]>=vote[0]) vmax[j]=vote[0]-1;vmin[j]=vmin[j-1]+vote[j];if (vmin[j]>=vote[0]) {vmin[j]=vote[0]-1; efpar=j-1;}}/* vmax[i] - ÓÕÍÍÁ ÇÏÌÏÓÏ× i ÓÉÌØÎÅÊÛÉÈ ÉÇÒÏËÏ×, vmin[i] - ÓÌÁÂÅÊÛÉÈ,ÅÓÌÉ ÜÔÏ ÍÅÎØÛÅ Ë×ÏÔÙ.

÷ ÐÒÏÔÉ×ÎÏÍ ÓÌÕÞÁÅ ÜÔÏ ÞÉÓÌÏ ÒÁ×ÎÏ Ë×ÏÔÅ.efpar - ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÐÁÒÔÉÊ, ÄÌÑ ËÏÔÏÒÙÈ ÓÕÍÍÁ ÇÏÌÏÓÏ× ÍÏÖÅÔ ÂÙÔØÍÅÎØÛÅ Ë×ÏÔÙ. ãÅÌØ - ÎÅ ÚÁÈ×ÁÔÙ×ÁÔØ ÐÁÍÑÔØ ÐÏÄ ËÏÁÌÉÃÉÉ, ÇÄÅ ÉÇÒÏË ÚÁ×ÅÄÏÍÏÎÅ ÍÏÖÅÔ ÂÙÔØ ËÌÀÞÅ×ÙÍ.*/coal=(float**)malloc(sizeof(float*)*efpar);if(coal==0){printf("Not enough memory"); exit(1);}prob=(float**)malloc(sizeof(float*)*efpar);if(prob==0){printf("Not enough memory"); exit(1);}for(j=0;j<=efpar;j++){i=vmax[j]-vmin[j]+1;coal[j]=(float*)malloc(sizeof(float)*i);if(coal[j]==0){printf("Not enough memory - coal[%d]",j); exit(1);}153prob[j]=(float*)malloc(sizeof(float)*i);if(prob[j]==0){printf("Not enough memory - prob[%d]",j); exit(1);}}/* ÷ÙÞÉÓÌÅÎÉÑ. úÎÁÞÅÎÉÑ ÔÅÈ ÑÞÅÅË ÐÁÍÑÔÉ, ËÏÔÏÒÙÅ ÚÁ×ÅÄÏÍÏ ÎÅÐÏÎÁÄÏÂÑÔÓÑ ÐÒÉ ×ÙÞÉÓÌÅÎÉÉ ×ÌÉÑÎÉÑ, ÎÅ ÐÅÒÅÓÞÉÔÙ×ÁÀÔÓÑ.

*/for(l=1;l<=par;l++){printf("%d player...",l);for(j=1;j<=efpar;j++){for(i=0;i<=(vmax[j]-vmin[j]);i++){prob[j][i]=0; coal[j][i]=0;}}coal[0][0]=1; prob[0][0]=0;m=vote[l];for(i=l;i<par;i++) vote[i]=vote[i+1];vote[par]=m;/* äÌÑ ÕÄÏÂÓÔ×Á ×ÙÞÉÓÌÅÎÉÊ ×ÙËÉÄÙ×ÁÅÔÓÑ l-Ê ÉÇÒÏË - ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÅÍÕÍÎÏÖÉÔÅÌØ ÎÅ ×ÈÏÄÉÔ × ÐÒÏÉÚ×ÏÄÑÝÕÀ ÆÕÎËÃÉÀ */psum=0; /* óÕÍÍÁ ÇÏÌÏÓÏ× ÐÅÒ×ÙÈ k ÉÇÒÏËÏ×, ËÒÏÍÅ l-ÇÏ */for(k=1;k<par;k++){printf("%d...",k);kk=k; if(k>=l) kk++;if(k<=efpar) psum=psum+vote[k];pmin=pmax=psum;for(j=k;j>0;j--){if(j<=efpar){for(i=min(pmax,vote[0]-1);i>=pmin;i--){ml=i-vote[k]-vmin[j-1];154mf=i-vmin[j];if(ml>=0){coal[j][mf]=coal[j][mf]+coal[j-1][ml];if(prob[j-1][ml]!=0)prob[j][mf]=prob[j][mf]+prob[j-1][ml]+pr[l][kk]*coal[j-1][ml];if((i==vote[k])&&(j==1))prob[j][mf]=prob[j][mf]+pr[l][kk];}}}pmin=pmin-vote[j];pmax=pmax-vote[k-j+1];}}/* ÷ÏÓÓÔÁÎÏ×ÌÅÎÉÅ vote[l] (ÏÂÒÁÔÎÁÑ ÓÏÒÔÉÒÏ×ËÁ).*/m=vote[par];for(j=par;j>l;j--) vote[j]=vote[j-1];vote[l]=m;b[l]=0;m=max(vote[0]-vote[l],0);for(j=1;j<=efpar;j++){ml=max(m-vmin[j],0);mf=min(vote[0]-1-vmin[j],vmax[j]-vmin[j]);for(i=ml;i<=mf;i++) b[l]=b[l]+prob[j][i]/j;}printf("finish\n");155}/* ðÅÞÁÔØ ÒÅÚÕÌØÔÁÔÏ× É ÏÓ×ÏÂÏÖÄÅÎÉÅ ÐÁÍÑÔÉ */b[0]=0;for(j=1;j<=par;j++) b[0]=b[0]+b[j];for(j=1;j<=par;j++){k=1;while(place[k]!=j) k++;beta=b[k]/(b[0]);fprintf(g,"%.8f\n",beta);}fclose(g);free(b);free(vote);for(j=0;j<=efpar;j++) free(coal[j]);free(coal);for(j=0;j<=efpar;j++) free(prob[j]);free(prob);for(j=0;j<=par;j++) free(pr[j]);free(pr);free(place);free(vmax);free(vmin);return;}156ðÒÉÌÏÖÅÎÉÅ 2: ÐÒÏÇÒÁÍÍÁ, ×ÙÞÉÓÌÑÀÝÁÑ ÉÎÄÅËÓ×ÌÉÑÎÉÑ âÁÎÃÁÆÁæÁÊÌ banzhaf.c#include <stdio.h>#include <stdlib.h>#include <alloc.h>const max=100;main(int argc,char **argv){FILE *f,*g;int j, par, maxvote;long i, *vote, k, sum, psum;double beta, *coal, *b, *c_i;if(argc<3) exit(1);f = fopen(argv[1],"rb");g = fopen(argv[2],"wb");vote=(long*)malloc(sizeof(long)*max);par=0; sum=0;while(!feof(f)){if(fscanf(f,"%d",&k)>0){if (k<0){printf("Strange quote or number of votes: %d!",k); exit(1);}vote[par]=k;if (par>0) sum=sum+k;par++;if (par>max) {printf("Too many players!"); exit(1);}157}}par--;if(sum==0){printf("No players"); exit(1);}coal=(double*)malloc(sizeof(double)*(sum+1));c_i=(double*)malloc(sizeof(double)*(sum+1));b=(double*)malloc(sizeof(double)*(par+1));for(i=1;i<=sum;i++) coal[i]=0;coal[0]=1;maxvote=0;for(j=1;j<=par;j++) if (vote[i]>maxvote) maxvote=vote[i];psum=0;for(j=1;j<=par;j++){psum=psum+vote[j];/*k=min(psum,vote[0]+maxvote);*/for(i=psum;i>=vote[j];i--) coal[i]=coal[i]+coal[i-vote[j]];}for(j=1;j<=par;j++){/* äÅÌÅÎÉÅ ÎÁ 1+x^{vote[j]} */k=max(vote[j],vote[0]);for(i=sum;i>(sum-vote[j]);i--) c_i[i]=0;for(i=sum;i>=k;i--){c_i[i-vote[j]]=coal[i]-c_i[i];}/* þÉÓÌÏ ËÌÀÞÅ×ÙÈ ËÏÁÌÉÃÉÊ */b[j]=0;158k=max(vote[0]-vote[j],0);for(i=k;i<vote[0];i++) b[j]=b[j]+c_i[i];}b[0]=0;for(j=1;j<=par;j++) b[0]=b[0]+b[j];printf("OK");for(j=1;j<=par;j++){beta=b[j]/(b[0]+0.0);fprintf(g,"%.8f\n",beta);}fclose(g);free(b);free(vote);free(coal);free(c_i);return;}ðÒÉÌÏÖÅÎÉÅ 3: ÐÒÏÇÒÁÍÍÁ, ÏÃÅÎÉ×ÁÀÝÁÑ ÎÅÏÂÈÏÄÉÍÙÊ ÄÌÑ ×ÙÞÉÓÌÅÎÉÑ ÉÎÄÅËÓÏ× ×ÌÉÑÎÉÑ ÏÂßÅÍ ÐÁÍÑÔÉæÁÊÌ mem_size.c#include <stdio.h>#include <conio.h>159#include <stdlib.h>#include <alloc.h>#include <math.h>const max=200;main(int argc,char **argv){FILE *f,*g;char c;int j,k,l,par,efpar;long m, *vote, sum, *vmax, *vmin;double mem;if(argc<2) exit(1);f = fopen(argv[1],"rb");vote=(long*)malloc(sizeof(long)*max);par=0; sum=0;while(!feof(f)){if(fscanf(f,"%D",&m)>0){vote[par]=m;if (par>0) sum=sum+m;par++;if (par>max) {printf("Too many players!"); exit(1);}}c=';'; while(c==';') c=fgetc(f);}par--;if(vote[0]<1) {printf("Too small quote!"); exit(1);}if(vote[0]>sum) {printf("Too large quote!"); exit(1);}160if(sum==0){printf("No players"); exit(1);}mem=1+(par+7)*sizeof(int)+(3*par+8)*sizeof(long)+((par+1)*(par+2)+3)*sizeof(flfor(l=1;l<par;l++){k=l;for(j=l+1;j<=par;j++) if(vote[j]<vote[k]) k=j;m=vote[l]; vote[l]=vote[k]; vote[k]=m;}vmax=(long*)malloc(sizeof(long)*par);vmin=(long*)malloc(sizeof(long)*par);vmax[0]=vmin[0]=0;efpar=par;for(j=1;j<par;j++){vmax[j]=vmax[j-1]+vote[par+1-j];if (vmax[j]>=vote[0]) vmax[j]=vote[0]-1;vmin[j]=vmin[j-1]+vote[j];if (vmin[j]>=vote[0]) {vmin[j]=vote[0]-1; efpar=j-1;}}for(j=0;j<=efpar;j++) mem=mem+(vmax[j]-vmin[j]+1)*(sizeof(float)+sizeof(long))printf("We need %.0f bytes of memory",mem);free(vote);free(vmax);free(vmin);return;}161.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5301
Авторов
на СтудИзбе
416
Средний доход
с одного платного файла
Обучение Подробнее