Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program zad_d;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- const
- MAXN = 30000;
- var
- a, b, pr, ans: array [0..MAXN] of integer;
- i, j, m, n, k, otv, x: integer;
- s: string;
- procedure full(x, m: integer);
- var
- i, j: integer;
- begin
- pr[0] := 1;
- pr[1] := x;
- for i := 2 to 100 do
- pr[i] := pr[i - 1] * x mod m;
- end;
- function p(s: string; x, m: integer): integer;
- var
- i, j, pre, sum: integer;
- begin
- sum := 0;
- for i := 1 to length(s) do
- begin
- pre := strtoint(s[i]) * pr[i - 1];
- sum := (sum + pre) mod m;
- end;
- p := sum;
- end;
- begin
- readln(n, x, m);
- full(x, m);
- for i := 1 to n do
- begin
- readln(s);
- inc(ans[p(s, x, m)]);
- end;
- otv := 0;
- for i := 0 to m do
- otv := otv + (ans[i] * (ans[i] - 1)) div 2;
- writeln(otv);
- readln;readln;readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement